:root {
    --tblr-font-weight-bold: 600;
    --tblr-font-weight-medium: 500;
    --tblr-font-size-h1: 2rem;
    --tblr-font-size-h2: 1.5rem;
    --tblr-font-size-h3: 1.25rem;
    --tblr-font-size-h4: 1rem;
    --tblr-font-size-h5: 0.875rem;
    --tblr-font-size-h6: 0.75rem;
}

:root {
    scroll-behavior: auto !important;
}


tr, .card, li {
    scroll-margin-top: 30vh !important;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700 !important;
}

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

.form-label {
    font-weight: 600;
}

.logo-lg, .logo-mini {
    color: lightgrey;
}

section.content {
    min-height: 1000px;
}


span.label-tag {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    margin-right: 5px;
    font-size: 12px;
    font-weight: 400;
    padding: 2px 3px;
    color: black;
}

.logo-lg b, .logo-mini b {
    color: white
}

.text-muted {
    color: lightgray;
}

section.content {
    margin-top: 20px;
}

section.article img {
    max-width: 100%;
}

.content-header > .breadcrumb > li > a.btn {
    color: white;
    text-decoration: none;
    display: inline-block;
}

.content-header > .breadcrumb > li > a.btn.btn-default {
    color: #00a6d9;
}

section.article {
    padding: 20px;
}

pre {
    background-color: #fafafa;
}

.content-header > .breadcrumb > li > a {
    color: #72afd2;
    /* display: inline-block; */
}

.label-default {
    color: white;
}

.info-box-icon {
    font-size: 40px;
}

p.resource-description {
    color: black;
    margin: 0;
    max-height: 40px;
    overflow-y: hidden;
}

.resource-title {
    margin: 2px 0 5px 0;
}

.resource-title img {
    width: 20px;
}

input.form-control.active {
    background-color: white !important;
}

.select2-selection {
    border-color: var(--tblr-border-color) !important;
}

.select2-selection--single, .select2-selection--multiple {
    background-color: var(--tblr-bg-forms) !important;
    color: var(--tblr-body-color) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--tblr-body-color) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--tblr-bg-forms) !important;
    color: var(--tblr-body-color) !important;
}

.select2-container--default .select2-results__option--selected {
    opacity: 0.5;
    background-color: rgb(0, 0, 0, 0.2) !important;
    color: var(--tblr-body-color) !important;
}

.select2-dropdown {
    background-color: var(--tblr-bg-forms) !important;
    color: var(--tblr-body-color) !important;
}

.select2-container--default .select2-selection--single {
    height: auto !important; /* Allow height to adjust */
    min-height: 34px; /* Minimum height */
    box-shadow: var(--tblr-box-shadow-input);
    border-radius: var(--tblr-border-radius);
}

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

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 34px !important;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    height: 34px !important;
}

/* The container */
.select2-container--default .select2-selection--multiple {
    height: auto !important; /* Allow dynamic height */
    min-height: 34px; /* Minimum height */
    padding-top: 0px;
}

/* The selected items */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    height: 24px !important; /* 2px less to account for borders */
    line-height: 24px !important;
    margin-bottom: 5px !important; /* Center vertically */
    background-color: #eef3f6;
    border: 1px solid #dce1e7;
}

.select2-container--default .select2-selection--multiple {
    padding-bottom: 0px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    border-right: 1px solid #dce1e7;
}

/* The search field */
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    height: 30px !important;
    line-height: 30px !important;
}

img.img-flag {
    width: 20px;
}


.gitlab::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 1.35em;
    border-bottom-color: #FC6D26;
    border-right-color: #FC6D26;
}

.gitlab::before {
    content: "\f296";
    font-family: 'FontAwesome';
    position: absolute;
    z-index: 1000;
    bottom: 1px;
    right: 3px;
    color: white
}


.info-box {
    position: relative;
}

.layout-top-nav .wrapper .main-header .brand-image {
    height: 45px;
}

#logo {
    height: 100px;
}

@media (max-width: 768px) {
    #logo {
        height: 60px;
    }
}

