﻿:root {
    --main-secondary-color: #1E1C43;
    --main-primary-color: #878E7E;
    /*--main-smalltext: #898e97;*/
    /*--main-text: #676a6c;*/
    /*--main-text: #424242;*/
    --main-smalltext: #000;
    --main-text: #000;
    --bg-layout: #F8F8F8;
    --error: #cc4145;
}

@font-face {
    font-family: 'nunito_sansblack';
    src: url(../fonts/nunitosans-black-webfont.woff2) format('woff2'), url(../fonts/nunitosans-black-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sansblack_italic';
    src: url(../fonts/nunitosans-blackitalic-webfont.woff2) format('woff2'), url(../fonts/nunitosans-blackitalic-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sansbold';
    src: url(../fonts/nunitosans-bold-webfont.woff2) format('woff2'), url(../fonts/nunitosans-bold-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sansbold_italic';
    src: url(../fonts/nunitosans-bolditalic-webfont.woff2) format('woff2'), url(../fonts/nunitosans-bolditalic-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sansextrabold';
    src: url(../fonts/nunitosans-extrabold-webfont.woff2) format('woff2'), url(../fonts/nunitosans-extrabold-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sansextralight';
    src: url(../fonts/nunitosans-extralight-webfont.woff2) format('woff2'), url(../fonts/nunitosans-extralight-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sansextralight_italic';
    src: url(../fonts/nunitosans-extralightitalic-webfont.woff2) format('woff2'), url(../fonts/nunitosans-extralightitalic-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sansitalic';
    src: url(../fonts/nunitosans-italic-webfont.woff2) format('woff2'), url(../fonts/nunitosans-italic-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sanslight';
    src: url(../fonts/nunitosans-light-webfont.woff2) format('woff2'), url(../fonts/nunitosans-light-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sanslight_italic';
    src: url(../fonts/nunitosans-lightitalic-webfont.woff2) format('woff2'), url(../fonts/nunitosans-lightitalic-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sansregular';
    src: url(../fonts/nunitosans-regular-webfont.woff2) format('woff2'), url(../fonts/nunitosans-regular-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sanssemibold';
    src: url(../fonts/nunitosans-semibold-webfont.woff2) format('woff2'), url(../fonts/nunitosans-semibold-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nunito_sanssemibold_italic';
    src: url(../fonts/nunitosans-semibolditalic-webfont.woff2) format('woff2'), url(../fonts/nunitosans-semibolditalic-webfont.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

body {
    background-color: #F8F8F8;
    /*background-color: var(--main-secondary-color) !important;*/
    font-family: "nunito_sanslight";
    font-size: 14px;
    color: #000 !important;
}

.form-control-plaintext {
    color: #000 !important;
}

.bg-layout {
    background-color: #F8F8F8 !important;
}

#LoadingModal .modal-content {
    background: transparent !important;
    box-shadow: none !important
}

#LoadingModal .modal-header {
    border: none !important;
}

hr {
    background-color: var(--main-text);
}

small {
    color: var(--main-smalltext) !important;
}

span {
    cursor: default;
}

.uppercase {
    text-transform: uppercase;
}

.bg-primary {
    background-color: var(--main-primary-color) !important;
}

.color-primary {
    color: var(--main-primary-color) !important;
}

/**********************NAVIGATION*******************************************/
nav,
.black-bg,
.top-navigation .navbar-brand {
    /*background: var(--main-secondary-color) !important;*/
    background: rgba(253,253,253, .95) !important;
}

.display-inline-block {
    display: inline-block;
}

hr.my-hr {
    background: var(--main-secondary-color) !important;
}

.fs-italic {
    font-style: italic !important;
}

.fs12 {
    font-size: 12px !important;
}

.fs10 {
    font-size: 10px !important;
}

.fs24 {
    font-size: 24px !important;
}

.text-underline {
    text-decoration: underline !important;
}

.menu-logo {
    position: relative;
    top: 15px;
}

.courteo-logo {
    border-radius: 10px;
}

.navbar-fixed-top .dropdown-menu {
    right: 0;
    left: auto;
}

.top-navigation .nav > li.active > a {
    /*color: var(--main-primary-color) !important;*/
    color: #424242 !important;
    background: transparent !important;
}

.top-navigation .navbar-nav .dropdown-menu > .active > a {
    background: white;
    color: var(--main-primary-color) !important;
    font-weight: bold;
}

.bold {
    font-weight: bold !important;
}

.top-navigation .navbar-right {
    margin-right: 40px;
}

.top-navigation .nav > li > a {
    padding: 16px 10px !important;
}

.minimalize-styl-2 {
    margin: 10px 5px 5px 20px !important;
}

.top-navigation .navbar .nav > li.active {
    background: transparent !important;
}

.top-navigation .nav > li a:focus {
    /*background: none !important;*/
    color: var(--main-primary-color);
    transition: 0.4s;
}

.top-navigation .nav > li > a:hover {
    background: none !important;
    color: var(--main-primary-color);
    transition: 0.4s;
}

.top-navigation .nav > li > a.active:hover {
    background: #fff !important;
}

.top-navigation .nav > li > a, .top-navigation .nav > li > div {
    color: #424242;
    font-family: "nunito_sanslight";
}

header.fixed-top {
    background: rgba(253,253,253, .95);
    box-shadow: 0px 2px 5px 0px rgb(166 166 166 / 10%);
    -webkit-box-shadow: 0px 2px 5px 0px rgb(166 166 166 / 10%);
    -moz-box-shadow: 0px 2px 5px 0px rgba(166,166,166,0.1);
}

#Breadcrumb h2 {
    font-family: "nunito_sanssemibold" !important;
}

#Breadcrumb {
    padding-left: 28px !important;
    border: none !important;
}

.nav-header {
    background-color: var(--main-secondary-color) !important;
    background-image: none !important;
}

.top-navigation .nav.nav-second-level > li > a {
    padding: 10px 5px 10px 30px !important;
}

.navbar-default.navbar-static-side {
    height: 100%;
}

.nav > li.active {
    border-left-color: var(--main-primary-color) !important;
    background: var(--main-primary-color) !important;
}

.top-navigation .nav.nav-second-level > li.active > a {
    background: var(--main-primary-color) !important;
}

/*#layoutV2 .nav > li > a:hover, #layoutV2 .nav > li a:focus {
    background: var(--main-secondary-color) !important;
    color: #E9131A !important;
}*/

#navigationV2 .nav > li > a:hover, #navigationV2 .nav > li > a:focus {
    /*background: var(--main-secondary-color) !important;*/
    color: var(--main-primary-color) !important;
    transition: all 0.4s;
}

/*#navigationV2 .nav > .menu-hour > a:hover, #navigationV2 .nav > .menu-hour > a:focus {
    background: white !important;
    color: #E9131A !important;
    font-weight:900;
    transition: all 0.4s;
}*/

.navbar {
    padding: 0;
}

.navbar-static-top {
    /*border-bottom: none !important;*/
    border-bottom: 1px solid #e0e0e0;
    background: rgba(253,253,253, .95);
    box-shadow: 0px 1px 5px 0px #e0e0e0;
    -webkit-box-shadow: 0px 1px 5px 0px #e0e0e0;
    -moz-box-shadow: 0px 1px 5px 0px #e0e0e0;
}

.navbar-nav {
    /*display: flex;
    justify-content: space-between;*/
    width: 100%;
}

    .navbar-nav li {
        border-right: 1px solid #e0e0e0 !important;
        /*min-width: calc(100% / 5);*/
    }

.top-navigation .navbar .nav > li.active {
    border-bottom: 3px solid var(--main-primary-color);
}

.border-b-1 {
    border-bottom: 1px solid #E0E0E0;
}

.link-label {
    color: var(--main-primary-color) !important;
    text-decoration: underline !important;
    font-weight: bold !important;
    font-size: 13px !important;
}

.label {
    line-height: 1.5 !important;
}

.label-small {
    padding: 4px 5px !important;
    font-size: 10px !important;
}

/*.wrapper {
    background-color: white;
}*/
#page-wrapper {
    padding: 0 !important;
}

.table-responsive {
    overflow: auto;
    width: 100%;
    position: relative;
    font-size: 12px;
    min-height: 400px;
}

.flex-center-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.flex-center-end {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}

.flex-column {
    display: flex;
    flex-direction: column;
}


.flex-center-between {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.flex-center-around {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}


.flex-center-between-now {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.flex-center-between-start {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.flex-center-start-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

/*.summernote + .note-editor > .note-editable {
    min-height: 200px;
}*/


.flex-start-start {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.flex-start-start-now {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.align-justify {
    text-align: justify
}

.waiting-gif-container {
    display: none;
}

.border-left-custom {
    border-left: 5px solid transparent;
}

.bt0 {
    border-top: none !important;
}

.overflow-h250 {
    height: 250px;
    overflow-y: auto;
}

.h-auto {
    height: auto !important;
}

.h-50 {
    height: 50px !important;
}

.bg-myblue {
    background: var(--main-secondary-color) !important;
}

.w-250 {
    width: 250px !important;
}

.w-100p {
    width: 100% !important;
}

.w-10p {
    width: 10% !important;
}

.w-95 {
    width: 95px !important;
}

.p0 {
    padding: 0 !important;
}

.p5 {
    padding: 5px !important;
}

.p10 {
    padding: 10px !important;
}

.height-auto {
    height: auto !important;
}

.font-italic {
    font-style: italic !important;
}

.align-center {
    text-align: center !important;
}

.align-left {
    text-align: left !important;
}

.align-right {
    text-align: right !important;
}

.w-auto {
    width: auto !important;
}

.display-inline {
    display: inline !important;
}

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

.mt05rem {
    margin-top: 0.5rem;
}

.display-flex-flex-end {
    display: flex !important;
    justify-content: flex-end;
}

.display-flex-space-around {
    display: flex !important;
    justify-content: space-around !important;
}

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

.display-none {
    display: none !important;
}

.display-block {
    display: block !important;
}

.pl5 {
    padding-left: 5px !important;
}

.pr5 {
    padding-right: 5px !important;
}

.position-inherit {
    position: inherit !important;
}

.visibility-hidden {
    visibility: hidden !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pl25 {
    padding-left: 25px !important;
}

.pr10 {
    padding-right: 10px !important;
}

.cursor-move {
    cursor: move !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

.pr0 {
    padding-right: 0 !important;
}

.pl0 {
    padding-left: 0 !important;
}

.clear {
    clear: both !important;
}

.mr5 {
    margin-right: 5px;
}

.ml0 {
    margin-left: 0px !important;
}

.mr0 {
    margin-right: 0px !important;
}


.ml5 {
    margin-left: 5px;
}

.mr15 {
    margin-right: 15px;
}

.mr7 {
    margin-right: 7px;
}

.ml15 {
    margin-left: 15px;
}

.ml20 {
    margin-left: 20px;
}

.ml50 {
    margin-left: 50px;
}

.mr0 {
    margin-right: 0 !important
}

.mb0 {
    margin-bottom: 0 !important
}

.mb8 {
    margin-bottom: 8px !important
}

.mb16 {
    margin-bottom: 16px !important
}

.mb24 {
    margin-bottom: 24px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.mb32 {
    margin-bottom: 32px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.mb48 {
    margin-bottom: 48px !important
}

.mb5 {
    margin-bottom: 5px !important
}

.mb56 {
    margin-bottom: 56px !important
}

.mb64 {
    margin-bottom: 64px !important
}

.mb72 {
    margin-bottom: 72px !important
}

.mb80 {
    margin-bottom: 80px !important
}

.mb88 {
    margin-bottom: 88px !important
}

.mb96 {
    margin-bottom: 96px !important
}

.mb104 {
    margin-bottom: 104px !important
}

.mb112 {
    margin-bottom: 112px !important
}

.mb120 {
    margin-bottom: 120px !important
}

.mb160 {
    margin-bottom: 160px !important
}

.mt0 {
    margin-top: 0 !important
}

.mt8 {
    margin-top: 8px !important
}

.mt16 {
    margin-top: 16px !important
}

.mt22 {
    margin-top: 22px !important
}

.mt24 {
    margin-top: 24px !important
}

.mt32 {
    margin-top: 32px !important
}

.mt40 {
    margin-top: 40px !important
}

.mt48 {
    margin-top: 48px !important
}

.mt56 {
    margin-top: 56px !important
}

.mt64 {
    margin-top: 64px !important
}

.mt72 {
    margin-top: 72px !important
}

.mt80 {
    margin-top: 80px !important
}

.mt88 {
    margin-top: 88px !important
}

.mt96 {
    margin-top: 96px !important
}

.mt104 {
    margin-top: 104px !important
}

.mt112 {
    margin-top: 112px !important
}

.mt120 {
    margin-top: 120px !important
}

.mt160 {
    margin-top: 160px !important
}

.mt260 {
    margin-top: 260px !important
}

.p32 {
    padding: 0 32px !important
}

.p24 {
    padding: 24px !important
}

.p0 {
    padding: 0 !important
}

.pt0 {
    padding-top: 0 !important
}

.pt8 {
    padding-top: 8px !important
}

.pt15 {
    padding-top: 15px !important
}

.pt16 {
    padding-top: 16px !important
}

.pt24 {
    padding-top: 24px !important
}

.pt32 {
    padding-top: 32px !important
}

.pt40 {
    padding-top: 40px !important
}

.pt48 {
    padding-top: 48px !important
}

.pt64 {
    padding-top: 64px !important
}

.pt72 {
    padding-top: 72px !important
}

.pt80 {
    padding-top: 80px !important
}

.pt88 {
    padding-top: 88px !important
}

.pt96 {
    padding-top: 96px !important
}

.pt104 {
    padding-top: 104px !important
}

.pt112 {
    padding-top: 112px !important
}

.pt120 {
    padding-top: 120px !important
}

.pt160 {
    padding-top: 160px !important
}

.pt180 {
    padding-top: 180px !important
}

.pt240 {
    padding-top: 240px !important
}

.pb0 {
    padding-bottom: 0 !important
}

.pb8 {
    padding-bottom: 8px !important
}

.pb15 {
    padding-bottom: 15px !important
}

.pb16 {
    padding-bottom: 16px !important
}

.pb24 {
    padding-bottom: 24px !important
}

.pb32 {
    padding-bottom: 32px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pb48 {
    padding-bottom: 48px !important
}

.pb56 {
    padding-bottom: 56px !important
}

.pb64 {
    padding-bottom: 64px !important
}

.pb72 {
    padding-bottom: 72px !important
}

.pb80 {
    padding-bottom: 80px !important
}

.pb88 {
    padding-bottom: 88px !important
}

.pb96 {
    padding-bottom: 96px !important
}

.pb104 {
    padding-bottom: 104px !important
}

.pb112 {
    padding-bottom: 112px !important
}

.pb120 {
    padding-bottom: 120px !important
}

.pb160 {
    padding-bottom: 160px !important
}

.pb180 {
    padding-bottom: 180px !important
}

.pb240 {
    padding-bottom: 240px !important
}

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

.pl0 {
    padding-left: 0 !important;
}

.pl15 {
    padding-left: 15px !important;
}

.pr15 {
    padding-right: 15px !important;
}

.pr0 {
    padding-right: 0 !important;
}

.w-45p {
    width: 45% !important;
}

.w-40p {
    width: 40% !important;
}

.min-height-500 {
    min-height: 500px !important;
}

.bg-my-grey {
    background: #F3F3F4 !important;
}

.bg-my-blue {
    background: var(--main-secondary-color) !important
}

.onoffswitch-label {
    border: 2px solid var(--main-primary-color);
}

.onoffswitch-inner:before {
    background-color: var(--main-primary-color);
}

.onoffswitch-switch {
    border: 2px solid var(--main-primary-color);
}

.btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: var(--main-primary-color);
    opacity: 0.5;
    border-color: var(--main-primary-color);
}

.btn-primary {
    color: #fff !important;
    /*text-transform: uppercase;*/
    font-family: "nunito_sanslight";
    background-color: var(--main-primary-color);
    border: none !important;
    moz-transition: background-color 0.3s ease-in 0s;
    -webkit-transition: background-color 0.3s ease-in 0s;
    -o-transition: background-color 0.3s ease-in 0s;
    transition: background-color 0.3s ease-in 0s;
}

    .btn-primary:not(:disabled):not(.disabled):active,
    .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
        color: #fff;
        background-color: var(--main-secondary-color);
        border-color: var(--main-secondary-color);
    }

    .btn-primary:hover, .btn-primary:focus, .btn-primary.focus {
        background-color: var(--main-secondary-color);
        border-color: var(--main-secondary-color);
        color: #FFFFFF !important;
    }

.label {
    padding: 4px 10px;
}

.nav .label, .ibox .label {
    font-size: 14px;
}

.label-validated {
    background-color: #76bf6e;
    color: #FFFFFF;
}

.label-error {
    background-color: var(--main-secondary-color);
    color: #FFF;
}

.label a:hover {
    color: white !important;
}

.waiting-div {
    text-align: center;
    margin: auto;
    padding: 200px;
}

.chosen-container-block {
    display: block !important;
}

.chosen-container-single .chosen-single,
.chosen-container-multi .chosen-choices {
    border: 1px solid #e5e6e7 !important;
    border-radius: 0 !important;
}

.chosen-container-active.chosen-with-drop .chosen-single,
.chosen-container-active.chosen-with-drop .chosen-choices {
    border: 1px solid var(--main-primary-color) !important;
    border-radius: 0 !important;
}

.chosen-container .chosen-results li.highlighted {
    background-color: var(--main-primary-color) !important;
}

.nowrap {
    white-space: nowrap !important;
}
/*.animated, .hidden {
    opacity: 0
}

.visible {
    opacity: 1
}*/

.h-150 {
    height: 150px !important;
}

.color-white {
    color: #FFF !important;
}


.color-blue {
    color: var(--main-secondary-color) !important;
}

.w80 {
    width: 80% !important;
}

.fs-13 {
    font-size: 13px;
}

.fs-14 {
    font-size: 14px !important;
}

.fs-8 {
    font-size: 8px;
}

.fs-15 {
    font-size: 15px !important;
}

.row-eq-height {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

    .row-eq-height:after, .row-eq-height:before {
        display: block
    }

    .row-eq-height > [class*=col-] {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }

        .row-eq-height > [class*=col-] > * {
            -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
            flex: 1 1 auto
        }

.full-width {
    width: 100% !important;
}

.colorpicker.colorpicker-visible {
    z-index: 9999999;
}

a span {
    cursor: pointer;
}

.contact-box {
    background-color: #ffffff;
    border: 1px solid #e7eaec;
    padding: 20px 0px;
    margin-bottom: 20px;
}

.profile-image img {
    width: 80px;
    height: 80px;
}

.rounded-div {
    width: 70px;
    float: left;
    height: 70px;
    border-radius: 60px;
    margin: 0px 20px 20px 0;
}

.profile-info {
    margin-left: 100px;
}

.nav .nav-tabs .nav-link {
    background-color: var(--main-primary-color) !important;
    margin: 1px;
}

.tab-content {
    padding: 0 10px 0 10px;
}

.font-bold {
    font-weight: bold !important;
}

.modal-body .ibox-content {
    padding: 0 !important;
}

.ibox-content small {
    font-family: nunito_sanslight_italic !important;
}

.modal-footer {
    flex-wrap: wrap;
}

    .modal-footer button {
        margin-bottom: 5px;
    }

.fc-daygrid-event /*,
.fc-agenda .fc-event-time,
.fc-event a*/ {
    /*background: none !important;*/
    border-color: white !important;
}

.fc-event-time, .fc-event-title {
    color: #FFF !important;
    font-family: nunito_sanssemibold;
}

.fc-dayGridMonth-view .fc-event-time, .fc-dayGridMonth-view .fc-event-title {
    color: black !important;
}

.required-empty {
    border: 1px solid #E9131A !important;
}

@media (min-width: 992px) {
    .modal-lg {
        max-width: 950px !important;
    }
}

@media (min-width: 1200px) {
    .modal-lg {
        max-width: 1150px !important;
    }
}

.wrapper-content {
    transition: all 0.4s !important;
}

#ManageTabLabelsContent .btn-submit {
    display: none !important;
}

#ContentPrintModelHeadings .container-fluid {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.thumbnail-alerts {
    padding: 5px;
    border: 10px;
}

.btn-custom {
    background: linear-gradient(135deg, var(--main-primary-color, #007bff) 0%, var(--main-primary-color, #007bff) 30%, var(--main-secondary-color, #6c757d) 100%) !important;
    color: #FFF !important;
    border: none !important;
    font-family: nunito_sanssemibold;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    position: relative;
    overflow: hidden;
    text-transform: none;
    letter-spacing: 0.025em;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0px 3px 0 1px;
    -moz-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    -o-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-custom-red {
    background: linear-gradient(135deg, #ed5565 0%, #ed5565 30%, #dc3545 100%) !important;
    color: #FFF !important;
    border: none !important;
    font-family: nunito_sanssemibold;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(237, 85, 101, 0.3);
    position: relative;
    overflow: hidden;
    text-transform: none;
    letter-spacing: 0.025em;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    -moz-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    -o-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .btn-custom-red:hover {
        background: linear-gradient(135deg, #dc3545 0%, #dc3545 30%, #c82333 100%) !important;
        color: #fff !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 16px rgba(220, 53, 69, 0.4);
    }

    .btn-custom-red:active {
        transform: translateY(0);
        box-shadow: 0 2px 8px rgba(237, 85, 101, 0.3);
    }

    .btn-custom-red:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(237, 85, 101, 0.3);
    }

    /* Effet de brillance au survol pour les boutons rouges */
    .btn-custom-red::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
        transition: left 0.5s;
    }

    .btn-custom-red:hover::before {
        left: 100%;
    }

.bg-red {
    color: #ed5565 !important;
}

.btn-custom:hover {
    background: linear-gradient(135deg, var(--main-secondary-color, #6c757d) 0%, var(--main-secondary-color, #6c757d) 30%, var(--main-primary-color, #007bff) 100%) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}

.btn-custom:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.btn-custom:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--main-primary-color-rgb, 0, 123, 255), 0.3);
}

/* Effet de brillance au survol */
.btn-custom::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
}

.btn-custom:hover::before {
    left: 100%;
}

.height-full-height-scroll {
    height: 600px;
}

/* GOOGLE WINDOW */
.google-window-container {
    width: 500px;
}

    .google-window-container h2 {
        font-family: "nunito_sanslight";
    }

    .google-window-container .w100 {
        width: 100px;
    }

.red {
    color: var(--main-primary-color);
}

.nav-second-level li:last-child {
    padding-bottom: 0px !important;
}
/* GOOGLE WINDOW */

.inmodal .modal-header {
    padding: 10px 15px !important;
}

.inmodal .modal-icon {
    font-size: 35px;
}

.inmodal .modal-title {
    font-size: 20px;
    display: inline-block;
    margin-left: 20px;
}

.top-navigation .nav.nav-tabs > li > a {
    padding: 5px 15px !important;
}

.fileUpload {
    background: var(--main-primary-color);
    color: #fff;
    overflow: hidden;
    position: relative;
    text-align: center;
    cursor: pointer !important;
    moz-transition: background-color 0.3s ease-in 0s;
    -webkit-transition: background-color 0.3s ease-in 0s;
    -o-transition: background-color 0.3s ease-in 0s;
    transition: background-color 0.3s ease-in 0s;
}

    .fileUpload:hover, .fileUpload:active, .fileUpload:focus {
        background: var(--main-secondary-color);
        cursor: pointer;
    }

    .fileUpload input.upload {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 0;
        opacity: 0;
        filter: alpha(opacity=0);
        cursor: pointer;
        width: 100%;
    }

.alert-msg {
    position: relative;
    top: 4px;
}

.alert-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 5px !important;
}

.relative {
    position: relative;
}

/*.profile-image img {
    width: 100% !important;
    height: 100% !important;
}*/

.no-border {
    border: none !important;
}

#TabExec .container-fluid, #TabBill .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.padding-content {
    padding: 15px 0px 20px 0px !important;
}

.no-padding {
    padding-left: 0;
    padding-right: 0;
}

.invisible-file {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.h100,
h-100 {
    height: 100px !important;
}

.h-150 {
    height: 150px !important;
}

.h-100p {
    height: 100% !important;
}
/*CALENDAR */

.fc .fc-datagrid-cell-cushion {
    /*padding: 4px !important;*/
    /*padding: 4px 4px 4px 0px !important*/
    padding: 0 !important;
    height: 100%;
}

.empty-resource {
    padding: 5px;
    text-align: center;
}

.fc-resource-timeline .container-resources-details p {
    margin: 0 !important;
    font-size: 11px;
    color: var(--main-primary-color);
    font-weight: bold;
    cursor: default;
}

.fc-resource-timeline .container-resources-details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    max-width: 140px;
}

.fc-resource-timeline .container-resources,
.fc-resource-timeline .container-stats {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 4px;
    height: 100%;
    border-right: 4px solid transparent;
    position: relative;
}

.fc-resourceTimeGridDay-view .fc-col-header-cell-cushion {
    text-align: center;
    width: 100%;
}

.fc-resourceTimeGridDay-view .container-resources {
    border-bottom: 4px solid transparent;
}

.fc-resourceTimeGridDay-view .progress-pie-chart {
    margin: auto;
}

.fc-day {
    cursor: pointer;
}

.closed-day {
    background: #dc3545b3 !important;
    cursor: default !important;
    display: flex;
    opacity: 1 !important;
}

.holiday-day {
    background: #6fb980bd !important;
    cursor: default !important;
    display: flex;
    opacity: 1 !important;
}

.contract-event {
    /*background-color: var(--fc-event-bg-color,#3788d8);*/
    background-color: #aeaeaf87 !important;
    cursor: default !important;
    display: flex;
    opacity: 1 !important;
}

.user-closed-day {
    background: #93ccb3 !important;
    cursor: default !important;
    display: flex;
    opacity: 1 !important;
}

    .closed-day .fc-event-title,
    .holiday-day .fc-event-title,
    .contract-event .fc-event-title,
    .user-closed-day .fc-event-title {
        font-style: italic !important;
        font-size: 15px !important;
        margin: auto !important;
        text-align: center !important;
        font-weight: bold !important;
        font-family: nunito_sansextrabold !important;
    }

.holiday-day.fc-bg-event .fc-event-title {
    font-style: normal !important;
    font-size: 15px !important;
}

.calendar-closed-days .fc-day:hover {
    background: var(--main-secondary-color) !important;
}

.calendar-closed-days .closed-day:hover {
    background: #d6d6d6 !important;
}

.fc-list-event,
.fc-list-event a {
    background: none !important;
}

/*CALENDAR */
.fc-event-title {
    /*white-space: break-spaces;*/
    white-space: normal;
}

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

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(255,255,255,0.7);
}

/* PLANNING */

.fc-resourceTimeGridDay-view [data-resource-id="-1"] {
    width: 200px !important;
}

.ibox-content-padding {
    padding: 10px 10px 10px 10px;
}

.fa-recurrent-item {
    border-radius: 10px !important;
    padding: 5px !important;
    border: 1px solid #FFF !important;
}

.fc-event {
    padding: 0 !important;
}

.fc .fc-bg-event {
    opacity: 1 !important;
}

.fc-event-main {
    padding: 5px !important;
}

.fc-list .fc-event-time, .fc-list .fc-event-title {
    color: #000 !important;
}

.mission-container .event-name {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    display: block;
    color: var(--main-secondary-color) !important;
}

.mission-container {
    padding: 10px;
    background: #FFF;
    max-height: 420px;
    overflow-y: auto;
}

    .mission-container:not(:last-child) {
        border-bottom: 2px solid #FFF;
    }

.filtre-container {
    padding: 10px;
    background: #FFF;
    max-height: 420px;
}

    .filtre-container:not(:last-child) {
        border-bottom: 2px solid #FFF;
    }

.fc-h-event {
    border: 0 !important;
}

.selected-item-user-box .contact-box {
    border: 2px solid var(--main-primary-color) !important;
}

.selected-item-user-box .fa-item-user-selected {
    display: block;
}

.disabled-item-user-box {
    opacity: 0.5;
    cursor: default !important;
}

    .disabled-item-user-box .contact-box:hover {
        cursor: default !important;
        border: 1px solid #e7eaec;
    }

.fa-item-user-selected {
    position: absolute;
    right: 6px;
    top: -10px;
    background: #FFF;
    color: var(--main-primary-color);
    display: none;
}

.contact-box:hover {
    border: 2px solid var(--main-secondary-color);
}

.big-height-scroll {
    max-height: 95vh !important;
    overflow-y: auto;
    overflow-x: hidden;
}
/* END PLANNING */
.select2-dropdown {
    z-index: 9999 !important;
}

/* CONTROLE QUALITE */
.rating-container .caption,
.rating-container .clear-rating {
    display: none !important;
}
/* CONTROLE QUALITE */

#ContentModalMaps {
    width: 100%;
    height: 500px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.map-custom:hover {
    color: var(--main-primary-color) !important;
}

#QualityControlsDropFiles {
    height: 300px;
    overflow-y: auto;
    border: 1px solid #e5e6e7;
    background: #f8fafb;
}

x_


#QualityControlsDropFiles:hover {
    background: #c5c5c5;
    color: #FFF !important;
}

.file-box-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.file-box {
    width: 190px;
    float: none !important;
}

.file {
    margin: 5px !important;
}

.progress-bar {
    background-color: #6c757d;
}

.progress-bar-effective {
    position: absolute;
    background: rgba(0,0,0,0.3);
    /*border-radius: .25rem;*/
    height: 1rem;
    text-align: center;
    color: white;
    /*border: 1px solid black;*/
    border-right: 8px solid black;
}

.progress {
    position: relative !important;
}

/* Tooltip container */
.tooltip-bcm {
    position: relative;
    display: inline-block;
}

    /* Tooltip text */
    .tooltip-bcm .tooltiptext {
        visibility: hidden;
        width: 150px;
        background-color: #555;
        color: #fff;
        text-align: center;
        padding: 5px 5px;
        border-radius: 6px;
        /* Position the tooltip text */
        position: absolute;
        z-index: 1;
        bottom: 125%;
        left: 50%;
        margin-left: -75px;
        /* Fade in tooltip */
        opacity: 0;
        transition: opacity 0.3s;
        word-break: normal;
        word-spacing: normal;
        word-wrap: normal;
        white-space: normal;
    }

        /* Tooltip arrow */
        .tooltip-bcm .tooltiptext::after {
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -5px;
            border-width: 5px;
            border-style: solid;
            border-color: #555 transparent transparent transparent;
        }

    /* Show the tooltip text when you mouse over the tooltip container */
    .tooltip-bcm:hover .tooltiptext {
        visibility: visible;
        opacity: 1;
    }

.planning-timeline .fc-event-title {
    width: 100% !important;
}

.fc .fc-datagrid-cell-cushion {
    white-space: inherit !important;
}

.event-canceled.event-row {
    opacity: 0.5;
}

.fc-event {
    cursor: default;
}

.fc-event-draggable {
    cursor: move;
}

/* CONTEXT MENU */
.context-menu-list {
    font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.context-menu-icon::before {
    color: var(--main-primary-color) !important;
}

.bg-myred {
    background: var(--main-primary-color) !important;
}

.context-menu-item:hover {
    background: var(--main-primary-color) !important;
    color: #FFF;
}

    .context-menu-item:hover::before {
        color: #FFF !important;
    }
/* CONTEXT MENU */

/* SLIDER INTERVENTIONS */
.slimScrollBar {
    margin-right: 5px;
}

.fa-custom-pos {
    position: relative;
    top: 8px;
}

.close-events-to-planify,
.close-custom-sidebar {
    position: absolute;
    right: 15px;
    top: 5px;
    z-index: 9999;
}

    .close-events-to-planify:hover,
    .close-custom-sidebar:hover {
        color: var(--main-primary-color) !important;
        cursor: pointer;
    }

#TriggerToggleCustomBar {
    width: 70px;
    height: 50px;
    background: #cc4145;
    position: absolute;
    left: -70px;
    border: 1px solid #cc4145;
    z-index: 999999999999999999;
    top: 160px;
    text-align: center;
    padding-top: 10px;
    color: #FFF !important;
    border-radius: 10px 0px 0px 10px;
}

    #TriggerToggleCustomBar:hover {
        background: #FFF;
        cursor: pointer;
        color: #cc4145 !important;
    }

#custom-sidebar-mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    /*width: calc(100vw - 500px);*/
    width: 100%;
    height: 100%;
    background: grey;
    opacity: 0.7;
    z-index: 2038;
    transition: all 0.4s;
}

input[type="color"] {
    padding: 0 !important;
    -webkit-appearance: none;
    border: none;
}

    input[type="color"]::-webkit-color-swatch-wrapper {
        padding: 0 !important;
    }

    input[type="color"]::-webkit-color-swatch {
        border: none;
    }

#custom-sidebar .slimScrollDiv {
    overflow: visible !important;
}

#left-sidebar,
#custom-sidebar {
    background-color: #fff;
    border-radius: 10px 0px 0px 10px;
    /*overflow: hidden;*/
    position: fixed;
    top: 100px;
    width: 400px !important;
    z-index: 1009;
    bottom: 0;
    right: -400px;
    height: 80vh;
    background-color: #F3F3F4;
    /*-webkit-animation: slide 1.5s forwards;
    -webkit-animation-delay: 0.5s;
    animation: slide 1.5s forwards;
    animation-delay: 0.5s;*/
    transition: all 0.4s;
    box-shadow: -5px 0px 5px rgb(30 28 67 / 50%);
    z-index: 2039;
}

#custom-sidebar {
    top: 0px !important;
    width: 600px !important;
    right: -610px;
    height: 100vh !important;
}

.open-right {
    margin: 0 400px 0 0 !important;
}

.right-sidebar {
    border-radius: 0 !important;
    position: absolute !important;
    border-bottom: none !important;
    top: 55px !important;
    height: calc(100vh - 55px) !important;
}

#left-sidebar .big-title {
    font-size: 15px;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--main-text);
    display: block;
    padding: 15px;
    white-space: nowrap;
    margin-top: 40px;
    margin-bottom: 0 !important;
    border-radius: 4px;
}

#custom-sidebar .big-title {
    font-size: 15px;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--main-text);
    display: block;
    white-space: nowrap;
}

#custom-sidebar #ContentRow {
    top: 43px;
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

    #custom-sidebar #ContentRow .custom-ibox-content {
        height: calc(100vh - 100px);
        overflow-y: auto;
    }

.slimScrollDiv {
    padding-bottom: 15px;
}

#left-sidebar.sidebar-open,
#custom-sidebar.sidebar-open {
    right: 0;
}

    #left-sidebar.sidebar-open.sidebar-top,
    #custom-sidebar.sidebar-open.sidebar-top {
        top: 0;
        border-top: none;
    }

#ButtonRow {
    text-align: center;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #FFF;
    padding: 10px;
}

