body {
    font-size: 13px;
}
#selectClientFromNavbarContainer * {
    border-color: red !important;
    color: red !important;
}
#leftNavBar a.b-brand {
    display: block;
    margin-top: 5px;
}
/* MENU ET TOPBAR */
#leftNavBar #main-logo span.extranetName {
    font-weight: 600;
    font-size: 27px;
    line-height: 40px;
    color: black;
    vertical-align: middle;
}
#leftNavBar div.navbar-content {
    display: grid;
    /* margin-top: 10px; */
    overflow-y: auto;
}
#leftNavBar ul.pc-navbar:first-child {
    padding-top: 10px;
}
#leftNavBar #pcNavbarBottom {
    align-self: flex-end;
    border-top: 1px dashed grey;
}
    #leftNavBar .pc-hasmenu .pc-submenu {
        display: none;
    }
    #leftNavBar .pc-hasmenu.pc-trigger .pc-submenu {
        display: block;
    }
    #leftNavBar .pc-item.separator {
        margin-top: 10px;
        margin-bottom: 10px;
        border-top: 1px solid #A1FFC4;
    }

        #leftNavBar .pc-submenu .pc-link {
            padding: 10px 15px 10px 42px !important;
            font-size: 13px !important; 
        }

#topBarClientName {
    margin: 0 !important;
    padding-top: 4px;
    display: inline-block;
    word-wrap: normal;
    word-break: keep-all;
    white-space: nowrap;
    padding: 0 10px;
}

.pc-header .mentionGrEnfant {
    font-size: 12px;
    color: inherit;
    font-style: italic;
}

@media (min-width: 1089px) {
    #selectClientFromNavbarContainer {
        min-width: 300px;
    }
}
#selectClientFromNavbarContainer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
#logoutButtonTopNav {
    transition-duration: 0.3s;
}
#logoutButtonTopNav:hover,
#logoutButtonTopNav:focus {
    background-color: rgba(0,0,0, 0.10) !important;
}