.py-100 {
    padding: 100px 0;
}


.clickable-row {
    cursor: pointer;
}

.badge-used {
    color: #fff;
    background-color: #ffca28;
}

.badge-available {
    color: #fff;
    background-color: #9ccc65;
}


.unitinput {
    max-width: 250px;
}

.unitinput input[type=number]::-webkit-inner-spin-button,
.unitinput input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


#notifications {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 4001;
    min-width: 300px;
    animation: shake 0.4s cubic-bezier(.36, .07, .19, .97) both;
}

.bg-success-lt {
    background:#EAF7EE !important;
}

span.highlight {
    background-color: #fdeccc;
}

#hijack-notification {
    position: fixed;
    text-align: center;
    bottom: 10px;
    left: 10px;
    border-radius: 5px;
    width: 30vw;
    z-index: 4000;
    background: #ffe761;
    padding: 20px 30px;
    font-size: 1em;
}

.has-error input {
    border: 1px solid #d63939;
}

.dataTables_info {
    padding: 10px;
}

#sidebar-menu .nav-main-heading {
    color: #7186a3;
    padding: 1.375rem 1rem 0.375rem;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .0625rem;
}

.input[type=range].form-control {
    width: 100%;

}

@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }
    10%, 50%, 90% {
        transform: translateX(-10px);
    }
    30%, 70% {
        transform: translateX(10px);
    }
}


th.sorting {
    position: relative;
    cursor: pointer;
    color: #3f9ce8;
}

th.sorting:after {
    content: "";
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    background: url("data:image/svg+xml,<svg xmlns= 'http://www.w3.org/2000/svg' viewBox= '0 0 16 16' width= '16' height= '16' fill= 'none' stroke= 'currentColor' stroke-linecap= 'round' stroke-linejoin= 'round' stroke-width= '1' ><path d= 'M5 7l3 -3l3 3' /><path d= 'M5 10l3 3l3 -3' /></svg>") no-repeat center;
    opacity: .3;
    position: relative;
    left: 3px;
    bottom: -3px;
    font-weight: 900;
    font-size: 12px;
}


th.sorting.sorting_asc:after {
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 10l3 -3l3 3'/></svg>") no-repeat center;
    opacity: 1;
}


th.sorting.sorting_desc:after {
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 7l3 3l3 -3'/></svg>") no-repeat center;
    opacity: 1;
}

.z-2000 {
    z-index: 2000 !important;
}

.btn-md {
    padding: 0.3rem 0.5rem !important;
    font-size: 0.8rem !important;
}


.fc-daygrid-day {
    cursor: pointer; /* Change le curseur pour indiquer qu'un clic est possible */
}

.fc-daygrid-day:hover {
    background-color: #f0f0f0; /* Légère modification de la couleur de fond au survol */
}

.nowrap {
    white-space: nowrap !important;
}


.alert-success {
    background: #E9F7EC;
    color: #30B244;
}

.alert-danger {
    background: #FAEBEA;
    color: #D53839;
}

.alert-info {
    background: #E8F4FD;
    color: #3F9CE8;
}

.alert-warning {
    background: #FFF3E0;
    color: #FFB300;
}


a.fc-event {
    font-weight: 600;
}


a.fc-event.event-comment:before {
    content: '';
    position: absolute;
    top: 2px;
    right: 2px;
    width: 17px;
    height: 17px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='icon icon-tabler icons-tabler-outline icon-tabler-message-2'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M8 9h8' /%3E%3Cpath d='M8 13h6' /%3E%3Cpath d='M9 18h-3a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-3l-3 3l-3 -3z' /%3E%3C/svg%3E");
}

a.fc-event.event-not-validated {
    /** add white stripes on background **/
    background-image: repeating-linear-gradient(45deg, transparent, transparent 4px, rgba(255, 255, 255, 0.6) 4px, rgba(255, 255, 255, 0.6) 8px);
}