#TitleRow {
    text-align: center;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #FFF;
    padding: 10px;
    height: 40px;
}

.draggable-external-event {
    cursor: move !important;
}
/* SLIDER INTERVENTIONS */
.row-planified-nonaffected {
    background: rgba(165, 165, 165, 0.5);
}

#LoadingModal {
    z-index: 9999 !important;
}

/* POPUP GESTION MISSION */
input.recurrence-type {
    display: inline;
    width: 30px;
    margin-right: 20px;
    margin-left: 5px;
}

label.recurrence-type {
    position: relative;
    top: -12px;
}

input.ckbx-recurr-weeks {
    display: inline;
    width: 25px;
}

label.ckbx-recurr-weeks {
    position: relative;
    top: -12px;
    margin-left: 5px;
    margin-right: 15px;
}

input.recurr-monthly-choice {
    width: 30px;
    margin-right: 20px;
    margin-left: 5px;
}

.fs20 {
    font-size: 20px !important;
}

.fs13 {
    font-size: 13px !important;
}

.fs17 {
    font-size: 17px !important;
}

.w-150 {
    width: 150px !important;
}

.m-auto {
    margin: auto !important;
}

.w-80p {
    width: 80% !important;
}

.w-90p {
    width: 90% !important;
}

.w-10p {
    width: 10% !important;
}