/* FOURRE-TOUT */
img {
    max-width: 100%;
    height: auto;
}
.modal-content button.close {
    border: 1px solid rgba(0,0,0,0.30);
    background-color: rgba(0,0,0,0.05);
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.disabled {
    color: #8c8c8c;
}
.btn-outline-white {
    background-color: #FFF !important;
    border: 1px solid #333;
}
.btn-outline-white:hover,
.btn-outline-white:focus {
    background-color: #E8E8E8 !important;
    border: 1px solid #333;
}
.btn-light-secondary {
    background-color: #E8E8E8 !important;
}
.btn-light-secondary:hover {
    background-color: #b5b1b1 !important;
}
.btn-gold {
    background-color: #ffd700;
}
.btn-gold:hover {
    background-color: #ffd700;
}
span.btn, span.hover {
    cursor: pointer !important;
}
/* Breadcrumb : */
.breadcrumb-item + .breadcrumb-item::before {
    line-height: 2em;
}
.pc-content > .row > .breadcrumb {
    margin-left: 15px;
}
.pull-right {
    float: right;
}
.pull-left {
    float: left;
}
.hidden {
    display: none;
}
div.loader-circle {
    width: 0.75em;  
    height: 0.75em;
    border-top: .125em solid #589FFC;
    border-right: .125em solid #589FFC;
    border-bottom: .125em solid #589FFC;
    border-left: .125em solid #e4eaec;
}
.swal2-actions button {
    padding: 0.4rem 1rem !important;
}
.swal2-actions button.btn-danger,
.swal2-actions button.btn-danger.swal2-confirm.swal2-styled  {
    background-color: #ff4d4f !important;
}
.swal2-actions button.btn-danger:hover,
.swal2-actions button.btn-danger:focus,
.swal2-actions button.btn-danger.swal2-confirm.swal2-styled:hover,
.swal2-actions button.btn-danger.swal2-confirm.swal2-styled:focus {
    background-color: #cc3e3f !important;
}
.swal2-actions button.btn-warning,
.swal2-actions button.btn-warning.swal2-confirm.swal2-styled  {
    background-color: #FAAD14 !important;
}
.swal2-actions button.btn-warning:hover,
.swal2-actions button.btn-warning:focus,
.swal2-actions button.btn-warning.swal2-confirm.swal2-styled:hover,
.swal2-actions button.btn-warning.swal2-confirm.swal2-styled:focus {
    background-color: #FAAD14 !important;
}
.swal2-actions button.btn-danger.swal2-confirm.swal2-styled:focus,
.swal2-actions button.btn-warning.swal2-confirm.swal2-styled:focus {
    box-shadow: none !important;
}
.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

th.no-b-top, 
td.no-b-top {
    border-top: none !important;
}

th.no-b-bottom, 
td.no-b-bottom {
    border-bottom: none !important;
}
.card-header h5 a,
.card-header h5 span,
.card-header .header-actions a, 
.card-header .header-actions span {
    font-size: 13px;
    font-weight: 400;
}
.text-white,
.text-white > * {
    color: #FFF;
}
.text-disabled {
    color: grey;
    opacity: 0.90;
}
.js-sweetalert {
    cursor: pointer;
}
.stripedGrayLight {
    color: white;
    background: repeating-linear-gradient(
      45deg,
      #a39f9f,
      #a39f9f 10px,
      #4A4A4A 10px,
      #4A4A4A 20px
    );
}
/* Elements d'actions placés dans les card-headers : */
.card-header .form-group {
    margin-bottom: 0;
}
    .card-header .form-check-inline label,
    .card-header .form-check-inline input {
        display: inline-block;
        vertical-align: middle;
    }
    .card-header .form-check-inline label {
        line-height: 12px;
    }
@media (min-width: 1089px) {
    .card-header h5 a {
        margin-bottom: -8px;
    }
}
.bt-danger {
    border-top: 2px solid #FF4D4F;
}
.bb-danger {
    border-bottom: 2px solid #FF4D4F;
}
.bt-warning {
    border-top: 2px solid #FAAD14;
}
.bb-warning {
    border-bottom: 2px solid #FAAD14;
}
.bt-info {
    border-top: 2px solid #13C2C2;
}
.bb-info {
    border-bottom: 2px solid #13C2C2;
}
/* Valeur par défaut pour le thème :*/
.bt-theme {
    border-top: 2px solid #1890FF;
}
.bb-theme {
    border-bottom: 2px solid #1890FF;
}
.bl-theme {
    border-left: 2px solid #1890FF;
}
.br-theme {
    border-right: 2px solid #1890FF;
}
.borders-theme {
    border: 2px solid #1890FF;
}
.bg-theme {
    background-color: #1890FF;
    color: #FFF;
}
.btn-theme {
    background-color: #1890ff;
    color: #FFF;
}
.btn-theme:hover,
.btn-theme:focus {
    background-color: #FFF;
    color: #1890ff;
    border-color: #1890ff;
}
.btn-outline-theme {
    border-color: #1890ff;
    color: #1890ff;
}
.btn-outline-theme:hover,
.btn-outline-theme:focus {
    border-color: #1890ff;
    background-color: #1890ff;
    color: #FFF;
}
/* Fin Valeurs par défaut pour le thème :*/

.btn-outline-disabled {
    border-color: #a3afb7;
    color: #a3afb7;
}
.btn-outline-disabled:hover,
.btn-outline-disabled:focus {
    border-color: #a3afb7;
}
.customEllipsis {
    font-style: italic;
}
.italic {
    font-style: italic;
}
table td.breakWord {
    word-break: break-word !important;
}
table td:not(.noBWS) {
    white-space: normal !important;
}

/* Message "Traitement en cours" sur les datatables : On place le message de traitement en cours en haut de tous les tableaux, car les temps de traitement sont plus longs sur certains (y compris sur l'ordering)  */
.table-responsive {
    position: relative !important;
}
    .dataTables_wrapper .dataTables_processing {
        position: absolute;
        top: 30px !important; /* très en haut pour ne pas le rater */
        z-index: 2000;
        border: 1px solid black;
    }
    
@media (max-width: 890px) {
    .dropdown-item {
        white-space: normal !important;
    }
}
@media (max-width: 766px) {
    .list-group .list-group-item > .row > .col-md-6 {
        margin-bottom: 10px;
    }
    .list-group .list-group-item > .row > .col-md-6 ~ .col-md-6 {
        margin-bottom: 0;
    }
}

.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
    opacity: 0.75;
    color: #ccc !important;
}
.datepicker .datepicker-switch {
    border: 1px solid #333;
}
.datepicker tfoot tr > th.clear {
    border: 1px dashed #ccc;
}
.btn-xs {
    padding: 4px 6px;
    font-size: 13px;
}
.btn-xs i {
    font-size: 13px;
}
.mr-1 {
    margin-right: 1px;
}
.ml-1 {
    margin-left: 1px;
}
.mr-2 {
    margin-right: 2px;
}
.ml-2 {
    margin-left: 2px;
}
.mr-5 {
    margin-right: 5px;
}
.ml-5 {
    margin-left: 5px;
}
td.smallPaddingHoriz {
    padding-left: 3px;
    padding-right: 3px;
}
/* Eviter que le navigateur place l'infobulle de champ required sur le haut du champ select : */
form div[class^='col-']:has(.select2-hidden-accessible) {
    position: relative;
}
    form div[class^='col-'] .select2-hidden-accessible {
        bottom: 0;
    }
