:root {
    --main-color: #007bff;
    --main-color-light: #007bff;
    --main-color-dark: #0062cc;
    --main-color-darker: #00478f;
    --main-color-darkest: #002c50;
    --main-color-lighter: #008cff;
    --main-color-lightest: #b3d7ff;
    --main-color-text: #000;
    --main-color-text-light: #fff;
    --main-color-light: #fff;
}

/* your styles go here */
.hide{
    display:none;
}
nav.navbar {
    position: relative;
    padding-top: 80px;
    padding-left: 90px;
    background:transparent !important;
    color: #6e797e;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.navbar .logo {
    margin: 0;
    right: 919px;
    position: absolute;
    top: 24px;
}

.header-infos{
    font-size: 0.65rem;
    font-family: sans-serif;
    color: white;
    display: flex;
    align-items: center;
    position: absolute;
    bottom: -22px;
    left: 10px;
    width: fit-content;
    justify-content: space-between;
}

.small-box {
    border-radius: 2px;
    position: relative;
    display: block;
    margin-bottom: 20px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.small-box > .inner {
    padding: 10px;
}
.small-box > .small-box-footer {
    position: relative;
    text-align: center;
    padding: 3px 0;
    color: #fff;
    color: rgba(255, 255, 255, 0.8);
    display: block;
    z-index: 10;
    background: rgba(0, 0, 0, 0.1);
    text-decoration: none;
}
.small-box > .small-box-footer:hover {
    color: #fff;
    background: rgba(0, 0, 0, 0.15);
}
.small-box h3 {
    font-size: 38px;
    font-weight: bold;
    margin: 0 0 10px 0;
    white-space: nowrap;
    padding: 0;
}
.small-box p {
    font-size: 15px;
}
.small-box p > small {
    display: block;
    color: #f9f9f9;
    font-size: 13px;
    margin-top: 5px;
}
.small-box h3,
.small-box p {
    z-index: 5;
}
.small-box .icon {
    -webkit-transition: all 0s linear;
    -o-transition: all 0s linear;
    transition: all 0s linear;
    position: absolute;
    top: 25px;
    right: 50px;
    z-index: 0;
    font-size: 60px;
    color: rgba(255, 255, 255, 0.50);
}
.small-box:hover {
    text-decoration: none;
    color: #f9f9f9;
}
.small-box:hover .icon {
    font-size: 70px;
}
@media (max-width: 767px) {
    .small-box {
        text-align: center;
    }
    .small-box .icon {
        display: none;
    }
    .small-box p {
        font-size: 12px;
    }
}


.bg-red,
.bg-yellow,
.bg-aqua,
.bg-blue,
.bg-light-blue,
.bg-green,
.bg-navy,
.bg-teal,
.bg-olive,
.bg-lime,
.bg-orange,
.bg-fuchsia,
.bg-purple,
.bg-maroon,
.bg-black,
.bg-red-active,
.bg-yellow-active,
.bg-aqua-active,
.bg-blue-active,
.bg-light-blue-active,
.bg-green-active,
.bg-navy-active,
.bg-teal-active,
.bg-olive-active,
.bg-lime-active,
.bg-orange-active,
.bg-fuchsia-active,
.bg-purple-active,
.bg-maroon-active,
.bg-black-active,
.callout.callout-danger,
.callout.callout-warning,
.callout.callout-info,
.callout.callout-success,
.alert-success,
.alert-danger,
.alert-error,
.alert-warning,
.alert-info,
.label-danger,
.label-info,
.label-warning,
.label-primary,
.label-success,
.modal-primary .modal-body,
.modal-primary .modal-header,
.modal-primary .modal-footer,
.modal-warning .modal-body,
.modal-warning .modal-header,
.modal-warning .modal-footer,
.modal-info .modal-body,
.modal-info .modal-header,
.modal-info .modal-footer,
.modal-success .modal-body,
.modal-success .modal-header,
.modal-success .modal-footer,
.modal-danger .modal-body,
.modal-danger .modal-header,
.modal-danger .modal-footer {
    color: #fff !important;
}


.bg-aqua,
.callout.callout-info,
.alert-info,
.label-info,
.modal-info .modal-body {
    background-color: #00c0ef !important;
}

.bg-aqua-active,
.modal-info .modal-header,
.modal-info .modal-footer {
    background-color: #00a7d0 !important;
}
.bg-aqua-gradient {
    background: #00c0ef !important;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #00c0ef), color-stop(1, #14d1ff)) !important;
    background: -ms-linear-gradient(bottom, #00c0ef, #14d1ff) !important;
    background: -moz-linear-gradient(center bottom, #00c0ef 0%, #14d1ff 100%) !important;
    background: -o-linear-gradient(#14d1ff, #00c0ef) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#14d1ff', endColorstr='#00c0ef', GradientType=0) !important;
    color: #fff;
}
.bg-green,
.callout.callout-success,
.alert-success,
.label-success,
.modal-success .modal-body {
    background-color: #00a65a !important;
}
.bg-green-active,
.modal-success .modal-header,
.modal-success .modal-footer {
    background-color: #008d4c !important;
}
.bg-green-gradient {
    background: #00a65a !important;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #00a65a), color-stop(1, #00ca6d)) !important;
    background: -ms-linear-gradient(bottom, #00a65a, #00ca6d) !important;
    background: -moz-linear-gradient(center bottom, #00a65a 0%, #00ca6d 100%) !important;
    background: -o-linear-gradient(#00ca6d, #00a65a) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ca6d', endColorstr='#00a65a', GradientType=0) !important;
    color: #fff;
}

.bg-yellow {
    background-color: #f39c12 !important;
}

.callout.callout-warning,
.alert-warning,
.label-warning,
.modal-warning .modal-body {
    background-color: var(--main-color-dark) !important;
}
.bg-yellow-active,
.modal-warning .modal-header,
.modal-warning .modal-footer {
    background-color: #db8b0b !important;
}
.bg-yellow-gradient {
    background: #f39c12 !important;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #f39c12), color-stop(1, #f7bc60)) !important;
    background: -ms-linear-gradient(bottom, #f39c12, #f7bc60) !important;
    background: -moz-linear-gradient(center bottom, #f39c12 0%, #f7bc60 100%) !important;
    background: -o-linear-gradient(#f7bc60, #f39c12) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7bc60', endColorstr='#f39c12', GradientType=0) !important;
    color: #fff;
}
.bg-red,
.callout.callout-danger,
.alert-danger,
.alert-error,
.label-danger,
.modal-danger .modal-body {
    background-color: #dd4b39 !important;
}
.bg-red-active,
.modal-danger .modal-header,
.modal-danger .modal-footer {
    background-color: #d33724 !important;
}
.bg-red-gradient {
    background: #dd4b39 !important;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dd4b39), color-stop(1, #e47365)) !important;
    background: -ms-linear-gradient(bottom, #dd4b39, #e47365) !important;
    background: -moz-linear-gradient(center bottom, #dd4b39 0%, #e47365 100%) !important;
    background: -o-linear-gradient(#e47365, #dd4b39) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e47365', endColorstr='#dd4b39', GradientType=0) !important;
    color: #fff;
}
.padding-20 {
    padding: 20px 20px 20px 20px;
}
.fa-groupe {
    font-size: .5em;
    color: #fff;
    margin-left: 1px;
}
.btn-xs, .btn-group-xs > .btn {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}
.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}
.actions .btn {
    min-width: 28px;
}
.modal-title{
    color: #000;
}
.pull-left {
    float: left!important;
}
.modal-footer {
    display: block;
    text-align: right;
}
.fileinput.input-group {
    display: flex;
}
.login-page::before {
    background-image: linear-gradient(white, darkgrey);
}
.margin-bottom-10 {
    margin-bottom: 10px;
}
.margin-bottom-20 {
    margin-bottom: 20px;
}
.margin-top-10 {
    margin-top: 10px;
}
.margin-top-20 {
    margin-top: 20px;
}
.margin-left-5 {
    margin-left: 5px;
}
.margin-left-10 {
    margin-left: 10px;
}
.margin-left-15 {
    margin-left: 15px;
}
.padding-right-5 {
    margin-right: 5px;
}
.pull-top {
    vertical-align: top;
}
.label.label-info {
    background-color: #2b90d9 !important;
}
.label-date {
    border-radius:.25em;
    color: white;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    padding: .2em .6em .3em;
    font-size: 90%;
}
.text-darkgreen {
    color: #28a745;
}

/* theme client : TGR */
/*
.footer.main-footer {
	background-color: #999 !important;
}
.card-close .dropdown-menu a:hover {
	background: #ff7f00;
}
nav.side-navbar ul li a:hover {
	background: #ff7f00;
}
nav.side-navbar ul li.active > a {
	background: #ff7f00 !important;
}
nav.side-navbar ul li.active > a:hover {
	background: #ff7f00;
}
nav.navbar .dropdown-menu a i {
	background: #ff7f00;
}
.login-page .form-holder .info {
	background: #ff7f00;
}
*/

.btn {
    min-width: 30px !important;
    margin-bottom: 2px;
}
.form-control-label {
    /*font-size:1.1em;*/
}

/**  Toggle scwitch**/
.switch {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 17px;
}

.switch input {display:none;}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #999;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 13px;
    width: 13px;
    left: 4px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
    background-color: #00aa00;
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

.small-line {
    height: 1px;
    border-bottom: 1px solid #aaa;
    margin: 10px 0;
    width: 40px;
}


/*** editors ***/

.editor .btn-default {
    background-color: #f4f4f4;
    color: #444;
    border-color: #ddd;
}
.editor .btn {
    border-radius: 3px;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 1px solid transparent;
}

.editor .btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

.editor .btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

.note-editor .note-statusbar .note-resizebar{
    height: 13px!important;
}

.input-group-addon .btn .btn-default .btn-file {
    margin-bottom: 0px!important;
}
#bloc-loader {
    height: 100%;
    width: 100%;
    top: 0;
    position: fixed;
    z-index: 9999999;
    text-align: center;
    opacity: 0.7;
    display: none;
}
/* line 186, sass/main.scss */
#bloc-loader .loader {
    background: url(../img/ajax-loader.gif) #767676 no-repeat center 10px;
    width: 120px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    opacity: 1;
    position: relative;
    top: 30%;
    color: #fff;
    left: 50%;
    margin-left: -60px;
    padding: 50px 0 10px;
}
/* line 198, sass/main.scss */
#bloc-loader i {
    font-size: 2.5em;
    display: block;
    margin-bottom: 20px;
}
.form-group .form-control-label.required:after {
    content: "*";
    color: red;
    margin-left: 5px;
}
.irs-min, .irs-max, .irs-from, .irs-to {
    color: black !important;
    font-weight: 600 !important;
    font-size: 1.2em !important;
}
.irs-from, .irs-single, .irs-to {
    background : var(--main-color) !important;
    color: var(--main-color-text-light) !important;
}

.header {
    height: 144px;
    background: url('../img/bandeau.jpg') no-repeat;
}

nav.navbar .menu-btn span {
    width: 20px;
    height: 2px;
    background: var(--main-color-text-light);
    display: block;
    margin: 4px auto 0;
    -webkit-transition: all 0.3s cubic-bezier(0.81, -0.33, 0.345, 1.375);
    transition: all 0.3s cubic-bezier(0.81, -0.33, 0.345, 1.375);
}

nav.side-navbar ul li.active > a {
    background:var(--main-color-lighter);
}

nav.side-navbar ul li.active > a:hover {
    background:var(--main-color);
}

nav.side-navbar ul li a:hover {
    background: var(--main-color);
    border-left: 4px solid var(--main-color-lighter);
    color: var(--main-color-text-light);
}

.width-180 {
    width: 180px;
}

nav.navbar a {
    color: var(--main-color-text-light);
}

footer.main-footer {
    background: var(--main-color);
}

.btn-primary {
    color: var(--main-color-text-light);
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.btn-primary:hover {
    color: var(--main-color-text-light);
    background-color: var(--main-color-lighter);
    border-color: var(--main-color-lighter);
}

.btn-primary:focus, .btn-primary.focus {
    -webkit-box-shadow: unset;
    box-shadow: unset;
    color: var(--main-color-text-light);
}

.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
    color: var(--main-color-text-light);
    background-color: var(--main-color-lighter);
    border-color: var(--main-color-lighter);
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

.page-item.active .page-link {
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.page-link {
    color: var(--main-color);
}

a {
    color: var(--main-color);
}

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

thead a {
    color: var(--main-color-text-light);
    text-decoration: underline;
}

thead a:focus,thead a:hover {
    color: var(--main-color-text);
}

a:focus, a:hover {
    color: var(--main-color);
}

.login-page .form-holder .info {
    background: var(--main-color);
}

.login-page .form-holder .form a.forgot-pass, .login-page .form-holder .form a.signup {
    color: var(--main-color-lighter);
}

.checkbox-template:checked::before, .radio-template:checked::before {
    background: var(--main-color);
    border-color: var(--main-color);
}

.btn-warning {
    color: var(--main-color-text-light);
    background-color: var(--main-color-lighter);
    border-color: var(--main-color-lighter);
}

.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active, .show > .btn-warning.dropdown-toggle{
    color: var(--main-color-text-light);
    background-color: var(--main-color);
    border-color: var(--main-color);
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

.btn-warning:hover ,.btn-warning.hover {
    color: var(--main-color-text-light);
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.btn-warning:focus , .btn-warning.focus {
    -webkit-box-shadow: 0 0 0 0.1rem var(--main-color-lighter);
    box-shadow: 0 0 0 0.1rem var(--main-color-lighter);
}

.logo-banner {
    position: absolute;
    top: 55%;
    left: 38%;
    transform: translate(-50%, -50%);
}

.logo-banner img {
    width: 30%;
}

.box-shadow-header {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.card,
.card .card-body { overflow: visible; }

.legend-box {
  position: relative;
  background-color:#007bff;
  border-radius:20px;
  overflow: visible;
}
.legend-toggle {
  position: relative;
  z-index: 2;
  background-color:#007bff;
  border:none;
  font-size:1rem;
  box-shadow:none;
  cursor:pointer;
  transition:background-color .3s ease;
  border-radius:20px;
}
.legend-toggle.active {
    border-radius:20px 20px 0 0;
}
.legend-dot {
  display:inline-block;
  width:14px; height:14px;
  border-radius:50%;
  margin-right:8px;
  vertical-align:middle;
}
.legend-toggle .chevron{ color:#fff; transition:transform .14s ease; }
.legend-box.open .legend-toggle .chevron{ transform:rotate(90deg); }

.legend-content{
  position: absolute;
  left: 0; right: 0; top: 100%;
  display: none;
  z-index: 10;
  background-color:#007bff;
  color:#fff;
  padding:1rem 1.25rem;
  font-size:.95rem;
  border-top:1px solid rgba(255,255,255,.2);
  border-radius: 0 0 27px 27px;
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
}

.legend-values { min-width:180px; justify-content:flex-end; }
.legend-values .link-container { display:inline-block; min-width:30px; text-align:center; }
.legend-values .link-container a { width:fit-content; }
.fw-bold { font-weight: 600 !important; }
.types-doc-container { background: #f4f3ff; border-radius: 27px; padding: 25px 0 0 0 !important; }
.shadow-0 { box-shadow: unset !important; }
.fw-500 { font-weight: 500 !important; }
.legend-box button.legend-toggle .legend-toggle-icon { font-size: 13px; margin-right: 10px; transition: all 0.1s; }
.legend-box button.legend-toggle.active .legend-toggle-icon { transform: rotate(90deg); }

.daterangepicker thead{
    background: var(--main-color-text-light);
    color: #666;
}

.daterangepicker .daterangepicker_input i {
    top: 4px  !important;
}

.daterangepicker .input-mini{
    font-size: 14px;
}

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

.custom-checkbox {
    position: relative;
    cursor: pointer;
    font-weight: 500;
    color: #555;
    display: flex;
    margin-bottom: 0;
    align-items: center;
}

.custom-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.custom-checkbox .label-text {
    position: relative;
    padding-left: 35px;
    padding-top: 3px;
    display: inline-block;
}

.custom-checkbox .label-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 22px;
    height: 22px;
    border: 2px solid #ccc;
    border-radius: 6px;
    background: #fff;
    transition: all 0.2s ease;
}

.custom-checkbox .label-text::after {
    content: "✔";
    position: absolute;
    left: 4px;
    top: 0px;
    font-size: 16px;
    color: #fff;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s ease;
}

.custom-checkbox input:checked + .label-text::before {
    background-color: var(--main-color) !important;
    border-color: var(--main-color) !important;
}

.custom-checkbox input:checked + .label-text::after {
    opacity: 1;
    transform: scale(1);
}

.custom-checkbox:hover .label-text::before {
    border-color: var(--main-color) !important;
}

.gap-3 {
    gap: 1rem !important;
}
/* Liste déroulante : flèche dessinée (le navigateur n'en affiche aucune avec appearance:none) */
select.form-control:not([multiple]) {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 32px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 14px 14px;
}

/* Ligne « aucun résultat » des tableaux */
.table > tbody > tr.ligne-vide > td {
    padding: 30px 15px;
    text-align: center;
    color: #777;
}

/* Pages d'erreur (templates/bundles/TwigBundle/Exception) : page autonome, couleurs via --err-* */
.error-body {
    --err-accent: var(--main-color-dark, #0062cc);
    --err-accent-soft: rgba(0, 98, 204, .1);
    --err-title: #1f2333;
    --err-text: #5E6278;
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f3f6fb;
    font-family: Poppins, sans-serif;
    color: var(--err-text);
}
.error-body *, .error-body *::before, .error-body *::after { box-sizing: border-box; }
.error-page { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 16px; }
.error-card {
    width: 100%;
    max-width: 540px;
    padding: 40px 36px;
    border: 1px solid rgba(16, 24, 40, .08);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 40px rgba(16, 24, 40, .08);
    text-align: center;
}
.error-logo { max-width: 220px; height: auto; margin: 0 0 24px; }
.error-code {
    display: inline-flex;
    align-items: center;
    margin: 0 0 14px;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--err-accent-soft);
    color: var(--err-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}
.error-title { margin: 0 0 10px; font-size: 26px; font-weight: 700; line-height: 1.25; color: var(--err-title); }
.error-text { margin: 0 0 26px; font-size: 14px; line-height: 1.6; }
.error-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.error-actions .btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600 !important;
    text-decoration: none;
    cursor: pointer;
}
.error-actions .btn-primary { background: var(--err-accent); border-color: var(--err-accent); color: #fff; }
.error-actions .btn-primary:hover { filter: brightness(1.06); color: #fff; }
.error-actions .btn-default { background: #fff; border-color: rgba(16, 24, 40, .18); color: var(--err-title); }
.error-footer { margin: 24px 0 0; font-size: 12px; color: #9a9aa2; text-align: center; }
@media (max-width: 480px) {
    .error-card { padding: 28px 20px; }
    .error-title { font-size: 21px; }
    .error-actions .btn { width: 100%; justify-content: center; }
}
.accueil-liens { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px; }