.w-25p {
    width: 25% !important;
}

.w-75p {
    width: 75% !important;
}

.fake-label {
    display: inline;
    font-family: "open sans", "Helvetica Neue";
    font-size: 13px;
}
/* POPUP GESTION MISSION */

.cancel-splitting {
    cursor: pointer;
}

.w-20px {
    width: 20px !important;
}

.consolid-selected-events {
    font-style: italic !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    font-weight: bold;
}

#ShowCanceledRelatedEvents,
#ShowSameDowRelatedEvents {
    width: 30px !important;
    display: inline;
    position: relative;
    top: 11px;
}

.min-w-200 {
    min-width: 200px;
}

.mini-navbar.top-navigation .nav > li > a {
    padding: 14px 20px 14px 25px !important;
}

.fc-toolbar-chunk span {
    cursor: pointer !important;
}

@media (max-width: 1000px) {
    .fc .fc-toolbar {
        flex-direction: column;
    }

    .fc-toolbar-chunk {
        margin-bottom: 10px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .fc-direction-ltr .fc-toolbar-chunk > * {
        margin-bottom: 10px;
    }
}

@media (max-width: 764px) {
    /*.modal-body {
        padding: 20px 0px 30px 0px !important;
    }*/

    #DashboardContent .col, #DashboardContent .col-1, #DashboardContent .col-10, #DashboardContent .col-11, #DashboardContent .col-12, #DashboardContent .col-2,
    #DashboardContent .col-3, #DashboardContent .col-4, #DashboardContent.col-5, #DashboardContent.col-6, #DashboardContent.col-7, #DashboardContent.col-8, #DashboardContent .col-9, #DashboardContent .col-auto, #DashboardContent .col-lg, #DashboardContent .col-lg-1, #DashboardContent .col-lg-10, #DashboardContent .col-lg-11, #DashboardContent .col-lg-12,
    #DashboardContent .col-lg-2, #DashboardContent .col-lg-3, #DashboardContent .col-lg-4, #DashboardContent .col-lg-5, #DashboardContent .col-lg-6, #DashboardContent .col-lg-7, #DashboardContent .col-lg-8, #DashboardContent .col-lg-9, #DashboardContent .col-lg-auto, #DashboardContent .col-md, #DashboardContent .col-md-1, #DashboardContent .col-md-10, #DashboardContent .col-md-11, #DashboardContent .col-md-12,
    #DashboardContent .col-md-2, #DashboardContent .col-md-3, #DashboardContent .col-md-4, #DashboardContent .col-md-5, #DashboardContent .col-md-6, #DashboardContent .col-md-7, #DashboardContent .col-md-8, #DashboardContent .col-md-9, #DashboardContent .col-md-auto, #DashboardContent .col-sm, #DashboardContent .col-sm-1, #DashboardContent .col-sm-10, #DashboardContent .col-sm-11, #DashboardContent .col-sm-12,
    #DashboardContent .col-sm-2, #DashboardContent .col-sm-3, #DashboardContent .col-sm-4, #DashboardContent .col-sm-5, #DashboardContent .col-sm-6, #DashboardContent .col-sm-7, #DashboardContent .col-sm-8, #DashboardContent .col-sm-9, #DashboardContent .col-sm-auto, #DashboardContent .col-xl, #DashboardContent .col-xl-1, #DashboardContent .col-xl-10, #DashboardContent .col-xl-11, #DashboardContent .col-xl-12,
    #DashboardContent .col-xl-2, #DashboardContent .col-xl-3, #DashboardContent .col-xl-4, #DashboardContent .col-xl-5, #DashboardContent .col-xl-6, #DashboardContent .col-xl-7, #DashboardContent .col-xl-8, #DashboardContent .col-xl-9, #DashboardContent .col-xl-auto {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }

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

        .planning-timeline .ibox-content {
            padding: 15px 0px 20px 0px !important;
        }

    #DashboardContent .ibox-content {
        padding: 15px 10px 20px 10px !important;
    }

    .parameter .col, .parameter .col-1, .parameter .col-10, .parameter .col-11, .parameter .col-12, .parameter .col-2,
    .parameter .col-3, .parameter .col-4, .parameter.col-5, .parameter.col-6, .parameter.col-7, .parameter.col-8, .parameter .col-9, .parameter .col-auto, .parameter .col-lg, .parameter .col-lg-1, .parameter .col-lg-10, .parameter .col-lg-11, .parameter .col-lg-12,
    .parameter .col-lg-2, .parameter .col-lg-3, .parameter .col-lg-4, .parameter .col-lg-5, .parameter .col-lg-6, .parameter .col-lg-7, .parameter .col-lg-8, .parameter .col-lg-9, .parameter .col-lg-auto, .parameter .col-md, .parameter .col-md-1, .parameter .col-md-10, .parameter .col-md-11, .parameter .col-md-12,
    .parameter .col-md-2, .parameter .col-md-3, .parameter .col-md-4, .parameter .col-md-5, .parameter .col-md-6, .parameter .col-md-7, .parameter .col-md-8, .parameter .col-md-9, .parameter .col-md-auto, .parameter .col-sm, .parameter .col-sm-1, .parameter .col-sm-10, .parameter .col-sm-11, .parameter .col-sm-12,
    .parameter .col-sm-2, .parameter .col-sm-3, .parameter .col-sm-4, .parameter .col-sm-5, .parameter .col-sm-6, .parameter .col-sm-7, .parameter .col-sm-8, .parameter .col-sm-9, .parameter .col-sm-auto, .parameter .col-xl, .parameter .col-xl-1, .parameter .col-xl-10, .parameter .col-xl-11, .parameter .col-xl-12,
    .parameter .col-xl-2, .parameter .col-xl-3, .parameter .col-xl-4, .parameter .col-xl-5, .parameter .col-xl-6, .parameter .col-xl-7, .parameter .col-xl-8, .parameter .col-xl-9, .parameter .col-xl-auto {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }

    .parameter .ibox-content {
        padding: 15px 10px 20px 10px !important;
    }

    /*.panel-heading {
        padding: 10px 5px !important;
    }*/
    /*#page-wrapper {
        padding: 0px!important;
    }*/
}

@media (max-width: 560px) {
    .html5buttons {
        display: none !important;
    }
}

.scan-camera {
    width: 100%;
    height: auto;
    margin: 10px 0px;
    display: none;
}

.fa-map-marker.fa-map-event {
    vertical-align: top;
}

@media print {
    #QrCodeContainer {
        width: 600px;
        height: 600px;
        text-align: center;
        margin: auto;
    }
}

.little-rounded-bcm-alert {
    width: 8px !important;
    height: 8px !important;
}

.rounded-bcm-alert {
    width: 20px;
    height: 20px;
    color: #FFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


.rounded-bcm-notification {
    position: absolute;
    right: 8px;
    top: 14px;
    background-color: var(--main-primary-color);
}


.rounded-bcm-alert.custom-pos {
    position: relative;
    top: 3px;
}

.alert-container {
    height: 20px;
}

.filter-doc-span {
    position: relative;
    top: 6px;
}

@media (min-width: 768px) {
    #layoutV2 #page-wrapper {
        margin: 0 !important;
    }
}

#layoutV2 #page-wrapper {
    padding: 0px !important;
}

#navigationV2 .dropdown-menu {
    right: unset !important;
    left: auto;
    border-bottom: 2px solid var(--main-secondary-color);
}

.top-navigation .dropdown-menu > li > a {
    margin: 0;
    padding: 3px 10px;
}

.nav-tab * {
    transition: all ease-in-out .4s;
    -webkit-transition: all ease-in-out .4s;
}

.nav-tab {
    width: 30px;
    height: 22px;
}

    .nav-tab button {
        cursor: pointer;
        display: block;
        height: 100%;
        width: 100%;
    }

    .nav-tab span {
        background: #1EA9E0;
        display: block;
        width: 30px;
        height: 4px;
        margin-bottom: 3px;
    }

    .nav-tab:hover span.first-child {
        width: 26px;
    }

    .nav-tab:hover span.second-child {
        width: 18px;
    }

    .nav-tab:hover span.third-child {
        width: 22px;
    }

    .nav-tab:hover span.fourth-child {
        width: 24px;
    }

body.open .nav-tab span.first-child {
    width: 30px;
    margin-top: 11px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

body.open .nav-tab span.second-child {
    width: 0px;
    opacity: 0;
}

body.open .nav-tab span.third-child {
    width: 0px;
    opacity: 0;
}

body.open .nav-tab span.fourth-child {
    width: 30px;
    margin-top: -21px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.navbar-toggler {
    background-color: unset !important;
}

    .navbar-toggler:hover {
        background-color: unset !important;
        color: #E9131A !important;
        transition: all 0.4s;
    }

.h500-scroll {
    height: 500px;
    overflow-y: auto;
}

.mtm40 {
    margin-top: -40px !important;
}

.fc-header-toolbar {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.w25 {
    width: 25px;
}

.mh500-scroll {
    max-height: 500px;
    overflow-y: auto;
}

.mtm1 {
    margin-top: -1px !important;
}

/* progress bar rounded */
.progress-pie-chart {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #E5E5E5;
    position: relative;
}

    .progress-pie-chart.gt-50 {
        background-color: var(--main-primary-color);
    }

.ppc-progress {
    content: "";
    position: absolute;
    border-radius: 50%;
    left: calc(50% - 20px);
    top: calc(50% - 20px);
    width: 40px;
    height: 40px;
    clip: rect(0, 40px, 40px, 20px);
}

    .ppc-progress .ppc-progress-fill {
        content: "";
        position: absolute;
        border-radius: 50%;
        left: calc(50% - 20px);
        top: calc(50% - 20px);
        width: 40px;
        height: 40px;
        clip: rect(0, 20px, 40px, 0);
        background: var(--main-primary-color);
        transform: rotate(60deg);
    }

.gt-50 .ppc-progress {
    clip: rect(0, 20px, 40px, 0);
}

    .gt-50 .ppc-progress .ppc-progress-fill {
        clip: rect(0, 40px, 40px, 20px);
        background: #E5E5E5;
    }

.ppc-percents {
    content: "";
    position: absolute;
    border-radius: 50%;
    left: calc(50% - 35px/2);
    top: calc(50% - 34px/2);
    width: 34px;
    height: 34px;
    background: #fff;
    background-size: cover;
    text-align: center;
    display: table;
}

/*.ppc-percents span {
        display: block;
        font-size: 2.6em;
        font-weight: bold;
        color: #81CE97;
    }*/

.pcc-percents-wrapper {
    display: table-cell;
    vertical-align: middle;
}

/*.progress-pie-chart {
    margin: 50px auto 0;
}*/

.context-menu-list {
    z-index: 99999 !important;
}

.w-90px {
    width: 90px !important;
}

.table-recurrence > tbody > tr > td {
    border-top: 1px solid #e7eaec;
    line-height: 1 !important;
    padding: 2px !important;
    vertical-align: middle !important;
}

table.dataTable td ul, table.dataTable td ul {
    margin-bottom: 0 !important;
}

table .btn {
    padding: 2px 10px !important;
}

table.dataTable tbody th, table.dataTable tbody td {
    padding: 4px 8px 7px 8px !important;
}

.fc-timegrid.fc-timeGridWeek-view.fc-view .container-unaffected {
    opacity: 0.65;
}

body.mini-navbar .navbar-default .nav > li > .nav-second-level li a {
    white-space: nowrap;
}

/*custom du 13/01*/

.btn-white {
    border: none !important;
}

    .btn-white:hover,
    .btn-white:focus,
    .btn-white:active,
    .btn-white.active,
    .open .dropdown-toggle.btn-white,
    .btn-white:active:focus,
    .btn-white:active:hover,
    .btn-white.active:hover,
    .btn-white.active:focus {
        border: none !important;
    }

.btn-white-border {
    color: inherit;
    background: white;
    border: 1px solid #e7eaec;
}

    .btn-white-border:hover,
    .btn-white-border:focus,
    .btn-white-border:active,
    .btn-white-border.active,
    .open .dropdown-toggle.btn-white-border,
    .btn-white-border:active:focus,
    .btn-white-border:active:hover,
    .btn-white-border.active:hover,
    .btn-white-border.active:focus {
        color: inherit;
        border: 1px solid #d2d2d2;
    }

.fc-event, .fc-event-main {
    border-radius: 4px !important;
}

.fc-v-event {
    border: none !important;
}

#DashboardContent .ibox-title {
    border-color: #424242 !important;
}

#DashboardContent .ibox-content {
    /*border: none !important;*/
    padding: 5px 20px 20px 20px !important;
    border-radius: 5px;
}

.ibox-content {
    border: none !important;
}

.page-heading {
    padding: 0 10px 10px 10px !important;
}

.wrapper-content {
    padding: 0px;
}

.switch-print-mode {
    margin: 0 3px;
}

a {
    color: var(--main-text);
    cursor: pointer;
}

    a:hover {
        color: var(--main-primary-color) !important;
        transition: 0.7s;
        /*transition: opacity .25s ease-in-out;
        -moz-transition: opacity .25s ease-in-out;
        -webkit-transition: opacity .25s ease-in-out;*/
    }

nav a:hover {
    background: transparent !important;
}

.no-hover:hover {
    color: #424242 !important;
    cursor: default !important;
}

.search-form {
    margin-top: 2px !important;
}

.no-wrap {
    white-space: nowrap;
}

.panel .nav-link {
    font-family: "nunito_sansextrabold";
}

#DockyardsMap {
    width: 100%;
    height: 600px;
    border-radius: 10px;
}

.modal-content {
    border-radius: 10px !important;
}

#GoogleMap {
    border-radius: 10px;
}

.br20 {
    border-radius: 20px;
}

.inmodal .modal-body {
    background: #F8F8F8;
}

#LoadingModal .modal-header {
    border: none !important;
}

table.DTCR_clonedTable.dataTable {
    position: absolute !important;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 202
}

.dt-button-collection {
    padding: 3px;
}

    .dt-button-collection .buttons-columnVisibility.active a {
        background-color: var(--main-primary-color) !important;
    }

    .dt-button-collection .buttons-columnVisibility a {
        margin: 3px 0 !important;
    }

div.DTCR_pointer {
    width: 1px;
    background-color: #0259c4;
    z-index: 201
}

table.dataTable th.dt-left,
table.dataTable td.dt-left {
    text-align: left;
}

table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
    text-align: center;
}

table.dataTable th.dt-right,
table.dataTable td.dt-right {
    text-align: right;
}

table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
    text-align: justify;
}

table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
    white-space: nowrap;
}

table.dataTable td,
table.dataTable tdh {
    vertical-align: text-top !important;
}

.user-initials {
    background: var(--main-primary-color) !important;
    color: #FFF !important;
    padding: 9px !important;
    font-size: 15px !important;
    font-weight: bold !important;
    display: inline-block !important;
    min-width: 42px !important;
}

.planning-inter-picture {
    width: 27px !important;
    border-radius: 20px !important;
    height: 27px;
}

.planning-inter-initials {
    width: 30px !important;
    font-size: 11px !important;
    padding: 5px 7px !important;
    min-width: 0 !important;
}

.container-thumbnail {
    width: 100% !important;
    overflow: hidden;
}

    .container-thumbnail.visibility-hidden {
        max-height: 30px !important;
    }

table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
    text-align: left;
}

table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
    text-align: center;
}

table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
    text-align: right;
}

table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
    text-align: justify;
}

table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
    white-space: nowrap;
}

table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
    text-align: left;
}

table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
    text-align: center;
}

table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
    text-align: right;
}

table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
    text-align: justify;
}

table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
    white-space: nowrap;
}

table.dataTable td.dt-control {
    text-align: center;
    cursor: pointer;
}

    table.dataTable td.dt-control:before {
        height: 1em;
        width: 1em;
        margin-top: -9px;
        display: inline-block;
        color: white;
        border: 0.15em solid white;
        border-radius: 1em;
        box-shadow: 0 0 0.2em #444;
        box-sizing: content-box;
        text-align: center;
        text-indent: 0 !important;
        line-height: 1em;
        content: "+";
        background-color: #31b131;
    }

table.dataTable tr.dt-hasChild td.dt-control:before {
    content: "-";
    background-color: #d33333;
}

.dataTable th {
    text-transform: uppercase;
}