/* Bouton custom pour symboliser la création de ticket */
i.addPlusSymbol {
    position: relative;
}
i.addPlusSymbol:after {
    content: '+';
    position: absolute;
    right: -7px;
    top: -10px;
    z-index: 999;
    font-size: 20px;
    color: inherit;
    z-index: 999;
}
 /* FIN FOURRE-TOUT */


/**
    AUTOUR DES TABLEAUX ET DATATABLES :
**/ 
.table thead th {
    text-transform: none;
}
.dataTables_wrapper .pagination, 
.dataTables_wrapper .pagination .paginate_button > * {
    font-size: 13px !important;
}
.ti.fts-ti-cell-20 {
    font-size: 20px;
}

/*  Surcharge du style des select du thème si on ajoute form-control-sm */
.form-control-sm.form-select {
    min-height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.7rem !important;
    font-size: 13px;
}

form .help-text {
    color: #343a40;
}

/* CUSTOM SELECT2 */
.select2.select2-container {
    width: 100% !important;
}
    /* // Note : .form-select est la classe propre à mantis */
    .form-select + .select2-container .select2-selection {
        height: 40px;
    }
    .form-select + .select2-container .select2-selection .select2-selection__rendered {
        line-height: 2.573rem;
    }

    select.form-control, select.custom-select, select.dataTable-selector, select.dataTable-input {
        padding-right: 30px;
    }

.form-control + .select2-container--default .select2-selection--single {
    /* border-radius: 200px !important; */
    /* border-color: #e4eaec; */
    border-color: #ced4da;
    height: 2.573rem;
    font-weight: 300;
    border-radius: 2px;
}
    .form-control + .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 2.573rem;
    }
    .form-control.round + .select2-container--default .select2-selection--single .select2-selection__rendered {
        padding-left: 20px;
    }
    .form-control + .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 2.573rem;
    }
    .form-control.round + .select2-container--default .select2-selection--single .select2-selection__arrow {
        padding-right: 20px;
    }

.hasSmallSelect2 .select2-container--default .select2-selection--single {
    height: 32px;
}
    .hasSmallSelect2 .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 32px
    }
    .hasSmallSelect2 .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 32px;
    }

/* Donner un effet visuel de readonly / disabled sur le select2 d'un select en readonly */
select[readonly].select2-hidden-accessible + .select2-container {
    pointer-events: none;
    touch-action: none;
}
    select[readonly].select2-hidden-accessible + .select2-container .select2-selection {
        background: #eee;
        box-shadow: none;
    }
    
    select[readonly].select2-hidden-accessible + .select2-container .select2-selection__arrow,
    .select2-selection__clear {
        display: none;
    }
/* .end CUSTOM SELECT2 */



/* Récupéré de bootstrap : lié aux modals */
.modal-header .modal-title {
    -ms-flex-order: 1;
    order: 1;
    margin-top: 0;
}
.modal-header .close {
    -ms-flex-order: 2;
    order: 2;
    padding: 0;
    margin-top: 1px;
}
.close {
    float: right;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: none;
    opacity: .5;
}
.modal-header .close {
    padding: 4px 8px;
    margin: -15px -15px -15px auto;
}