.bg-engie {
    color: white;
    background: linear-gradient(135deg, #00bcfd, #23d2b5);
}

.horizontalform .mb-3 {
    margin-bottom: 0 !important;
}


#mozaik .card {
    height: 100px;
}

#mozaik .card h4 {
    font-size: 1.2em;
    color: rgb(29, 39, 59);

}

#mozaik .card p {
    font-size: 0.9em;
    color: rgb(29, 39, 59);
}


#mozaik .card svg {
    width: 50px;
    height: 50px;
}


#notification-procedureodeur {
    margin-left: 15rem;
}

@media (max-width: 990px) {
    #notification-procedureodeur {
        margin-left: 0;
    }
}

.note-toolbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000;
    background-color: white;
}

.redactor-box {
    border: 1px solid #d2d6de;
    border-radius: 5px;
    padding: 16px 18px;
    margin-bottom: 20px;
}

/* import /static/fonts/ClanPro-Bold.otf */
@font-face {
    font-family: 'ClanPro-Bold';
    src: url('/static/fonts/ClanPro-Bold.otf') format('opentype');
}


.procedure h1, .procedure h2, .procedure h3, .procedure h4, .procedure h5, .procedure h6 {
    font-family: 'ClanPro-Bold', sans-serif;
    font-weight: 600;
    color: #062265;
}

.redactor-box-fullscreen {
    background-color: white;
}


#loader {
    z-index: 10001 !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/** make table look like .table.table-bordered by default **/

.procedure table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1rem;
}

.procedure table td {
    border: 1px solid #dee2e6;
    padding: 0.75rem;
    vertical-align: top;
}


.leaflet-control-attribution {
    display: none;
}


.leaflet-container {
    background: white !important;
    outline: 0;
}

.leaflet-wrapper {
    position: relative; /* This is crucial for positioning the map container absolutely within it */
    width: 100%;
    padding-top: 66%; /* Sets the height as 2:3 aspect ratio */
}

.leaflet-wrapper > div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}


.inhibe {
    animation: pulse 2s infinite;
    paint-order: stroke;
}

@keyframes pulse {
    0% {
        stroke-width: 2;
        stroke-opacity: 1;
    }
    100% {
        stroke-width: 30;
        stroke-opacity: 0;
    }
}

.dropdown-menu.show {
    z-index: 1001
}

.carousel-caption-background:hover {
    background: transparent;
}

.carousel-caption-background:hover + .carousel-caption {
    display: none;
}

.bg-danger-ltt {
    background-color: rgba(251, 235, 235, 0.75) !important;
}

.bg-success-ltt {
    background-color: rgba(234, 247, 236, 0.75) !important;
}

.bg-yellow-ltt {
    background-color: rgba(254, 245, 230, 0.75) !important;
}

/** flash background color for 1 second then fade it back to white **/
.flash {
    animation: flash 1.5s;
}

@keyframes flash {
    from {
        background-color: #fdeccc;
    }
    to {
        background-color: white;
    }
}

.icon-md {
    --tblr-icon-size: 2rem;
    stroke-width: 1
}

.form-check-input.danger:checked {
    background-color: #D63939;
}

.tox-promotion, .tox-statusbar__right-container {
    display: none !important;
}

.navbar .navbar-nav .nav-link .badge {
    position: relative;
    top: 0;
    right: 0;
    transform: translate(0, 0);
}


#searchfields .mb-3 {
    margin-bottom: 0.2rem !important;
}

#searchfields div {
    min-width: 270px;
}

.z-1000 {
    z-index: 1000;
}

.z-2000 {
    z-index: 2000;
}


path.pulse {
    animation: pulse 2s infinite;
}


@keyframes pulse {
    0% {
        stroke-width: 2;
        stroke-opacity: 0.7;
    }
    100% {
        stroke-width: 30;
        stroke-opacity: 0;
    }
}

input[type="color"] {
    max-width: 50px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

/* Styles pour les événements demi-journées */
.event-half-day-am {
    width: 50% !important;
    left: 0 !important;
}

.event-half-day-pm {
    width: 50% !important;
    left: 50% !important;
}