table.dataTable thead th, table.dataTable tfoot th {
    font-weight: 500 !important;
}

.trumbowyg-editor-box, .trumbowyg-textarea, .trumbowyg-box, .trumbowyg-editor {
    min-height: 150px !important;
}

/*
 * Table styles
 */
table.dataTable {
    width: 100%;
    margin: 0 auto;
    clear: both;
    border-collapse: separate;
    border-spacing: 0;
    /*
   * Header and footer styles
   */
    /*
   * Body styles
   */
}

    table.dataTable thead th,
    table.dataTable tfoot th {
        font-weight: bold;
    }

    table.dataTable thead th,
    table.dataTable thead td {
        padding: 10px 18px;
        border-bottom: 2px solid rgba(0, 147, 117,1);
    }

        table.dataTable thead th:active,
        table.dataTable thead td:active {
            outline: none;
        }

    table.dataTable tfoot th,
    table.dataTable tfoot td {
        padding: 10px 18px 6px 18px;
        border-top: 2px solid #424242;
    }

    table.dataTable thead .sorting,
    table.dataTable thead .sorting_asc,
    table.dataTable thead .sorting_desc,
    table.dataTable thead .sorting_asc_disabled,
    table.dataTable thead .sorting_desc_disabled {
        cursor: pointer;
        *cursor: hand;
        background-repeat: no-repeat;
        background-position: center right;
    }

    /*table.dataTable thead .sorting {
        background-image: url("/Content/plugins/dataTables/images/sort_both.png");
    }*/

    /*table.dataTable thead .sorting_asc {
        background-image: url("/Content/plugins/dataTables/images/sort_asc.png") !important;
    }

    table.dataTable thead .sorting_desc {
        background-image: url("/Content/plugins/dataTables/images/sort_desc.png") !important;
    }

    table.dataTable thead .sorting_asc_disabled {
        background-image: url("/Content/plugins/dataTables/images/sort_asc_disabled.png");
    }

    table.dataTable thead .sorting_desc_disabled {
        background-image: url("/Content/plugins/dataTables/images/sort_desc_disabled.png");
    }*/

    table.dataTable tbody tr {
        background-color: #ffffff;
    }

        table.dataTable tbody tr.selected {
            background-color: #b0bed9;
        }

    table.dataTable tbody th,
    table.dataTable tbody td {
        padding: 8px 10px;
    }

    table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
        border-top: 1px solid #ede8e8;
    }

    table.dataTable.row-border tbody tr:first-child th,
    table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
    table.dataTable.display tbody tr:first-child td {
        border-top: none;
    }

    table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
        border-top: 1px solid #ede8e8;
        border-right: 1px solid #ede8e8;
    }

    table.dataTable.cell-border tbody tr th:first-child,
    table.dataTable.cell-border tbody tr td:first-child {
        border-left: 1px solid #ede8e8;
    }

    table.dataTable.cell-border tbody tr:first-child th,
    table.dataTable.cell-border tbody tr:first-child td {
        border-top: none;
    }

    table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
        background-color: #ffffff;
    }

    table.dataTable.stripe tbody tr.even, table.dataTable.display tbody tr.even {
        background-color: #e7eaec;
    }

        table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
            background-color: #acbad4;
        }

    table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
        background-color: #f6f6f6;
    }

        table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
            background-color: #aab7d1;
        }

    table.dataTable.order-column tbody tr > .sorting_1,
    table.dataTable.order-column tbody tr > .sorting_2,
    table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
    table.dataTable.display tbody tr > .sorting_2,
    table.dataTable.display tbody tr > .sorting_3 {
        background-color: #f8fbff !important;
    }

    table.dataTable.order-column tbody tr.selected > .sorting_1,
    table.dataTable.order-column tbody tr.selected > .sorting_2,
    table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
    table.dataTable.display tbody tr.selected > .sorting_2,
    table.dataTable.display tbody tr.selected > .sorting_3 {
        background-color: #acbad5;
    }

    table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
        background-color: #f8fbff !important;
    }

    table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
        background-color: #f8fbff !important;
    }

    table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
        background-color: #f8fbff !important;
    }

    table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
        background-color: #a6b4cd;
    }

    table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
        background-color: #a8b5cf;
    }

    table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
        background-color: #a9b7d1;
    }

    table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
        background-color: #fafafa;
    }

    table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
        background-color: #fcfcfc;
    }

    table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
        background-color: #fefefe;
    }

    table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
        background-color: #acbad5;
    }

    table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
        background-color: #aebcd6;
    }

    table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
        background-color: #afbdd8;
    }

    table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
        background-color: #eaeaea;
    }

    table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
        background-color: #ececec;
    }

    table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
        background-color: #efefef;
    }

    table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
        background-color: #a2aec7;
    }

    table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
        background-color: #a3b0c9;
    }

    table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
        background-color: #a5b2cb;
    }

    /*table.dataTable.no-footer {
        border-bottom: 2px solid #424242;
    }*/

    table.dataTable.nowrap th, table.dataTable.nowrap td {
        white-space: nowrap;
    }

    table.dataTable.compact thead th,
    table.dataTable.compact thead td {
        padding: 4px 17px;
    }

    table.dataTable.compact tfoot th,
    table.dataTable.compact tfoot td {
        padding: 4px;
    }

    table.dataTable.compact tbody th,
    table.dataTable.compact tbody td {
        padding: 4px;
    }

    table.dataTable th,
    table.dataTable td {
        box-sizing: content-box;
    }

    table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
        background-color: rgba(0, 147, 117,0.6);
        color: white !important;
    }

        table.dataTable.hover tbody tr:hover small, table.dataTable.display tbody tr:hover small {
            color: white !important;
        }

        table.dataTable.hover tbody tr:hover a, table.dataTable.display tbody tr:hover a {
            color: white;
        }
        /*table.dataTable.hover tbody tr:hover a, table.dataTable.display tbody tr:hover a {
            color: rgb(66,66,66);
        }*/

        table.dataTable.hover tbody tr:hover .sorting_1, table.dataTable.display tbody tr:hover .sorting_1 {
            color: #676a6c !important;
        }

/*table a {
    color: #676a6c;
}*/

table a:hover {
    color: var(--main-text) !important;
    transition: 0.7s;
}


.pagination {
    justify-content: center !important;
}

.page-item.active .page-link {
    /*background-color: var(--main-primary-color) !important;
    border-color: var(--main-primary-color) !important;*/
    background-color: #F8F8F8 !important;
    border-color: #DDDDDD !important;
    color: #000 !important;
}

.page-link:hover {
    color: white !important;
}
/*
 * Control feature layout
 */
.dataTables_wrapper {
    position: relative;
    clear: both;
}

    .dataTables_wrapper .dataTables_length {
        float: left;
    }

        .dataTables_wrapper .dataTables_length select {
            /*border: 1px solid #aaa;*/
            border-radius: 3px;
            padding: 5px;
            background-color: transparent;
            padding: 4px;
            width: 70px;
            border: 1px solid #e5e6e7 !important;
        }

    .dataTables_wrapper .dataTables_filter {
        float: right;
        text-align: right;
    }

        .dataTables_wrapper .dataTables_filter label {
            margin-bottom: 0 !important;
        }

        .dataTables_wrapper .dataTables_filter input {
            /*border: 1px solid #aaa;*/
            border-radius: 3px;
            padding: 5px;
            background-color: transparent;
            margin-left: 3px;
            width: 200px
        }



table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > td.sorting:before, table.dataTable thead > tr > td.sorting:after, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_asc:after, table.dataTable thead > tr > td.sorting_desc:before, table.dataTable thead > tr > td.sorting_desc:after, table.dataTable thead > tr > td.sorting_asc_disabled:before, table.dataTable thead > tr > td.sorting_asc_disabled:after, table.dataTable thead > tr > td.sorting_desc_disabled:before, table.dataTable thead > tr > td.sorting_desc_disabled:after {
    opacity: .6 !important;
}


table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_desc:after {
    opacity: 1 !important;
}

.dataTables_wrapper .dt-button {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    font-size: inherit;
    color: inherit;
    background: white;
    border: 1px solid #e7eaec;
    background: #fff;
    color: #676a6c;
    box-shadow: none;
    padding: 6px 8px;
    margin: 0 !important;
    font-size: 12px;
}

    .dataTables_wrapper .dt-button:hover, .dataTables_wrapper .dt-button:focus:active {
        background-color: #eee !important;
        color: var(--main-secondary-color) !important;
        border-color: #d2d2d2 !important;
    }

    .dataTables_wrapper .dt-button:hover, .dataTables_wrapper .dt-button:focus, .dataTables_wrapper .dt-button:active, .dataTables_wrapper .dt-button.active, .open .dropdown-toggle.btn-default, .dataTables_wrapper .dt-button:active:focus, .dataTables_wrapper .dt-button:active:hover, .dataTables_wrapper .dt-button:hover, .dataTables_wrapper .dt-button:focus {
        background-color: #eee !important;
        color: var(--main-secondary-color) !important;
        border-color: #d2d2d2 !important;
    }

.dataTables_wrapper .dataTables_info {
    clear: both;
    float: left;
    padding-top: 0.755em;
}

.dataTables_wrapper .dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 40px;
    margin-left: -50%;
    margin-top: -25px;
    padding-top: 20px;
    text-align: center;
    font-size: 1.2em;
    background-color: white;
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
    color: #000000;
}

.dataTables_wrapper .dataTables_scroll {
    clear: both;
}

    .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
        *margin-top: -1px;
        -webkit-overflow-scrolling: touch;
    }

        .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td {
            vertical-align: middle;
        }

            .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,
            .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,
            .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing {
                height: 0;
                overflow: hidden;
                margin: 0 !important;
                padding: 0 !important;
            }

.dataTables_wrapper.no-footer .dataTables_scrollBody {
    border-bottom: 2px solid #424242;
}

.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
.dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
    border-bottom: none;
}

.dataTables_wrapper:after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0;
}

.datepicker-planning {
    width: 325px;
    font-size: 1.75em;
    margin: 0;
    border: none !important;
    cursor: pointer;
    text-align: center;
    background: transparent;
}

    .datepicker-planning:hover {
        color: var(--main-primary-color);
    }

    .datepicker-planning:focus-visible {
        outline: none;
    }

.fc-next-button, .fc-prev-button {
    background: none !important;
    border: none !important;
    color: var(--main-text);
    box-shadow: none !important;
    transition: all 0.1s;
}

    .fc-next-button:hover, .fc-prev-button:hover, .fc-next-button:active, .fc-prev-button:active, .fc-next-button:focus, .fc-prev-button:focus {
        color: var(--main-primary-color) !important;
    }

.dropdown-toggle::after {
    display: none !important;
}

.mr50 {
    margin-right: 50px !important;
}

.abs-status {
    width: 25px;
    height: 25px;
    display: block;
    margin: auto;
}

    .abs-status .fa {
        position: relative;
        top: 5px;
        color: #FFF;
    }

#TableUsersAbsences {
    width: 100%;
    /*border: 1px solid #1E1C43;*/
}

    #TableUsersAbsences tr td,
    #TableUsersAbsences tr th {
        /*padding: 3px;*/
        text-align: center;
        width: 20px !important;
    }

.absence-block {
    display: inline-block;
    width: 20px;
    border-radius: 10px;
    margin: auto;
}

/*.form-control, .single-line {
    border: 1px solid transparent!important;
}*/

/*CUSTOM PANEL*/

.panel-body {
    background: #fff;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    padding-bottom: 20px;
    box-shadow: 0 0 5px #e0e0e0;
    -webkit-box-shadow: 0 0 5px #e0e0e0;
    -moz-box-shadow: 0 0 5px #e0e0e0;
}

.nav-tabs {
    border: none !important;
}

.navbar a:focus-visible {
    outline: none;
}

/*.nav .nav-tabs .nav-item.show .nav-link,
.nav .nav-tabs .nav-link.active {
    color: #fff;
    background-color: #E9131A !important;
    box-shadow: 0 0 5px #e0e0e0;
    -webkit-box-shadow: 0 0 5px #e0e0e0;
    -moz-box-shadow: 0 0 5px #e0e0e0;
}*/

.nav-tabs .nav-link {
    border: none;
    /*border-color: var(--main-primary-color) !important;*/
    margin: -1px 0px !important
    /*background-color: var(--main-primary-color) !important;*/
}

    .nav-tabs .nav-item.show .nav-link,
    .nav-tabs .nav-link.active {
        background-color: #fff !important;
        color: var(--main-primary-color);
        box-shadow: 0 -3px 5px #e0e0e0;
        -webkit-box-shadow: 0 -3px 5px #e0e0e0;
        -moz-box-shadow: 0 -3px 5px #e0e0e0;
    }

.top-navigation .wrapper-content .nav > li a:hover,
.top-navigation .wrapper-content .nav > li a:focus {
    color: var(--main-primary-color) !important;
}

.panel-heading {
    padding: 10px 0px;
    color: #676a6c;
    font-family: "nunito_sanslight";
}

.content-box {
    background: #fff;
    border-radius: 10px;
    padding: 10px 10px;
}

.project-list table tr td {
    border-top: 1px solid transparent /*!important*/;
}

.h300-scroll {
    max-height: 300px;
    overflow-y: auto;
}

/*.modal-footer button {
    text-transform: uppercase;
}*/

.alert {
    border-radius: 0px;
}

.event-etiquette {
    color: #FFF !important;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.btn {
    padding: 5px 10px;
}

#FiltersParameters .ibox:first-child .ibox-title {
    border-top: none !important;
}

.ibox-title {
    border-width: 1px 0 0;
}

.container-holiday {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 10px;
}

.container-planning-sent {
    position: absolute;
    bottom: 0;
    right: 20px;
    margin: 10px;
}

.container-contract {
    position: absolute;
    bottom: 0;
    right: 20px;
    margin: 10px;
}

.container-picto i {
    margin-right: 5px;
    margin-left: 5px;
}


.navbar-nav .dropdown-menu {
    position: absolute;
    float: none;
}

#navigationV2 .nav > li > a {
    padding: 10px 10px !important;
}

.ibox-content {
    padding: 15px 0px 20px 0px;
}

.row {
    margin-right: 0px;
    margin-left: 0px;
}

.weatherwidget-io-frame {
    border-radius: 5px !important;
}

.content-pastille {
    width: 150px;
}

.panel-body {
    padding: 5px !important;
}

.widget {
    padding: 10px 10px;
}

.fc-scroller-harness, .fc-timeline-header-row {
    background: #fff;
}

.dropdown-menu {
    z-index: 2040;
}

@media (min-width: 768px) {
    .align-center-flex {
        display: flex !important;
        align-items: center;
    }
}

@media (max-width: 767px) {
    .navbar {
        justify-content: flex-end !important;
    }

    .top-navigation .navbar-right {
        margin-right: 0px !important;
    }

    .top-navigation .navbar .nav > li {
        text-align: center;
    }

    .fc .fc-toolbar.fc-header-toolbar {
        margin: 0 !important;
    }

    .fc-direction-ltr .fc-toolbar-chunk > * {
        margin-bottom: 4px !important;
    }

    .fc-toolbar-chunk {
        margin-bottom: 0px !important;
    }

    .content-pastille {
        width: 60px;
    }

    .user-initials {
        min-width: 38px !important;
    }

    .tabUser div, .tabUser a, .tabUser span {
        font-size: 12px;
    }

    .tabUser .btn-sm {
        padding: 3px;
    }

    .badge-danger {
        font-size: 13px !important;
        line-height: 13px !important;
    }
}

.mlm10:not(:first-child) {
    margin-left: -10px !important;
}

.break-event {
    min-height: 40px;
    text-align: center;
}

.event-model-title {
    font-size: 14px !important;
}

.active-external-model {
    cursor: move !important;
}

.inactive-external-model {
    opacity: 0.3 !important;
}

#WaitingCalendar {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.2);
    width: 100%;
    z-index: 9999999;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    min-height: 50vh;
    /*transition:all 0.4s;*/
}

.fc-datagrid-cell-frame {
    min-height: 60px !important;
}

.fc-scroller-harness-liquid .fc-scroller-liquid-absolute {
    overflow-y: scroll !important;
    overflow: auto !important;
}

.fc-scroller-harness .fc-scroller {
    overflow-x: scroll !important;
    overflow: auto !important;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    border: 1px solid var(--main-primary-color) !important;
    background: #cc414559 !important;
    color: #000 !important;
}

.ui-datepicker {
    padding: 0 !important;
    box-shadow: rgb(50 50 93 / 25%) 0px 6px 12px -2px, rgb(0 0 0 / 30%) 0px 3px 7px -3px;
    width: auto !important;
    font-family: nunito_sansregular !important;
}

.ui-datepicker-header {
    padding: 0.6em !important;
}

.ui-datepicker-calendar {
    margin: 10px !important;
}

    .ui-datepicker-calendar thead {
        /*color: var(--main-primary-color);*/
        color: #FFF !important;
    }

.ui-datepicker table {
    width: auto !important;
}

.ui-datepicker td {
    padding: 3px !important;
}

    .ui-datepicker td span, .ui-datepicker td a {
        padding: 0.2em 5px !important;
    }

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
    border: none !important;
    background: transparent !important;
}

.ui-datepicker-week-col {
    font-weight: bold !important;
}

.ui-state-default:hover {
    font-weight: bold !important;
}

.ui-state-hover {
    border: none !important;
    background: none !important;
}

.ui-datepicker-prev,
.ui-datepicker-next {
    margin-top: 3px !important;
    font-size: 17px !important;
}