/** Spinner custom **/
.customerSpinnerRoundCircle {
    transition-duration: 0.3s;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.catchSpinnerZone.smallZone {
    display: block;
}

    .catchSpinnerZone:not(.smallZone) .customerSpinnerRoundCircle {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    /* Quand appliqué sur les boutons de saisies inline : */
    .catchSpinnerZone.smallZone .customerSpinnerRoundCircle {
        width: 20px;
        height: 18px;
        overflow: hidden;
    }
    .catchSpinnerZone.smallZone .customerSpinnerRoundCircle div:first-child, 
    .catchSpinnerZone.smallZone .customerSpinnerRoundCircle div:last-child {
        display: none;
    }
    .switch-input-submit .catchSpinnerZone.smallZone .customerSpinnerRoundCircle {
        margin-top: -18px;
    }

.spinnerAbsoluteContainer {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 999;
    width: 75px;
    text-align: right;
}
    .spinnerAbsoluteContainer .customerSpinnerRoundCircle {
        margin: unset;
    }
        .spinnerAbsoluteContainer .customerSpinnerRoundCircle .spinner-grow-sm {
            --bs-spinner-width: 0.5rem;
            --bs-spinner-height: 0.5rem;
        }
        .spinnerAbsoluteContainer .customerSpinnerRoundCircle .spinner-grow {
            max-width: 31% !important;
        }

/**
    FORMULAIRES INLINE-EDITING :
**/ 
button.switch-input-submit:disabled {
    background-color: #eee;
    border-color: #ccc;
}
button.switch-input-cancel:disabled {
    background-color: #d1caca;
    border-color: #999797;
}
table td.td-has-input {
    /* padding: 2px 0 0 0; */
    padding: 2px 2px 2px 2px;
    height: 2.573rem;
}
table p.form-control {
    margin-bottom: 0;
}
.inlineEditingForm {
    /* height: 100%; */
}
.switch-input-container {
    position: relative;
    padding-right: 70px !important;
    min-height: 35px;
}
.switch-input-staticinfo {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    /* margin-top: 5px; */
}
    td.td-has-input .switch-input-staticinfo {
        /* padding: .572rem; */
        padding: 8px .572rem;
    }
.switch-input-button {
    position: absolute;
    right: 0;
    top: 2px;
    display: inline-block;
}
.switch-input-submit {
    position: absolute;
    right: 37px;
    top: 2px;
    display: inline-block;
}
.switch-input-cancel {
    position: absolute;
    right: 0;
    top: 2px;
    display: inline-block;
}
.switch-input-formgroup,
.switch-input-submit,
.switch-input-cancel {
    display: none;
}
td.td-has-input .switch-input-button,
td.td-has-input .switch-input-submit,
td.td-has-input .switch-input-cancel {
    /* top: 10px; */
}
td.td-has-input .switch-input-formgroup {
    /* padding-top: 8px; */
}
    td.td-has-input .switch-input-formgroup input.form-control, 
    td.td-has-input .switch-input-formgroup p.form-control {
        height: 35px;
    }

li .switch-input-formgroup {
    padding-right: 10px;
}
    li .switch-input-formgroup input.form-control, 
    li .switch-input-formgroup p.form-control {
        height: 35px;
    }
    li .switch-input-staticinfo {
        min-height: 25px;
    }


/**
    FORMULAIRES  :
**/ 
form label + span.obl,
table label + span.obl {
    color: #6c757d;
    font-weight: 100;
}
form label + span.non-obl,
table label + span.non-obl {
    color: #96989b;
    font-weight: 100;
    font-style: italic;
    font-size: 0.9em;
    display: block;
    margin-top: -1em;
}
form label.form-control-label + span.non-obl {
    margin-top: -2px;
}

/**
    GESTION DES TICKETS  :
**/ 
#ticketChronologie {
    font-size: 1.1em;
}

.timeline {
    position: relative;
    padding: 0;
    list-style: none;
    background: 0 0;
}
    .timeline-item {
        position: relative;
        display: block;
    }
    .timeline-item.timeline-reverse {
        float: right;
        clear: right;
    }

    .timeline-icon .timeline-dot {
        position: absolute;
        top: 7.5px; /* ICI */
        width: 40px;
        height: 40px;
        line-height: 40px;
        z-index: 11;
        color: #fff;
        text-align: center;
        cursor: pointer;
        background-color: #3e8ef7;
        border-radius: 50%;
        right: 0;
        margin-right: -20px;
    }
    .timeline-icon .timeline-reverse .timeline-dot {
        margin-left: -20px;
        right: auto;
        left: 0; /* ICI */
        margin-right: 0;
    }
        .timeline-content {
            width: 100%;
            overflow: hidden;
        }

 /* Décoration absolues en before  */
.timeline::before {
    position: absolute;
    top: 0;
    bottom: 0;
    /* left: 50%; */
    width: 2px;
    margin-left: -1px;
    content: "";
    background-color: #e4eaec;
}
.timeline-item:not(.timeline-period)::after {
    display: block;
    clear: both;
    content: "";
}
.timeline::after {
    display: block;
    clear: both;
    content: "";
}

.vaSideWidget {
    height: calc(100% - 30px); 
}
.vaSideWidget .timeline {
    margin-left: 50px;
    margin-right: 30px;
    margin-bottom: 0;
}
.vaSideWidget .timeline::before {
    left: 100%;
    top: 20px;
    width: 1px;
    height: 85%;
    margin-left: 0;
    background-color: #e5e5e5; 
}
    .vaSideWidget .timeline > li {
        width: 100%;
        text-align: right;
        padding-right: 49px;
        padding-left: 49px;
        margin-bottom: 0;
        margin-top: 0; 
    }
        .vaSideWidget .timeline > li:last-child .timeline-content-wrap {
            border-bottom: none; 
        }
        .vaSideWidget .timeline-content-wrap {
            padding-top: 15px;
            padding-bottom: 15px;
            border-bottom: 1px dashed #e5e5e5; 
        }
        .vaSideWidget .timeline-content-wrap::after {
            display: block;
            clear: both;
            content: ""; 
        }
            .vaSideWidget .timeline-icon .timeline-reverse .timeline-dot {
                top: 12px; 
                left: 100%;
            }
            .vaSideWidget .timeline-content .historiqueTitle {
                color: #263238;
                margin-right: 5px;
                font-weight: 400; 
                margin-bottom: 5px !important;
            }
            .vaSideWidget .timeline-content .metas {
                padding: 3px 0;
                color: #a3afb7; 
            }
            .vaSideWidget .timeline-content .row .message {
                float: right; 
                padding: 11px; 
                border-radius: 5px; 
                text-align: left; 
                color: #76838f; 
                background-color: #dfe9ef;
            }

.clientSideWidget {
    height: calc(100% - 30px); 
}
    .clientSideWidget .timeline {
        margin-left: 50px;
        margin-right: 30px;
        margin-bottom: 0; 
    }
    .clientSideWidget .timeline::before {
        display: none;
    }
    .clientSideWidget .timeline-reverse.timeline-item::before {
        position: absolute;
        top: 10px;
        bottom: 0;
        left: 0;
        width: 2px;
        margin-left: -1px;
        content: "";
        background-color: #e4eaec;
    }
        .clientSideWidget .timeline > li {
            width: 100%;
            padding-left: 49px;
            padding-right: 0;
            margin-bottom: 0;
            margin-top: 0; 
        }
        .clientSideWidget .timeline-content-wrap {
            padding-top: 15px;
            padding-bottom: 15px;
            border-bottom: 1px dashed #e5e5e5; 
        }
        .clientSideWidget .timeline > li:last-child .timeline-content-wrap {
            border-bottom: none; 
        }
        .clientSideWidget .timeline-content-wrap::after {
            display: block;
            clear: both;
            content: ""; 
        }
            .clientSideWidget .timeline-icon .timeline-reverse .timeline-dot {
                top: 12px; 
            }
            .clientSideWidget .timeline-content .historiqueTitle {
                color: #263238; 
            }
            .clientSideWidget .timeline-content .metas {
                padding: 3px 0;
                color: #a3afb7; 
            }
            .clientSideWidget .timeline-content .message {
                float: left; 
                padding: 10px; 
                border-radius: 5px; 
                text-align: left; 
                color: white; 
                background-color: #76838F;
            }

@media (max-width: 1089px) {
    .vaSideWidget .timeline {
        margin-left: 0;
        margin-right: 0;
    }

    .clientSideWidget > ul > li > div > div.timeline-content > div.message.col-8 {
        width: 95% !important;
    }
    .timeline::before {
        position: static;
    }
}

.vaSideLogo {
    background-color: #001B28!important;
}
.vaSideLogo>img {
    width: 20px;
    height: 24px;
}
.timeline-dot > i {
    font-size: large;
}
/* fin GESTION DES TICKETS  */

/**
    ANIMATIONS  :
**/ 
@keyframes pulse {
    0% {
        transform : scale(.9);
    }
    70% {
        transform : scale(1);
        /* box-shadow: 0 0 0 50px rgba(90, 153, 210, 0.2); */
        box-shadow: 5px 5px 25px 10px rgba(90, 153, 210, 0.4);

    }
        100% {
        transform : scale(.9);
        box-shadow: 0 0 0 0 rgba(90, 153, 210, 0.2);

    }
}

.pulseAnimateSlow {
    box-shadow: 0 0 0 0 rgba(90, 153, 210, 0.5);
    animation: pulse 4s infinite;
    position: relative;
}

/* DEV ONLY : */
/* ::after[data-turbo-preview] body {
    opacity: .2;
} */