.ui-datepicker-month, .ui-datepicker-year {
    font-family: nunito_sansbold !important;
    font-size: 15px !important;
    padding: 2px 5px;
}

.ui-datepicker-prev span,
.ui-datepicker-next span {
    background-image: none !important;
    border: none !important;
}

.ui-datepicker-prev:before,
.ui-datepicker-next:before {
    font-family: FontAwesome;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    font-weight: normal;
    align-items: center;
    justify-content: center;
}

.ui-datepicker-prev:before {
    content: "\f190";
}

.ui-datepicker-next:before {
    content: "\f18e";
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
    font-weight: bold !important;
    color: var(--main-secondary-color) !important;
}

.navbar-form-custom {
    width: 300px !important;
}

nav .input-group-addon {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

#TopSearch {
    font-family: 'nunito_sanssemibold';
}

#TopSearchResult hr {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    border-top: 1px solid var(--main-secondary-color) !important;
}

.primary-color {
    color: var(--main-primary-color);
}

.custom-dropdown-menu {
    position: absolute;
    left: 0;
    top: 0px;
    margin-top: 52px !important;
    width: 300px;
    max-height: 400px;
    overflow-y: auto;
    background: rgba(253,253,253, 1) !important;
    z-index: 2040;
    min-height: 50px;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    box-shadow: 0 2px 2px rgb(86 96 117 / 70%);
    border-bottom: 2px solid var(--main-secondary-color);
    padding: 0px !important;
    display: none;
}

    .custom-dropdown-menu span {
        font-family: nunito_sanssemibold;
    }

    .custom-dropdown-menu a:hover, .custom-dropdown-menu a:focus {
        color: white !important;
        background: var(--main-primary-color) !important;
        transition: 0.7s background !important;
    }

    .custom-dropdown-menu a.disabled {
        opacity: 0.5 !important;
    }

        .custom-dropdown-menu a.disabled:hover, .custom-dropdown-menu a.disabled:focus {
            background: #fff !important;
            color: var(--main-text) !important;
            cursor: default !important;
        }

            .custom-dropdown-menu a.disabled:hover span {
                cursor: default !important;
            }

            .custom-dropdown-menu a.disabled:hover i {
                color: var(--main-text) !important;
                cursor: default !important;
            }

    .custom-dropdown-menu a:hover i, .custom-dropdown-menu a:hover .highlight, .custom-dropdown-menu a:hover small, .custom-dropdown-menu a:focus i, .custom-dropdown-menu a:focus .highlight, .custom-dropdown-menu a:focus small {
        color: white !important;
    }

    .custom-dropdown-menu a:hover .rounded-bcm-notification,
    .custom-dropdown-menu a:focus .rounded-bcm-notification {
        background-color: white !important;
    }

.flex-between-center {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.flex-around-center {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: center;
}

.flex-start-column {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: flex-start;
    position: relative;
}

.highlight {
    color: var(--main-primary-color);
}

/* width */
::-webkit-scrollbar {
    width: 14px;
    height: 14px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #D3D3D3;
}

    /* Handle on hover */
    ::-webkit-scrollbar-thumb:hover {
        background: var(--main-primary-color);
    }

.absences-counted-dates {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

    .absences-counted-dates div {
        text-align: center;
        width: 60px;
    }

.ws-n {
    white-space: normal !important;
}

.dropdown-team-types {
    padding-top: 9px;
    z-index: 99999999999999999;
}

    .dropdown-team-types input[type=checkbox] {
        width: 20px;
        height: 20px;
    }

    .dropdown-team-types a span {
        font-size: 13px;
        margin-left: 10px;
        position: relative;
        top: -6px;
    }

.dropdown-actions a span {
    font-size: 13px;
    margin-left: 10px;
}

.exit-date {
    color: var(--main-primary-color) !important;
}

.label-primary, .badge-primary {
    /*background-color: #E9131A;*/
    background-color: var(--main-primary-color) !important;
    color: #FFFFFF;
}

.tooltiptext {
    font-size: 10px;
}

.user-team-type {
    position: relative;
    top: -4px;
}

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

#tabEventsToPlan .panel-body {
    padding-right: 15px !important;
}

#FiltersCount {
    color: var(--main-primary-color);
    background: white;
    padding: 6px 8px;
    border-radius: 15px;
    font-weight: bold;
    position: relative;
    top: 15px;
    left: -24px;
    border: 1px solid var(--main-primary-color);
}

#NotificationsCount {
    right: 0px !important;
    top: 23px !important;
}

.notif-readed {
    cursor: default !important;
}

.fc-listWeek-view .contract-event {
    display: none !important;
}


.fc-listWeek-view .holiday-day {
    display: block !important;
}

.fc-listWeek-view .show-only-on-list {
    display: block !important;
}

.show-only-on-list {
    display: none !important;
}

.transport-duration-container {
    width: 40px;
    position: absolute;
    right: 0;
    bottom: 5px;
    text-align: center;
    padding: 5px 0;
    background-color: #d1dade;
    border-radius: 0.25em;
}

.transport-duration {
    width: 80%;
}

.transport-time {
    margin-left: 5px;
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 600;
}

.border-none {
    border: none !important;
}

.dropdown-alerts > li > a {
    line-height: 18px !important;
}

.align-items-center {
    align-items: center !important;
}

.mark-readed {
    text-decoration: underline;
    font-style: italic;
}

.custom-planning-notif {
    width: 550px !important;
    background-color: var(--main-secondary-color) !important;
}

.toast-button {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

    .toast-button i {
        margin: 5px;
    }

.display-flex {
    display: flex !important;
}

.parameters-color {
    width: 100px;
    height: 30px;
    display: block;
}

.bigger-ckbxs input[type=checkbox], .bigger-ckbxs input[type=radio] {
    width: 20px !important;
    height: 20px !important;
}

.bigger-ckbxs strong {
    position: relative;
    top: -4px;
    margin-left: 6px;
    font-size: 15px;
}

.label-success, .badge-success {
    background-color: var(--main-primary-color) !important;
}

.speculosByLotus {
    background-color: #fff;
    /*    border: 1px solid #aaa; */
    border-radius: 4px;
}

.label-kaki {
    background-color: #6d9b78 !important;
    color: #FFFFFF !important;
}

.label-orange {
    background-color: #f8ac59 !important;
    color: #FFFFFF !important;
}

.switchery-small {
    height: 20px !important;
    width: 40px !important;
}

    .switchery-small > small {
        height: 20px !important;
        width: 20px !important;
    }

/*.switchery {
    background-color: var(--main-primary-color) !important;
    border-color: var(--main-primary-color) !important;
    box-shadow: var(--main-primary-color)0px 0px 0px 0px inset !important;
}*/
.language-flag {
    width: 30px;
    margin-right: 10px;
}


.dz-default.dz-message {
    background: url(/Content/images/upload.png) center center no-repeat !important;
    padding: 20px !important;
    background-size: contain !important;
    padding: 40px !important;
}

.dropzone.dz-clickable:hover {
    border-color: var(--main-primary-color) !important;
}

/*leaflet*/

.active-sidebar .leaflet-marker-icon, .leaflet-marker-icon:hover {
    animation: border-pulse 1.5s infinite;
}

@keyframes border-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 1);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(255, 0, 0, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 0, 0, 0);
    }
}

.leaflet-marker-icon {
    display: flex !important;
    justify-content: center;
    align-items: center;
    line-height: 1;
    color: #fff;
    font-size: 12px;
    border-radius: 100%;
}

    .leaflet-marker-icon span {
        width: 100%;
        height: 100%;
        border-radius: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

.left-sidebar-expanded {
    width: 800px !important;
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
    background-color: #2f4050 !important;
    color: white !important;
    text-align: left;
    font-size: 10px !important;
    padding: 0.5rem !important;
}

.tooltip-geoloc {
    z-index: 9999;
    width: 250px;
    border-radius: 3px;
}

.leaflet-popup-content {
    margin: 0px !important;
}

.leaflet-popup-close-button {
    display: none !important;
}

.dropdown-languages li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 5px 10px;
}

.btn-primary-color {
    border: 1px solid #e5e6e7 !important;
}

    .btn-primary-color:hover {
        border: 1px solid var(--main-secondary-color) !important;
    }

.select2-container--default .select2-selection--single {
    border-radius: 0 !important;
    border: 1px solid #e5e6e7 !important;
    height: 2.05rem !important;
}

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 33px !important;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        top: 3px !important;
    }

.comment-society {
    max-height: 600px;
    overflow-y: auto;
}

.container-custom-fields {
    display: flex;
    justify-content: flex-start;
    align-items: start;
    flex-wrap: wrap;
    min-height: 150px;
}


.container-custom-field {
    margin: 10px;
    padding: 10px;
    border: 1px solid var(--main-primary-color);
}

    .container-custom-field .custom-field-title {
        margin-bottom: 5px;
        border-bottom: 1px solid var(--main-primary-color);
        width: 100%;
        display: flex;
        justify-content: center;
    }

.mt5flex {
    margin-top: 5px;
    display: flex;
}

ul.lsnone {
    list-style: none !important;
}


.required-error {
    border: 2px dashed var(--main-primary-color);
}

.dataTable tr.filters th {
    padding: 5px !important;
}

.disabled {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: grey;
}

.label-error-text {
    color: var(--error) !important;
}

.table-container-search {
    position: absolute;
    background: #F8F8F8;
    padding: 10px;
    border: 1px solid #000;
    z-index: 999;
    min-width: 250px;
    width: 100%;
    color: #676a6c !important;
}

.border-content {
    border-radius: 5px;
    padding-bottom: 20px;
    box-shadow: 0 0 5px #e0e0e0;
    -webkit-box-shadow: 0 0 5px #e0e0e0;
    -moz-box-shadow: 0 0 5px #e0e0e0;
}


.form-control-sm {
    display: inline-block;
    width: 25px;
}

.val-comp-sep {
    font-weight: bold;
    position: relative;
    top: 5px;
    margin-right: 10px;
}

.link-variable.variable-selected {
    font-weight: bold;
    text-decoration: underline !important;
    font-size: 16px !important;
}

.manage-print-option .switchery {
    margin-right: 15px;
}

.border-bottom-first-row td,
.border-top-first-row td {
    border-bottom: 1px solid #c5c5c5 !important;
}

.bg-special-row {
    background: #F6F6F6 !important;
}

.pos-rel-10 {
    position: relative;
    top: 10px;
}

#ListUnrealExecutions .dataTable tfoot td {
    padding: 15px 10px !important;
}

table.dataTable tbody tr:hover input, table.dataTable.display tbody tr:hover input {
    color: rgb(103, 106, 108) !important;
}

#ListUnrealExecutions table.dataTable.hover tbody tr:hover a, #ListUnrealExecutions table.dataTable.display tbody tr:hover a {
    color: rgb(103, 106, 108) !important;
}

.border-error {
    border: 1px solid red;
}

.form-control-small {
    padding: 3px 6px !important;
    height: calc(1.75rem - 3px) !important;
}

.current-filtered-column {
    background: grey !important;
    color: #FFF !important;
}

.little-table.table > thead > tr > th, .little-table.table > tbody > tr > th, .little-table.table > tfoot > tr > th, .little-table.table > thead > tr > td, .little-table.table > tbody > tr > td, .little-table.table > tfoot > tr > td {
    line-height: 1 !important;
    padding: 4px !important;
}

#ContentManageLabelsModal .dataTables_wrapper.container-fluid {
    padding-bottom: 0 !important;
}

table.dataTable thead .filterrow th div {
    display: flex;
    justify-content: center;
    align-items: center;
}

table.dataTable thead .filterrow th {
    padding: 4px !important;
}

th, td {
    white-space: nowrap;
}

.list-style-none {
    list-style: none;
}

.form-control:focus, .single-line:focus {
    border-color: var(--main-primary-color) !important;
}

.label-big {
    padding: 4px 17px !important;
    font-size: 28px !important;
}

    .label-big:hover {
        background-color: grey !important;
        transition: 0.7s !important;
    }


thead {
    background-color: rgba(0, 147, 117, 1);
    color: white;
    /*border-collapse: collapse;
    border: none !important;*/
}

/*table th {
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: #331763;
    color: white;
}*/

td:first-child,
th:first-child {
    border-radius: 3px 0 0 3px;
}

td:last-child,
th:last-child {
    border-radius: 0 3px 3px 0;
}

.search-column {
    padding: 3px 6px !important;
    color: black;
    border-radius: 3px;
    min-width: 50px;
}

table.dataTable tbody tr.selected {
    color: white;
    background-color: #eeeeee;
}

.dtfc-fixed-right, .dtfc-fixed-left {
    background: #F8F8F8 !important;
}

th.dtfc-fixed-right, th.dtfc-fixed-left {
    background: var(--main-primary-color) !important;
}

.filterrow th:last-child {
    /*background: var(--main-primary-color) !important;*/
    background: #F8F8F8 !important;
    width: auto;
    position: sticky;
    right: 0px;
}

.contentFixeRow {
    background: var(--main-primary-color) !important;
    width: auto;
    position: sticky;
    right: 0px;
}

tr:hover .dtfc-fixed-right, tr:hover .dtfc-fixed-left {
    background: var(--main-primary-color) !important;
}

.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #e5e6e7 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0 !important;
}

.dataTables_wrapper .dataTables_paginate {
    float: none !important;
}


    .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
        color: white !important;
        border: none !important;
        background-color: none !important;
        background: none !important;
    }


div.dt-button-collection.three-column {
    width: min-content !important;
}

div.dt-button-collection .dt-button {
    min-width: 150px !important;
    border-radius: 0.25rem !important;
}

.dt-button-collection .buttons-columnVisibility.active {
    background-color: var(--main-primary-color) !important;
    color: white !important;
}

.dt-button-collection .buttons-columnVisibility:hover {
    background-color: var(--main-text) !important;
    color: white !important;
}

/*.dataTables_wrapper .dt-button:hover,*/
.dataTables_wrapper .dt-button:focus,
.dataTables_wrapper .dt-button:active,
/*.dataTables_wrapper .dt-button.active,*/
/*.open .dropdown-toggle.btn-default, */
.dataTables_wrapper .dt-button:active:focus,
/*.dataTables_wrapper .dt-button:active:hover, 
.dataTables_wrapper .dt-button:hover, */
.dataTables_wrapper .dt-button:focus {
    background-color: #fff !important;
    color: var(--main-secondary-color) !important;
    border: 1px solid #e5e6e7 !important;
}

/*table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > td.sorting:before, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_desc:before, table.dataTable thead > tr > td.sorting_asc_disabled:before, table.dataTable thead > tr > td.sorting_desc_disabled:before {
    bottom: 50%;
    content: "▲";
}

table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > td.sorting:after, table.dataTable thead > tr > td.sorting_asc:after, table.dataTable thead > tr > td.sorting_desc:after, table.dataTable thead > tr > td.sorting_asc_disabled:after, table.dataTable thead > tr > td.sorting_desc_disabled:after {
    top: 50%;
    content: "▼";
}*/


div.dataTables_wrapper div.dataTables_filter {
    margin-bottom: 8px;
}

.inmodal .modal-icon {
    font-size: 35px;
    color: var(--main-primary-color);
}

.input.active span::after {
    font-size: 11px;
}
/*h1 {
    text-align: center;
    height: 38px;
    margin: 60px 0;
}*/
h1 span {
    white-space: nowrap;
}

.flex-parent {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.input-flex-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 600px; /*il faut calculer en fonction du nombre de statut, 100px par statut, ici il y en a 6 */
    height: 100px;
    position: relative;
    z-index: 0;
}

.input {
    width: 25px;
    height: 25px;
    background-color: var(--main-primary-color);
    position: relative;
    border-radius: 50%;
}

    .input:hover {
        cursor: pointer;
    }

    .input::before, .input::after {
        content: '';
        display: block;
        position: absolute;
        z-index: -1;
        top: 50%;
        transform: translateY(-50%);
        background-color: var(--main-primary-color);
        width: 50px;
        height: 5px;
        max-width: 50px;
    }

    .input::before {
        left: calc(-4vw + 12.5px);
    }

    .input::after {
        right: calc(-4vw + 12.5px);
    }

    .input.active {
        background-color: var(--main-primary-color);
    }

        .input.active::before {
            background-color: var(--main-primary-color);
        }

        .input.active::after {
            background-color: #AEB6BF;
        }

        .input.active span {
            font-weight: 700;
        }

            .input.active span::before {
                font-size: 14px;
            }

            .input.active span::after {
                font-size: 11px;
            }

        .input.active ~ .input, .input.active ~ .input::before, .input.active ~ .input::after {
            background-color: #AEB6BF;
        }

    .input span {
        width: 1px;
        height: 1px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        visibility: hidden;
    }

        .input span::before, .input span::after {
            visibility: visible;
            position: absolute;
            left: 50%;
        }

        .input span::after {
            content: attr(data-year);
            top: 25px;
            transform: translateX(-50%);
            font-size: 11px;
        }

        .input span::before {
            content: attr(data-info);
            top: -65px;
            width: 70px;
            transform: translateX(-5px) rotateZ(-45deg);
            font-size: 12px;
            text-indent: -10px;
        }

.description-flex-container {
    margin-top: 20px;
}

    .description-flex-container div {
        margin-top: 0;
        display: none;
        font-weight: bold;
    }

        .description-flex-container div.active {
            display: block;
        }

@media (min-width: 1250px) {
    .input::before {
        left: -37.5px;
    }

    .input::after {
        right: -37.5px;
    }
}

@media (max-width: 850px) {
    .input {
        width: 17px;
        height: 17px;
    }

        .input::before, .input::after {
            height: 3px;
        }

        .input::before {
            left: calc(-4vw + 8.5px);
        }

        .input::after {
            right: calc(-4vw + 8.5px);
        }
}

@media (max-width: 600px) {
    .flex-parent {
        justify-content: initial;
    }

    .input-flex-container {
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        height: auto;
        margin-top: 15vh;
    }

    .input {
        width: 60px;
        height: 60px;
        margin: 0 10px 50px;
        background-color: #AEB6BF;
    }

        .input::before, .input::after {
            content: none;
        }

        .input span {
            width: 100%;
            height: 100%;
            display: block;
        }

            .input span::before {
                top: calc(100% + 5px);
                transform: translateX(-50%);
                text-indent: 0;
                text-align: center;
            }

            .input span::after {
                top: 50%;
                transform: translate(-50%, -50%);
                color: #ECF0F1;
            }

    .description-flex-container {
        margin-top: 30px;
        text-align: center;
    }
}

@media (max-width: 400px) {
    body {
        min-height: 950px;
    }
}

.contract-merchandise-container .ibox-title {
    padding: 10px 0 !important;
}

.contract-merchandise-container .ibox-content [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Styles pour le drag & drop des marchandises */
#ContractMerchandises.ui-sortable .contract-merchandise-container .ibox-title {
    cursor: move;
}

    #ContractMerchandises.ui-sortable .contract-merchandise-container .ibox-title:hover {
        background-color: #f5f5f5;
    }

#ContractMerchandises .ui-sortable-placeholder {
    height: 60px;
    border: 2px dashed #ccc;
    background-color: #f9f9f9;
    margin-bottom: 10px;
    visibility: visible !important;
}

.btn-primary-disabled {
    background-color: grey !important;
    cursor: not-allowed;
}

.btn-primary-disabled-lite {
    cursor: not-allowed;
}

.cancel-button {
    text-decoration: underline !important;
}

.cancel-button-disabled {
    text-decoration: none !important;
    cursor: not-allowed;
}

.dataTables_scrollBody thead tr {
    visibility: collapse !important;
}

/*leaflet*/

.active-sidebar .leaflet-marker-icon, .leaflet-marker-icon:hover {
    animation: border-pulse 1.5s infinite;
}

@keyframes border-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 1);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(255, 0, 0, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 0, 0, 0);
    }
}

.leaflet-marker-icon {
    display: flex !important;
    justify-content: center;
    align-items: center;
    line-height: 1;
    color: #fff;
    font-size: 12px;
    border-radius: 100%;
}

    .leaflet-marker-icon span {
        width: 100%;
        height: 100%;
        border-radius: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

.left-sidebar-expanded {
    width: 800px !important;
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
    background-color: #2f4050 !important;
    color: white !important;
    text-align: left;
    font-size: 10px !important;
    padding: 0.5rem !important;
}

.tooltip-geoloc {
    z-index: 9999;
    width: 250px;
    border-radius: 3px;
}

.leaflet-popup-content {
    margin: 0px !important;
}

.popup-leaflet {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 190px;
}

.popup-leaflet-title {
    font-size: 15px !important;
    font-weight: bold;
    margin-bottom: 2px;
}

.popup-leaflet-content {
    margin-top: 10px;
    background-color: #e84c41 !important;
    text-align: center;
    padding: 2px 7px 2px 7px;
    border-radius: 5px;
}

.popup-leaflet a {
    background-color: white;
    color: #0f2033 !important;
    padding: 5px 30px;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    margin-top: 10px;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out !important;
}

    .popup-leaflet a:hover {
        background-color: #0f2033;
        color: white !important;
    }

.leaflet-popup-close-button {
    display: none !important;
}

.popper, .tooltip {
    z-index: 1000 !important;
}

.justify-center {
    justify-content: center !important;
}

.custom-btn-dropdown {
    background: transparent;
}

    .custom-btn-dropdown:hover {
        background: var(--main-primary-color);
    }

.dropdown-color-main > li {
    z-index: 999999 !important;
}

    .dropdown-color-main > li > a {
        color: var(--main-text) !important;
        z-index: 999999 !important;
    }

.ziinfinity {
    z-index: 9999999 !important;
}

.z-index-3 {
    z-index: 3 !important;
}

.flex-start-around {
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
}

.h-300-overflow {
    height: 300px;
    overflow: auto;
}

.wsn {
    white-space: normal !important;
}


.border-left-blue {
    border-left: 3px solid blue;
}

.border-left-yellow {
    border-left: 3px solid #4eb9db;
}

.bg-blue {
    background: blue;
}

.bg-yellow {
    background: #4eb9db;
}

.color-red {
    color: #ED5565 !important;
}

.border-left-red {
    border-left: 3px solid #ED5565 !important;
}

.border-grey,
.border-grey:hover {
    border: 1px solid #e7eaec !important;
}

tr.summary-item {
    background-color: rgba(0, 147, 117, 0.6) !important;
    color: white !important;
}

.text-wrap-auto {
    text-wrap: auto !important;
}

.w-600px {
    width: 600px;
}


.trumbowyg-editor p {
    margin-bottom: 0 !important;
}

.mw94pct {
    max-width: 94% !important;
}
/* SLIDER ACCOUNTING BILLS */
.document-item {
    background-color: #fff;
    transition: all 0.3s ease;
    margin-left: 20px;
}

    .document-item:hover {
        background-color: #f8f9fa;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

.document-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.detail-row {
    display: flex;
    align-items: baseline;
    line-height: 13px;
}

    .detail-row strong {
        width: 120px;
        color: #666;
    }

    .detail-row span {
        flex: 1;
    }

.date-group {
    border-left: 3px solid var(--main-primary-color);
    padding-left: 15px;
}

.date-header {
    margin-bottom: 10px;
}

    .date-header h5 {
        color: var(--main-primary-color);
        font-weight: 600;
        margin-right: auto;
    }

.badge {
    font-size: 0.8em;
    padding: 0.4em 0.8em;
}

.document-item.hidden {
    display: none;
}

.date-group.empty {
    display: none;
}

.no-results {
    display: none;
    padding: 20px;
    text-align: center;
    color: #666;
}

.clear-search {
    border: 1px solid #e0e0e0;
    /*background: var(--main-primary-color);*/
    background: #F8F8F8 !important;
    cursor: pointer;
    padding: 15.5px 8px;
    display: flex;
    align-items: center;
    color: rgb(44, 62, 80);
    margin-left: -20px;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

    .clear-search:hover {
        color: #333;
    }

.input-group-append .btn-outline-secondary {
    border-color: #ced4da;
    border-left: none;
}

    .input-group-append .btn-outline-secondary:hover {
        background-color: transparent;
    }

#documentSearchInput:focus + .input-group-append .btn-outline-secondary {
    border-color: #80bdff;
}

.cursor-pointer {
    cursor: pointer;
}

.toggle-icon {
    transition: transform 0.3s ease;
}

.date-group.collapsed .toggle-icon {
    transform: rotate(-90deg);
}

.date-group.collapsed .group-content {
    display: none;
}

.group-content {
    transition: all 0.3s ease;
}

.search-highlight {
    background-color: #ffeb3b;
    padding: 0 2px;
    border-radius: 2px;
    font-weight: bold;
}
/* SLIDER ACCOUNTING BILLS */

.filter-container {
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    margin-bottom: 20px;
}

.filter-group {
    gap: 15px;
}

.filter-item {
    min-width: 200px;
}

    .filter-item label {
        font-weight: 500;
        color: #676a6c;
        margin-bottom: 8px;
    }


/* Style pour les inputs de filtre dans les colonnes DataTables */
.dataTable thead tr.filterrow {
    background: #ddd !important;
}

.dataTable thead .filterrow th input[type="text"] {
    width: 100%;
    padding: 6px 28px 6px 10px;
    border: 1px solid #e0e0e0;
    background: #f8f8f8;
    font-size: 13px;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
    box-sizing: border-box;
    margin: 2px 0;
    color: #333;
}

    .dataTable thead .filterrow th input[type="text"]:focus {
        border-color: var(--main-primary-color);
        background: #fff;
        box-shadow: 0 0 0 2px rgba(135, 142, 126, 0.15);
    }

/* Pour masquer le bouton si présent */
.dataTable thead .filterrow th button {
    display: none !important;
}

.mh0 {
    min-height: 0 !important;
}

/* Modern Navbar Styles */
.modern-navbar {
    background: #ffffff;
    border-bottom: 1px solid #e9ecef;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    padding: 0.5rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 70px;
}

.navbar-brand-section {
    flex: 0 0 auto;
    margin-right: 2rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-left: 1rem;
}

.logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

    .logo-container .courteo-logo {
        height: 50px;
        width: auto;
        max-width: 200px;
        object-fit: contain;
    }

.navbar-search-section {
    flex: 1;
    max-width: 400px;
    margin: 0 0 0 1rem;
    padding-right: 0;
}

.search-container {
    position: relative;
}

.search-input-group {
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-right: 0;
}

    .search-input-group .input-group-text {
        background: #f8f9fa;
        border: 1px solid #dee2e6;
        border-right: none;
        color: #6c757d;
    }

.search-input {
    border: 1px solid #dee2e6;
    border-left: none;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
}

    .search-input:focus {
        box-shadow: none;
        border-color: #007bff;
    }

.search-results-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #dee2e6;
    border-top: none;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 2000;
    max-height: 300px;
    overflow-y: auto;
}

.navbar-actions-section {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: 0;
    padding-left: 0;
}

.notification-container, .shortcuts-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

    .notification-container .notification-btn, .shortcuts-container .shortcuts-btn {
        position: relative;
        color: #6c757d;
        font-size: 1.2rem;
        padding: 0.75rem;
        border-radius: 50%;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border: none;
        background: transparent;
    }

.notification-btn:hover, .shortcuts-btn:hover {
    background: #f8f9fa;
    color: #007bff;
    transform: translateY(-1px);
}

.shortcuts-btn {
    background: #28a745 !important;
    color: white !important;
}

    .shortcuts-btn:hover {
        background: #218838 !important;
        color: white !important;
    }

.notification-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: #dc3545;
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-profile-container {
    display: flex;
    align-items: center;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem;
    border-radius: 8px;
    transition: background 0.3s ease;
}

    .user-info:hover {
        background: #f8f9fa;
    }

.user-avatar .avatar-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #e9ecef;
}

.user-details {
    display: flex;
    flex-direction: column;
}

.user-name {
    font-weight: 600;
    color: #212529;
    font-size: 0.9rem;
}

.user-email {
    font-size: 0.8rem;
    color: #6c757d;
}

.company-logo-container .company-logo {
    max-height: 40px;
    max-width: 150px;
    object-fit: contain;
}

.user-menu-container .user-menu-btn {
    color: #6c757d;
    font-size: 1.2rem;
    padding: 0.5rem;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.user-menu-btn:hover {
    background: #f8f9fa;
    color: #007bff;
}

.user-dropdown-menu {
    min-width: 200px;
    border: 1px solid #dee2e6;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    border-radius: 8px;
}

    .user-dropdown-menu .dropdown-header {
        padding: 0.75rem 1rem;
        background: #f8f9fa;
        border-bottom: 1px solid #dee2e6;
    }

    .user-dropdown-menu .dropdown-item {
        padding: 0.5rem 1rem;
        transition: background 0.3s ease;
    }

        .user-dropdown-menu .dropdown-item:hover {
            background: #f8f9fa;
        }

.main-navigation-container {
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

/* ===========================================
   MODERN NAVIGATION STYLES
   =========================================== */

/* Debug styles - à supprimer en production */
#navigationV2 {
    display: block !important;
    visibility: visible !important;
}

.main-navigation-wrapper {
    display: block !important;
    visibility: visible !important;
}

/* Main Navigation Wrapper */
.main-navigation-wrapper {
    background: #f8f9fa !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
    position: relative;
    /*z-index: 1000;*/
    width: 100%;
    margin: 0;
    padding: 0;
}

.main-navigation-container {
    background: transparent !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Modern Main Navigation */
.modern-main-nav {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
    width: 100%;
}

.nav-container {
    max-width: 100%;
    margin: 0;
    padding: 0 1rem;
    width: 100%;
}

.nav-menu {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0.5rem 0 !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100%;
}

/* Navigation Items */
.nav-item {
    position: relative;
    margin: 0;
    flex: 1;
    text-align: center;
}

/* Styles spécifiques pour le menu principal uniquement */
.modern-main-nav .nav-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 1rem 0.5rem !important;
    color: #374151 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-size: 0.9rem !important;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    white-space: nowrap;
    min-height: 60px;
    gap: 0.5rem;
    background: transparent !important;
    width: 100%;
}

    .modern-main-nav .nav-link:hover {
        background: rgba(0, 0, 0, 0.05);
        color: var(--main-primary-color, #007bff) !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

    .modern-main-nav .nav-link:focus {
        outline: none;
        background: rgba(0, 0, 0, 0.08);
        color: var(--main-primary-color, #007bff) !important;
    }

    /* Active state pour le menu principal */
    .modern-main-nav .nav-item.active .nav-link,
    .modern-main-nav .nav-link.active {
        background: rgba(0, 0, 0, 0.1);
        color: var(--main-primary-color, #007bff) !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    }

/* Navigation Icons */
.nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    font-size: 1.1rem;
    transition: transform 0.3s ease;
}

.modern-main-nav .nav-link:hover .nav-icon {
    transform: scale(1.1);
}

.nav-label {
    font-weight: 500;
    letter-spacing: 0.025em;
}

/* Dropdown Arrow */
.dropdown-arrow {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
    margin-left: 0.5rem;
}

.nav-item.has-dropdown:hover .dropdown-arrow,
.nav-item.has-dropdown.show .dropdown-arrow {
    transform: rotate(180deg);
}

/* Modern Dropdown Menu */
.modern-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 280px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
    border: 1px solid rgba(0,0,0,0.08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1001;
    margin-top: 0.5rem;
    overflow: hidden;
}

.nav-item.has-dropdown:hover .modern-dropdown,
.nav-item.has-dropdown.show .modern-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-content {
    padding: 0.75rem 0;
}

/* Dropdown Items */
.dropdown-item {
    display: flex;
    align-items: center;
    padding: 0.875rem 1.25rem;
    color: #374151;
    text-decoration: none;
    font-weight: 400;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    border: none;
    background: transparent;
    width: 100%;
    gap: 0.75rem;
    position: relative;
}

    .dropdown-item:hover {
        background: #f8fafc;
        color: #1f2937;
        transform: translateX(4px);
    }

    .dropdown-item:focus {
        outline: none;
        background: #e5e7eb;
        color: #1f2937;
    }

.dropdown-item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    font-size: 0.9rem;
    color: #6b7280;
    transition: color 0.2s ease;
}

.dropdown-item:hover .dropdown-item-icon {
    color: #3b82f6;
}

.dropdown-item-text {
    flex: 1;
    font-weight: 500;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .modern-main-nav .nav-link {
        padding: 0.875rem 1.25rem;
        font-size: 0.9rem;
    }

    .nav-label {
        display: none;
    }

    .nav-icon {
        font-size: 1.2rem;
    }

    .modern-dropdown {
        min-width: 240px;
    }
}

@media (max-width: 768px) {
    .nav-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .nav-item {
        width: 100%;
    }

    .modern-main-nav .nav-link {
        padding: 1rem;
        border-radius: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .modern-dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        border-radius: 0;
        background: rgba(0,0,0,0.1);
        margin: 0;
    }

    .dropdown-item {
        padding: 0.75rem 2rem;
        color: rgba(255, 255, 255, 0.9);
    }

        .dropdown-item:hover {
            background: rgba(255, 255, 255, 0.1);
            color: #ffffff;
            transform: none;
        }
}

/* Animation for smooth transitions */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modern-dropdown {
    animation: fadeInUp 0.3s ease-out;
}

    /* Custom scrollbar for dropdown */
    .modern-dropdown::-webkit-scrollbar {
        width: 4px;
    }

    .modern-dropdown::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 2px;
    }

    .modern-dropdown::-webkit-scrollbar-thumb {
        background: #c1c1c1;
        border-radius: 2px;
    }

        .modern-dropdown::-webkit-scrollbar-thumb:hover {
            background: #a8a8a8;
        }

/* ===========================================
   SIMPLE BREADCRUMB STYLES
   =========================================== */

/* Container du breadcrumb */
#Breadcrumb {
    background: #ffffff !important;
    border-bottom: 1px solid #e9ecef !important;
    padding: 1rem 2rem !important;
    margin: 0 !important;
}

    /* Liste du breadcrumb */
    #Breadcrumb .breadcrumb {
        background: transparent !important;
        padding: 0 !important;
        font-size: 0.9rem !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
    }

    /* Items du breadcrumb */
    #Breadcrumb .breadcrumb-item {
        display: flex !important;
        align-items: center !important;
        color: #6c757d !important;
        font-weight: 400 !important;
    }

        /* Liens du breadcrumb */
        #Breadcrumb .breadcrumb-item a {
            color: #6c757d !important;
            text-decoration: none !important;
        }

            #Breadcrumb .breadcrumb-item a:hover {
                color: var(--main-primary-color, #007bff) !important;
            }

        /* Item actif du breadcrumb - seulement en gras */
        #Breadcrumb .breadcrumb-item.active {
            color: #374151 !important;
            font-weight: bold !important;
        }

        /* Séparateur du breadcrumb */
        #Breadcrumb .breadcrumb-item + .breadcrumb-item::before {
            content: " / " !important;
            color: #6c757d !important;
            margin: 0 0.5rem !important;
        }

/* Responsive design */
@media (max-width: 768px) {
    #Breadcrumb {
        padding: 0.75rem 1rem !important;
    }

        #Breadcrumb .breadcrumb {
            font-size: 0.85rem !important;
        }
}

/* Style pour les pages sans breadcrumb */
.fh-no-breadcrumb {
    height: calc(100% - 99px) !important;
    margin: 0 -15px !important;
    position: relative !important;
}

/* ===========================================
   MODERN TABS STYLES
   =========================================== */

/* Correction des conflits avec les tabs */
.nav-tabs .nav-link {
    display: block !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0.75rem 1.5rem !important;
    color: #6c757d !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-size: 0.9rem !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    white-space: nowrap !important;
    min-height: auto !important;
    gap: 0.5rem !important;
    background: transparent !important;
    width: auto !important;
    border: none !important;
    margin: 0 !important;
}

    .nav-tabs .nav-link:hover {
        background: #f8f9fa !important;
        color: var(--main-primary-color, #007bff) !important;
        transform: none !important;
        box-shadow: none !important;
    }

    .nav-tabs .nav-link:focus {
        outline: none !important;
        background: #e9ecef !important;
        color: var(--main-primary-color, #007bff) !important;
    }

    .nav-tabs .nav-item.show .nav-link,
    .nav-tabs .nav-link.active {
        background: #ffffff !important;
        color: var(--main-primary-color, #007bff) !important;
        font-weight: 600 !important;
        box-shadow: 0 -3px 5px rgba(0,0,0,0.1) !important;
        border-bottom: 3px solid var(--main-primary-color, #007bff) !important;
    }

.nav-tabs {
    border-bottom: 2px solid #e9ecef !important;
    background: #f8f9fa !important;
    padding: 0.5rem 0 0 0 !important;
    margin-bottom: 0 !important;
}

    .nav-tabs .nav-item {
        margin-bottom: 0 !important;
    }

.tab-content {
    background: #ffffff !important;
    padding: 1rem !important;
    /*border-radius: 0 0 8px 8px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;*/
}

/* Icônes dans les tabs */
.nav-tabs .nav-link i {
    width: auto !important;
    height: auto !important;
    font-size: 1rem !important;
    color: inherit !important;
    transition: color 0.3s ease !important;
    display: inline-block !important;
    margin-right: 0.5rem !important;
}

.nav-tabs .nav-link:hover i {
    color: var(--main-primary-color, #007bff) !important;
}

/* ===========================================
   MODERN DROPDOWN MENU STYLES
   =========================================== */

/* Styles généraux pour tous les dropdown-menu */
.dropdown-menu {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    padding: 0.5rem 0 !important;
    margin-top: 0.5rem !important;
    min-width: 200px !important;
    z-index: 2040 !important;
    overflow: hidden;
    animation: fadeInUp 0.3s ease-out;
}

    /* Items de dropdown */
    .dropdown-menu > li > a,
    .dropdown-menu > li > button,
    .dropdown-item {
        display: flex !important;
        align-items: center !important;
        padding: 0.5rem 1.25rem !important;
        color: #374151 !important;
        text-decoration: none !important;
        font-weight: 400 !important;
        font-size: 0.9rem !important;
        transition: all 0.2s ease !important;
        border: none !important;
        background: transparent !important;
        width: 100% !important;
        gap: 0.75rem !important;
        position: relative;
        text-align: left;
    }

        .dropdown-menu > li > a:hover,
        .dropdown-menu > li > button:hover,
        .dropdown-item:hover {
            background: #f8fafc !important;
            color: #1f2937 !important;
            transform: translateX(4px) !important;
        }

        .dropdown-menu > li > a:focus,
        .dropdown-menu > li > button:focus,
        .dropdown-item:focus {
            outline: none !important;
            background: #e5e7eb !important;
            color: #1f2937 !important;
        }

        /* Icônes dans les dropdown */
        .dropdown-menu > li > a i,
        .dropdown-menu > li > button i,
        .dropdown-item i {
            width: 20px !important;
            height: 20px !important;
            font-size: 0.9rem !important;
            color: #6b7280 !important;
            transition: color 0.2s ease !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
        }

        .dropdown-menu > li > a:hover i,
        .dropdown-menu > li > button:hover i,
        .dropdown-item:hover i {
            color: var(--main-primary-color, #007bff) !important;
        }

    /* Séparateurs dans les dropdown */
    .dropdown-menu .divider,
    .dropdown-menu .dropdown-divider {
        height: 1px !important;
        margin: 0.5rem 0 !important;
        background: #e5e7eb !important;
        border: none !important;
    }

    /* Headers dans les dropdown */
    .dropdown-menu .dropdown-header {
        padding: 0.5rem 1.25rem !important;
        background: #f8f9fa !important;
        color: #6b7280 !important;
        font-weight: 600 !important;
        font-size: 0.8rem !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

    /* Actions dangereuses (supprimer, annuler, etc.) */
    .dropdown-menu > li > a[href*="delete"],
    .dropdown-menu > li > a[href*="supprimer"],
    .dropdown-menu > li > a[href*="annuler"],
    .dropdown-menu > li > a[href*="resilier"],
    .dropdown-item[href*="delete"],
    .dropdown-item[href*="supprimer"],
    .dropdown-item[href*="annuler"],
    .dropdown-item[href*="resilier"] {
        color: #dc3545 !important;
    }

        .dropdown-menu > li > a[href*="delete"]:hover,
        .dropdown-menu > li > a[href*="supprimer"]:hover,
        .dropdown-menu > li > a[href*="annuler"]:hover,
        .dropdown-menu > li > a[href*="resilier"]:hover,
        .dropdown-item[href*="delete"]:hover,
        .dropdown-item[href*="supprimer"]:hover,
        .dropdown-item[href*="annuler"]:hover,
        .dropdown-item[href*="resilier"]:hover {
            background: #fef2f2 !important;
            color: #b91c1c !important;
        }

    /* Actions d'impression */
    .dropdown-menu > li > a[href*="print"],
    .dropdown-menu > li > a[href*="imprimer"],
    .dropdown-item[href*="print"],
    .dropdown-item[href*="imprimer"] {
        color: #059669 !important;
    }

        .dropdown-menu > li > a[href*="print"]:hover,
        .dropdown-menu > li > a[href*="imprimer"]:hover,
        .dropdown-item[href*="print"]:hover,
        .dropdown-item[href*="imprimer"]:hover {
            background: #f0fdf4 !important;
            color: #047857 !important;
        }

/* Animation d'apparition */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .dropdown-menu {
        min-width: 180px !important;
        margin-top: 0.25rem !important;
    }

        .dropdown-menu > li > a,
        .dropdown-menu > li > button,
        .dropdown-item {
            padding: 0.625rem 1rem !important;
            font-size: 0.85rem !important;
        }
}

/* ===========================================
   MODERN LOGIN PAGE STYLES
   =========================================== */

.modern-login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    padding: 20px;
    font-family: 'nunito_sanssemibold', 'Open Sans', sans-serif;
}

.login-background {
    width: 100%;
    max-width: 1200px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    display: flex;
    min-height: 600px;
}

.login-content {
    display: flex;
    width: 100%;
    min-height: 600px;
}

/* Branding Section */
.login-branding {
    flex: 1;
    background: linear-gradient(135deg, #2d4a2d 0%, #1a3a1a 50%, #0f2a0f 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
}

    .login-branding::before {
        content: '';
        position: absolute;
        top: -50%;
        right: -50%;
        width: 200%;
        height: 200%;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
        animation: float 6s ease-in-out infinite;
    }

@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(180deg);
    }
}

.brand-logo {
    margin-bottom: 30px;
    z-index: 2;
    position: relative;
}

.brand-logo-img {
    width: 80px;
    height: 80px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease;
}

    .brand-logo-img:hover {
        transform: scale(1.05);
    }

.brand-text {
    text-align: center;
    z-index: 2;
    position: relative;
}

.brand-title {
    font-size: 2.5rem;
    font-weight: 800;
    color: #f5f5dc;
    margin: 0 0 10px 0;
    letter-spacing: 2px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.brand-subtitle {
    font-size: 1.1rem;
    color: rgba(245, 245, 220, 0.9);
    margin: 0;
    font-weight: 300;
    letter-spacing: 1px;
}

/* BCM Powered By - Login Page */
.bcm-powered-by {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    opacity: 0.9;
    transition: opacity 0.3s ease;
}

    .bcm-powered-by:hover {
        opacity: 1;
    }

    .bcm-powered-by span {
        font-size: 11px;
        color: rgba(255, 255, 255, 0.8);
        font-weight: 300;
        letter-spacing: 0.5px;
    }

    .bcm-powered-by a {
        display: flex;
        align-items: center;
        text-decoration: none;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

        .bcm-powered-by a:hover {
            transform: scale(1.05);
            opacity: 1;
        }

    .bcm-powered-by img {
        height: 24px;
        width: auto;
        opacity: 0.9;
        transition: opacity 0.3s ease;
    }

    .bcm-powered-by a:hover img {
        opacity: 1;
    }

/* BCM Powered By - Footer */
.bcm-powered-by-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

    .bcm-powered-by-footer:hover {
        opacity: 1;
    }

    .bcm-powered-by-footer span {
        font-size: 12px;
        color: #999;
        font-weight: 300;
    }

    .bcm-powered-by-footer a {
        display: flex;
        align-items: center;
        text-decoration: none;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

        .bcm-powered-by-footer a:hover {
            transform: scale(1.05);
            opacity: 1;
        }

    .bcm-powered-by-footer img {
        height: 20px;
        width: auto;
        transition: opacity 0.3s ease;
    }

/* Login Form Section */
.login-form-container {
    flex: 1;
    padding: 60px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #ffffff;
}

.login-form-header {
    text-align: center;
    margin-bottom: 40px;
}

.form-logo {
    margin-bottom: 20px;
}

.form-logo-img {
    width: 50px;
    height: 50px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.form-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--main-text);
    margin: 0 0 10px 0;
    letter-spacing: 1px;
}

.form-subtitle {
    font-size: 1rem;
    color: #666;
    margin: 0;
    font-weight: 400;
}

/* Modern Form Styles */
.modern-login-form {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}

.form-group-modern {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--main-text);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.form-label-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.forgot-password-link {
    font-size: 0.85rem;
    color: var(--main-primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

    .forgot-password-link:hover {
        color: var(--main-secondary-color);
        text-decoration: none;
    }

.form-control-modern {
    width: 100%;
    padding: 15px 20px;
    border: 2px solid #e1e5e9;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 400;
    color: var(--main-text);
    background: #ffffff;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

    .form-control-modern:focus {
        outline: none;
        border-color: var(--main-primary-color);
        box-shadow: 0 0 0 3px rgba(135, 142, 126, 0.1);
        transform: translateY(-2px);
    }

    .form-control-modern::placeholder {
        color: #a0a0a0;
        font-weight: 400;
    }

/* Password Input Container */
.password-input-container {
    position: relative;
}

.password-toggle {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #a0a0a0;
    cursor: pointer;
    padding: 5px;
    transition: color 0.3s ease;
    z-index: 2;
}

    .password-toggle:hover {
        color: var(--main-primary-color);
    }

    .password-toggle:focus {
        outline: none;
    }

/* Form Options */
.form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 15px;
}

.remember-me-container {
    display: flex;
    align-items: center;
}

.checkbox-container {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--main-text);
    font-weight: 500;
}

    .checkbox-container input[type="checkbox"] {
        display: none;
    }

.checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid #e1e5e9;
    border-radius: 6px;
    margin-right: 10px;
    position: relative;
    transition: all 0.3s ease;
    background: #ffffff;
}

.checkbox-container input[type="checkbox"]:checked + .checkmark {
    background: var(--main-primary-color);
    border-color: var(--main-primary-color);
}

    .checkbox-container input[type="checkbox"]:checked + .checkmark::after {
        content: '✓';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: white;
        font-size: 12px;
        font-weight: bold;
    }

.checkbox-label {
    user-select: none;
}

.version-info {
    color: #a0a0a0;
    font-size: 0.85rem;
    font-weight: 500;
}

/* Modern Button */
.btn-login-modern {
    width: 100%;
    padding: 18px 30px;
    background: linear-gradient(135deg, #2d4a2d 0%, #1a3a1a 50%, #0f2a0f 100%) !important;
    color: #f5f5dc;
    border: none;
    border-radius: 12px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    letter-spacing: 0.5px;
    box-shadow: 0 8px 25px rgba(45, 74, 45, 0.3);
    position: relative;
    overflow: hidden;
    font-family: nunito_sanssemibold;
    text-transform: none;
    min-height: 44px;
}

    .btn-login-modern::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: left 0.5s ease;
    }

    .btn-login-modern:hover::before {
        left: 100%;
    }

    .btn-login-modern:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    }

    .btn-login-modern:active {
        transform: translateY(-1px);
    }

.btn-text {
    z-index: 2;
    position: relative;
}

.btn-icon {
    z-index: 2;
    position: relative;
    transition: transform 0.3s ease;
}

.btn-login-modern:hover .btn-icon {
    transform: translateX(3px);
}

/* Login Footer */
.login-footer {
    margin-top: 30px;
    text-align: center;
}

.footer-text {
    font-size: 0.85rem;
    color: #a0a0a0;
    margin: 0;
    line-height: 1.5;
}

.footer-link {
    color: var(--main-primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

    .footer-link:hover {
        color: var(--main-secondary-color);
        text-decoration: none;
    }

/* Error Message */
.error-message {
    margin-top: 20px;
    padding: 15px 20px;
    background: #fee;
    border: 1px solid #fcc;
    border-radius: 8px;
    color: #c33;
    font-size: 0.9rem;
    text-align: center;
    font-weight: 500;
}

    .error-message.show {
        display: block !important;
    }

/* Responsive Design */
@media (max-width: 768px) {
    .login-background {
        flex-direction: column;
        min-height: auto;
        margin: 10px;
    }

    .login-content {
        flex-direction: column;
        min-height: auto;
    }

    .login-branding {
        padding: 40px 30px;
        min-height: 300px;
    }

    .brand-title {
        font-size: 2rem;
    }

    .brand-subtitle {
        font-size: 1rem;
    }

    .login-form-container {
        padding: 40px 30px;
    }

    .form-title {
        font-size: 1.5rem;
    }

    .form-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .version-info {
        align-self: flex-end;
    }
}

@media (max-width: 480px) {
    .modern-login-container {
        padding: 10px;
    }

    .login-branding {
        padding: 30px 20px;
    }

    .login-form-container {
        padding: 30px 20px;
    }

    .brand-logo-img {
        width: 60px;
        height: 60px;
    }

    .brand-title {
        font-size: 1.8rem;
    }

    .form-control-modern {
        padding: 12px 15px;
    }

    .btn-login-modern {
        padding: 15px 25px;
        font-size: 1rem;
    }
}

/* Animation for form elements */
.form-group-modern {
    animation: slideInUp 0.6s ease-out;
}

    .form-group-modern:nth-child(1) {
        animation-delay: 0.1s;
    }

    .form-group-modern:nth-child(2) {
        animation-delay: 0.2s;
    }

    .form-group-modern:nth-child(3) {
        animation-delay: 0.3s;
    }

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Loading state for button */
.btn-login-modern.loading {
    pointer-events: none;
    opacity: 0.7;
}

    .btn-login-modern.loading .btn-text::after {
        content: '';
        display: inline-block;
        width: 16px;
        height: 16px;
        border: 2px solid transparent;
        border-top: 2px solid #ffffff;
        border-radius: 50%;
        animation: spin 1s linear infinite;
        margin-left: 10px;
    }

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Assure l'affichage du menu d'action au-dessus du header fixe */
.dropdown-menu {
    z-index: 2050 !important;
}

/* Tooltip personnalisé discret et professionnel */
.custom-info-tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-size: 12px;
    line-height: 1.5;
    max-width: 350px;
    padding: 0;
    margin: 0;
    background-color: rgba(50, 50, 50, 0.95);
    color: #f5f5f5;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

.custom-tooltip-inner {
    padding: 8px 12px;
    text-align: left;
    word-wrap: break-word;
    font-weight: normal;
}

    .custom-tooltip-inner p {
        margin: 0 0 4px 0;
        padding: 0;
        font-size: 12px;
        line-height: 1.4;
    }

        .custom-tooltip-inner p:last-child {
            margin-bottom: 0;
        }

.custom-tooltip-arrow {
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid rgba(50, 50, 50, 0.95);
    transform: translateX(-50%);
}

/* Style de l'icône d'information au survol */
.info-comments-tooltip {
    transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
}

    .info-comments-tooltip:hover {
        opacity: 1 !important;
        color: #495057 !important;
    }


#tenant-debug-panel.collapsed {
    max-width: 220px;
    min-width: 220px;
    padding: 8px 12px;
}

    #tenant-debug-panel.collapsed > div:first-child {
        margin-bottom: 0;
        border-bottom: none;
        padding-bottom: 0;
    }

        #tenant-debug-panel.collapsed > div:first-child strong {
            font-size: 11px;
            white-space: nowrap;
        }

    #tenant-debug-panel.collapsed #debug-panel-content {
        display: none;
    }

    #tenant-debug-panel.collapsed #toggle-debug-panel {
        font-size: 14px;
        padding: 4px 10px;
        font-weight: bold;
        min-width: 28px;
    }

        #tenant-debug-panel.collapsed #toggle-debug-panel::after {
            content: "+";
        }

/* ============================================
   Styles modernisés pour les tableaux DataTables
   Basés sur la maquette fournie
   ============================================ */

/* Style général du tableau DataTables - Surcharge complète */
table.dataTable {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    background-color: #ffffff !important;
    border: none !important;
}

    /* En-têtes - Style épuré sans fond de couleur */
    table.dataTable thead th,
    table.dataTable thead td {
        background-color: var(--main-primary-color)!important;
        border-bottom: 1px solid #e7eaec !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        padding: 10px 16px !important;
        font-weight: 600 !important;
        color: #FFF !important;
        text-align: left !important;
        vertical-align: middle !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.3px !important;
        position: relative !important;
        padding-right: 30px !important;
    }

    /* Corps du tableau */
    table.dataTable tbody th,
    table.dataTable tbody td {
        padding: px 16px !important;
        border-bottom: 1px solid #e7eaec !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        vertical-align: middle !important;
        color: #2c3e50 !important;
        font-size: 13px !important;
        background-color: #ffffff !important;
        height: auto !important;
        line-height: 1.4 !important;
    }

    /* Lignes du tableau */
    table.dataTable tbody tr {
        background-color: #ffffff !important;
        transition: background-color 0.15s ease !important;
    }

        table.dataTable tbody tr:hover {
            background-color: #f8f9fa !important;
        }

        table.dataTable tbody tr:last-child td {
            border-bottom: 1px solid #e7eaec !important;
        }

    /* Suppression des bordures épaisses et fond de couleur */
    table.dataTable,
    table.dataTable thead,
    table.dataTable tbody,
    table.dataTable tfoot {
        border: none !important;
    }

        table.dataTable thead th:first-child,
        table.dataTable tbody td:first-child,
        table.dataTable tbody th:first-child {
            padding-left: 20px !important;
        }

        table.dataTable thead th:last-child,
        table.dataTable tbody td:last-child,
        table.dataTable tbody th:last-child {
            padding-right: 20px !important;
        }

        /* Supprimer les styles de bordure de tri DataTables */
        table.dataTable.row-border tbody th,
        table.dataTable.row-border tbody td,
        table.dataTable.display tbody th,
        table.dataTable.display tbody td {
            border-top: none !important;
        }

        /* Couleurs alternées pour les lignes odd/even */
        table.dataTable tbody tr.odd,
        table.dataTable.stripe tbody tr.odd,
        table.dataTable.display tbody tr.odd {
            background-color: #ffffff !important;
        }

        table.dataTable tbody tr.even,
        table.dataTable.stripe tbody tr.even,
        table.dataTable.display tbody tr.even {
            background-color: #e7eaec !important;
        }

            table.dataTable tbody tr:hover,
            table.dataTable tbody tr.odd:hover,
            table.dataTable tbody tr.even:hover,
            table.dataTable.stripe tbody tr.odd:hover,
            table.dataTable.stripe tbody tr.even:hover,
            table.dataTable.display tbody tr.odd:hover,
            table.dataTable.display tbody tr.even:hover {
                background-color: #f8f9fa !important;
            }

/* Wrapper du tableau */
.dataTables_wrapper {
    background-color: #ffffff !important;
    padding: 0 !important;
}

    /* Pagination DataTables - Style épuré et minimaliste selon maquette */
    .dataTables_wrapper .dataTables_paginate {
        float: left !important;
        text-align: left !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }

        .dataTables_wrapper .dataTables_paginate .paginate_button {
            /*padding: 6px 12px !important;*/
            padding: 6px 0 !important;
            /*margin: 0 3px !important;*/
            margin: 0 !important;
            border: none !important;
            background: transparent !important;
            color: #6c757d !important;
            border-radius: 4px !important;
            cursor: pointer !important;
            font-size: 14px !important;
            font-weight: 400 !important;
            transition: all 0.2s ease !important;
            display: inline-block !important;
            /*min-width: 36px !important;*/
            text-align: center !important;
            box-shadow: none !important;
            line-height: 1.5 !important;
        }

            .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
                /* background-color: #f1f3f5 !important;*/
                color: #2c3e50 !important;
                border: none !important;
                box-shadow: none !important;
            }

            /* Page active - Seul le bouton actif a un fond vert */
            .dataTables_wrapper .dataTables_paginate .paginate_button.current,
            .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
                background-color: #28a745 !important;
                color: #ffffff !important;
                border-radius: 4px !important;
                font-weight: 500 !important;
                border: none !important;
                box-shadow: none !important;
            }

            /* Boutons désactivés */
            .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
            .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
            .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
                color: #cbd5e0 !important;
                cursor: not-allowed !important;
                opacity: 0.5 !important;
                background: transparent !important;
                border: none !important;
                box-shadow: none !important;
            }

            /* Boutons Précédent et Suivant - Style minimaliste */
            .dataTables_wrapper .dataTables_paginate .paginate_button.previous,
            .dataTables_wrapper .dataTables_paginate .paginate_button.next {
                color: #6c757d !important;
                font-weight: 400 !important;
                background: transparent !important;
                border: none !important;
                padding: 6px 14px !important;
            }

                .dataTables_wrapper .dataTables_paginate .paginate_button.previous:hover,
                .dataTables_wrapper .dataTables_paginate .paginate_button.next:hover {
                    /* background-color: #f1f3f5 !important;*/
                    color: #2c3e50 !important;
                    border: none !important;
                    box-shadow: none !important;
                }

    /* Espacement entre les boutons */
    /*.dataTables_wrapper .dataTables_paginate .paginate_button.previous {
                margin-right: 6px !important;
            }

            .dataTables_wrapper .dataTables_paginate .paginate_button.next {
                margin-left: 6px !important;
            }*/

    /* Compteur total (info) - Position à droite selon maquette */
    .dataTables_wrapper .dataTables_info {
        clear: none !important;
        float: right !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        padding-right: 0 !important;
        color: #6c757d !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        margin: 0 !important;
        line-height: 1.8 !important;
    }

    /* Footer du tableau - Alignement pagination/info */
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_paginate {
        color: #2c3e50 !important;
    }

    .dataTables_wrapper:after {
        content: "" !important;
        display: table !important;
        clear: both !important;
    }

    /* Amélioration de l'espacement du footer selon maquette */
    .dataTables_wrapper .row {
        margin: 0 !important;
    }

        .dataTables_wrapper .row:first-child {
            margin-bottom: 10px !important;
            background-color: #ffffff !important;
        }

        .dataTables_wrapper .row:last-child {
            margin-top: 0 !important;
            padding-top: 5px !important;
            padding-bottom: 5px !important;
            padding-left: 20px !important;
            padding-right: 20px !important;
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
            flex-wrap: wrap !important;
            background-color: #ffffff !important;
            border-top: none !important;
            min-height: 50px !important;
        }

            /* Assurer que pagination et info sont bien alignés dans le footer */
            .dataTables_wrapper .row:last-child .dataTables_paginate {
                margin: 0 !important;
                padding-left: 0 !important;
                flex: 0 0 auto !important;
            }

            .dataTables_wrapper .row:last-child .dataTables_info {
                margin: 0 !important;
                padding-right: 0 !important;
                flex: 0 0 auto !important;
            }

    /* Conteneur de recherche */
    .dataTables_wrapper .dataTables_filter {
        float: right !important;
        text-align: right !important;
    }

        .dataTables_wrapper .dataTables_filter input {
            border: 1px solid #e7eaec !important;
            border-radius: 6px !important;
            padding: 8px 12px !important;
            font-size: 14px !important;
            color: #2c3e50 !important;
        }

            .dataTables_wrapper .dataTables_filter input:focus {
                outline: none !important;
                border-color: #28a745 !important;
                box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.1) !important;
            }

/* Liens dans les tableaux */
table.dataTable tbody td a {
    color: #2c3e50 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}

    table.dataTable tbody td a:hover {
        color: #28a745 !important;
        text-decoration: none !important;
    }

/* Conteneur table-responsive */
.table-responsive {
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

/* Arrière-plan et conteneur général */
.dataTables_wrapper,
.dataTables_wrapper .row,
.table-responsive {
    background-color: #ffffff !important;
}

/* Réduction de la hauteur des lignes */
table.dataTable tbody tr {
    height: auto !important;
    min-height: 0 !important;
}

/* Amélioration des icônes de tri - Éviter le chevauchement */
table.dataTable thead th.sorting:before,
table.dataTable thead th.sorting:after,
table.dataTable thead th.sorting_asc:before,
table.dataTable thead th.sorting_asc:after,
table.dataTable thead th.sorting_desc:before,
table.dataTable thead th.sorting_desc:after {
    opacity: 0.3 !important;
    font-size: 10px !important;
    right: 10px !important;
    position: absolute !important;
}

table.dataTable thead th.sorting:before,
table.dataTable thead th.sorting_asc:before,
table.dataTable thead th.sorting_desc:before {
    top: 8px !important;
}

table.dataTable thead th.sorting:after,
table.dataTable thead th.sorting_asc:after,
table.dataTable thead th.sorting_desc:after {
    top: 16px !important;
}

table.dataTable thead th.sorting_asc:after,
table.dataTable thead th.sorting_desc:after {
    opacity: 0.8 !important;
    color: #2c3e50 !important;
}

/* Mise en évidence de la colonne triée - En-tête avec couleur légère */
/* S'applique dès le chargement si la colonne est triée par défaut */
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc,
table.dataTable thead th.sorting_asc_disabled,
table.dataTable thead th.sorting_desc_disabled {
    background-color: var(--main-primary-color) !important;
}

/* Forcer la couleur même si les classes ne sont pas encore ajoutées au chargement */
/* Cette règle s'appliquera dès que DataTables initialise le tableau */
table.dataTable thead th[class*="sorting_asc"],
table.dataTable thead th[class*="sorting_desc"] {
    background-color: var(--main-primary-color) !important;
}

/* Solution temporaire : Si DataTables n'ajoute pas les classes au chargement,
   on peut utiliser un sélecteur basé sur la position de la colonne triée.
   Pour le tableau TableMerchandiseContractsArrivalDateExceededResult,
   la colonne ETA (index 2, 3ème colonne) est triée par défaut.
   Note: Cette solution nécessite que le tri par défaut soit configuré dans DataTables
   pour fonctionner de manière générique. */

/* Cibler aussi les colonnes triées même si les classes ne sont pas encore ajoutées */
/* Utiliser un sélecteur d'attribut pour cibler les cellules avec des classes sorting_* */
table.dataTable tbody td[class*="sorting_"],
table.dataTable tbody th[class*="sorting_"],
table.dataTable.order-column tbody td[class*="sorting_"],
table.dataTable.order-column tbody th[class*="sorting_"],
table.dataTable.display tbody td[class*="sorting_"],
table.dataTable.display tbody th[class*="sorting_"] {
    background-color: #f8fbff !important;
}

/* Mise en évidence de la colonne triée - Toutes les cellules de la colonne */
/* DataTables ajoute des classes sorting_1, sorting_2, etc. aux cellules de la colonne triée */
/* Ces styles s'appliquent dès le chargement initial si une colonne est triée par défaut */
table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3,
table.dataTable.order-column tbody tr > .sorting_4,
table.dataTable.order-column tbody tr > .sorting_5,
table.dataTable.order-column tbody tr > .sorting_6,
table.dataTable.order-column tbody tr > .sorting_7,
table.dataTable.order-column tbody tr > .sorting_8,
table.dataTable.order-column tbody tr > .sorting_9,
table.dataTable.order-column tbody tr > .sorting_10,
table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3,
table.dataTable.display tbody tr > .sorting_4,
table.dataTable.display tbody tr > .sorting_5,
table.dataTable.display tbody tr > .sorting_6,
table.dataTable.display tbody tr > .sorting_7,
table.dataTable.display tbody tr > .sorting_8,
table.dataTable.display tbody tr > .sorting_9,
table.dataTable.display tbody tr > .sorting_10 {
    background-color: #f8fbff !important;
}

/* Alternative pour les tableaux sans classe order-column */
table.dataTable tbody tr td.sorting_1,
table.dataTable tbody tr td.sorting_2,
table.dataTable tbody tr td.sorting_3,
table.dataTable tbody tr td.sorting_4,
table.dataTable tbody tr td.sorting_5,
table.dataTable tbody tr td.sorting_6,
table.dataTable tbody tr td.sorting_7,
table.dataTable tbody tr td.sorting_8,
table.dataTable tbody tr td.sorting_9,
table.dataTable tbody tr td.sorting_10,
table.dataTable tbody tr th.sorting_1,
table.dataTable tbody tr th.sorting_2,
table.dataTable tbody tr th.sorting_3,
table.dataTable tbody tr th.sorting_4,
table.dataTable tbody tr th.sorting_5,
table.dataTable tbody tr th.sorting_6,
table.dataTable tbody tr th.sorting_7,
table.dataTable tbody tr th.sorting_8,
table.dataTable tbody tr th.sorting_9,
table.dataTable tbody tr th.sorting_10 {
    background-color: #f8fbff !important;
}

/* Hover sur les lignes - La colonne triée garde sa couleur même au hover */
table.dataTable tbody tr:hover {
    background-color: #f8f9fa !important;
}

table.dataTable.order-column tbody tr:hover > .sorting_1,
table.dataTable.order-column tbody tr:hover > .sorting_2,
table.dataTable.order-column tbody tr:hover > .sorting_3,
table.dataTable.order-column tbody tr:hover > .sorting_4,
table.dataTable.order-column tbody tr:hover > .sorting_5,
table.dataTable.order-column tbody tr:hover > .sorting_6,
table.dataTable.order-column tbody tr:hover > .sorting_7,
table.dataTable.order-column tbody tr:hover > .sorting_8,
table.dataTable.order-column tbody tr:hover > .sorting_9,
table.dataTable.order-column tbody tr:hover > .sorting_10,
table.dataTable.display tbody tr:hover > .sorting_1,
table.dataTable.display tbody tr:hover > .sorting_2,
table.dataTable.display tbody tr:hover > .sorting_3,
table.dataTable.display tbody tr:hover > .sorting_4,
table.dataTable.display tbody tr:hover > .sorting_5,
table.dataTable.display tbody tr:hover > .sorting_6,
table.dataTable.display tbody tr:hover > .sorting_7,
table.dataTable.display tbody tr:hover > .sorting_8,
table.dataTable.display tbody tr:hover > .sorting_9,
table.dataTable.display tbody tr:hover > .sorting_10,
table.dataTable tbody tr:hover td.sorting_1,
table.dataTable tbody tr:hover td.sorting_2,
table.dataTable tbody tr:hover td.sorting_3,
table.dataTable tbody tr:hover td.sorting_4,
table.dataTable tbody tr:hover td.sorting_5,
table.dataTable tbody tr:hover td.sorting_6,
table.dataTable tbody tr:hover td.sorting_7,
table.dataTable tbody tr:hover td.sorting_8,
table.dataTable tbody tr:hover td.sorting_9,
table.dataTable tbody tr:hover td.sorting_10,
table.dataTable tbody tr:hover th.sorting_1,
table.dataTable tbody tr:hover th.sorting_2,
table.dataTable tbody tr:hover th.sorting_3,
table.dataTable tbody tr:hover th.sorting_4,
table.dataTable tbody tr:hover th.sorting_5,
table.dataTable tbody tr:hover th.sorting_6,
table.dataTable tbody tr:hover th.sorting_7,
table.dataTable tbody tr:hover th.sorting_8,
table.dataTable tbody tr:hover th.sorting_9,
table.dataTable tbody tr:hover th.sorting_10 {
    background-color: #e8f2ff !important;
}

/* Couleurs alternées pour les classes stripe */
table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd {
    background-color: #ffffff !important;
}

table.dataTable.stripe tbody tr.even,
table.dataTable.display tbody tr.even {
    background-color: #e7eaec !important;
}

    table.dataTable.stripe tbody tr.odd:hover,
    table.dataTable.stripe tbody tr.even:hover,
    table.dataTable.display tbody tr.odd:hover,
    table.dataTable.display tbody tr.even:hover {
        background-color: #f8f9fa !important;
    }

table.dataTable.hover tbody tr:hover,
table.dataTable.display tbody tr:hover {
    background-color: #f8f9fa !important;
}

/* Couleurs alternées pour toutes les cellules */
table.dataTable > tbody > tr.odd > * {
    background-color: #ffffff !important;
    box-shadow: none !important;
}

table.dataTable > tbody > tr.even > * {
    background-color: #e7eaec !important;
    box-shadow: none !important;
}

/* Éliminer les bordures restantes */
table.dataTable.no-footer {
    border-bottom: none !important;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
    border-bottom: none !important;
}


table.dataTable tbody tr > .dtfc-fixed-left, table.dataTable tbody tr > .dtfc-fixed-right,
table.dataTable tbody tr > .dtfc-fixed-left, table.dataTable tbody tr > .dtfc-fixed-right,
table.dataTable thead th.contentFixeRow {
    background: #F8F8F8 !important;
}

th, td {
    white-space: nowrap !important;
}

/* Styles pour les tableaux Bootstrap standards (non-DataTable) */
.table-striped > tbody > tr:nth-of-type(odd),
.table-striped > tbody > tr:nth-child(odd) {
    background-color: #ffffff !important;
}

.table-striped > tbody > tr:nth-of-type(even),
.table-striped > tbody > tr:nth-child(even) {
    background-color: #e7eaec !important;
}

/* Styles pour les tableaux standards avec classe table */
.table > tbody > tr:nth-child(odd) {
    background-color: #ffffff !important;
}

.table > tbody > tr:nth-child(even) {
    background-color: #e7eaec !important;
}
