@charset "UTF-8";
/*
__   __   _        _                        
\ \ / /__| |_ _ __| |_  __ _ _ _ _ __  __ _ 
 \ V / -_)  _| '_ \ ' \/ _` | '_| '  \/ _` |
  \_/\___|\__| .__/_||_\__,_|_| |_|_|_\__,_|
             |_|                            
*/
/*
Theme Name: Vetpharma.app
Author: Emmanuel Mutel
Author URI: https://www.sanpan.com
 */
/*
Vetpharma 23.04.2024 - .vtp- or --vtp-
*/
/* Local fonts
-------------------------------------------------- */
@font-face {
    font-family: "opensans";
    src: url("../webfonts/open-sans/OpenSans-Regular-webfont.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "opensans";
    src: url("../webfonts/open-sans/OpenSans-Semibold-webfont.woff") format("woff");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "roboto";
    src: url("../webfonts/roboto/Roboto-Medium-webfont.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}
/* Bootstrap overrides css variables
-------------------------------------------------- */
:root {
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-900: #161615;
    --bs-gray-800: #2d2d2b;
    --bs-gray-700: #555555;
    --bs-gray-600: #757575;
    --bs-gray-500: #A4A4A1;
    --bs-gray-400: #CCCCCA;
    --bs-gray-300: #E9E9E4;
    --bs-gray-200: #F3F3F2;
    --bs-gray-100: #f8f9fa;
    --bs-primary: var(--vtp-primary-color);
    --bs-secondary: var(--vtp-secondary-color);
    --bs-success: var(--vtp-presetcolor-success-darker);
    --bs-info: var(--vtp-presetcolor-info);
    --bs-warning: var(--vtp-presetcolor-warning);
    --bs-danger: var(--vtp-presetcolor-danger);
    --bs-light: var(--vtp-grey-100);
    --bs-dark: var(--vtp-grey-800);
    --bs-primary-rgb: 15, 103, 124;
    --bs-secondary-rgb: 16, 164, 181;
    --bs-success-rgb: 132, 184, 60;
    --bs-info-rgb: 109, 158, 223;
    --bs-warning-rgb: 255, 192, 48;
    --bs-danger-rgb: 211, 49, 63;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 45, 45, 43;
    --bs-link-color: var(--vtp-primary-color);
    --bs-link-color-rgb: 24, 63, 120;
    --bs-link-decoration: underline;
    --bs-link-hover-color: var(--vtp-primary-color-extended-800);
    --bs-link-hover-color-rgb: 10, 88, 202;
    --bs-bg-opacity: 1;
    --bs-font-sans-serif: "Roboto", Arial, sans-serif;
    --bs-border-radius: 0.25rem;
    --bs-border-radius-sm: 0.15rem;
    --bs-border-radius-lg: 0.45rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
}

    :root .btn-primary {
        --bs-btn-color: #fff;
        --bs-btn-bg: var(--vtp-primary-color);
        --bs-btn-border-color: var(--vtp-primary-color);
        --bs-btn-hover-color: var(--vtp-primary-color-extended-700);
        --bs-btn-hover-bg: white;
        --bs-btn-hover-border-color: var(--vtp-primary-color-extended-700);
        --bs-btn-focus-shadow-rgb: 49, 132, 253;
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--vtp-primary-color-extended-700);
        --bs-btn-active-border-color: var(--vtp-primary-color-extended-700);
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        --bs-btn-disabled-color: #fff;
        --bs-btn-disabled-bg: var(--vtp-primary-color-extended-500);
        --bs-btn-disabled-border-color: var(--vtp-primary-color-extended-500);
        --bs-btn-disabled-opacity: 0.8;
    }

    :root .btn-secondary {
        --bs-btn-color: #fff;
        --bs-btn-bg: var(--vtp-secondary-color);
        --bs-btn-border-color: var(--vtp-secondary-color);
        --bs-btn-hover-color: var(--vtp-secondary-color);
        --bs-btn-hover-bg: white;
        --bs-btn-hover-border-color: var(--vtp-secondary-color);
        --bs-btn-focus-shadow-rgb: 130, 138, 145;
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--vtp-primary-color-extended-600);
        --bs-btn-active-border-color: var(--vtp-primary-color-extended-600);
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        --bs-btn-disabled-color: #fff;
        --bs-btn-disabled-bg: var(--vtp-primary-color-extended-400);
        --bs-btn-disabled-border-color: var(--vtp-primary-color-extended-400);
        --bs-btn-disabled-opacity: 0.8;
    }

    :root .btn-light {
        --bs-btn-color: var(--vtp-grey-700);
        --bs-btn-bg: #f8f9fa;
        --bs-btn-border-color: var(--vtp-grey-500);
        --bs-btn-hover-color: var(--vtp-grey-900);
        --bs-btn-hover-bg: var(--vtp-grey-300);
        --bs-btn-hover-border-color: #c6c7c8;
        --bs-btn-focus-shadow-rgb: 211, 212, 213;
        --bs-btn-active-color: var(--vtp-grey-900);
        --bs-btn-active-bg: #c6c7c8;
        --bs-btn-active-border-color: #babbbc;
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        --bs-btn-disabled-color: #212529;
        --bs-btn-disabled-bg: var(--vtp-grey-400);
        --bs-btn-disabled-border-color: var(--vtp-grey-400);
        --bs-btn-disabled-opacity: 0.8;
    }

    :root .btn-dark {
        --bs-btn-color: #fff;
        --bs-btn-bg: var(--vtp-grey-800);
        --bs-btn-border-color: var(--vtp-grey-800);
        --bs-btn-hover-color: var(--vtp-grey-800);
        --bs-btn-hover-bg: var(--vtp-grey-200);
        --bs-btn-hover-border-color: var(--vtp-grey-800);
        --bs-btn-focus-shadow-rgb: 66, 70, 73;
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--vtp-grey-200);
        --bs-btn-active-border-color: var(--vtp-grey-800);
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        --bs-btn-disabled-color: var(--vtp-grey-900);
        --bs-btn-disabled-bg: var(--vtp-grey-500);
        --bs-btn-disabled-border-color: var(--vtp-grey-500);
        --bs-btn-disabled-opacity: 0.8;
    }

    :root .btn-outline-dark {
        --bs-btn-color: var(--vtp-grey-700);
        --bs-btn-border-color: var(--vtp-grey-700);
        --bs-btn-hover-color: #fff;
        --bs-btn-hover-bg: var(--vtp-grey-700);
        --bs-btn-hover-border-color: var(--vtp-grey-700);
        --bs-btn-focus-shadow-rgb: 33, 37, 41;
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--vtp-grey-800);
        --bs-btn-active-border-color: var(--vtp-grey-800);
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        --bs-btn-disabled-color: #212529;
        --bs-btn-disabled-bg: var(--vtp-grey-400);
        --bs-btn-disabled-border-color: var(--vtp-grey-400);
        --bs-gradient: none;
    }

/* Vetpharma css variables : prefix --vpt
-------------------------------------------------- */
:root {
    --vtp-primary-color: #183f78;
    --vtp-secondary-color: #4583da;
    --vtp-primary-color-extended-900: #081528;
    --vtp-primary-color-extended-800: #102a50;
    --vtp-primary-color-extended-700: #183f78;
    --vtp-primary-color-extended-600: #2054a0;
    --vtp-primary-color-extended-500: #2869c8;
    --vtp-primary-color-extended-400: #4583da;
    --vtp-primary-color-extended-300: #6d9de2;
    --vtp-primary-color-extended-200: #95b8ea;
    --vtp-primary-color-extended-100: #bdd3f2;
    --vtp-primary-color: #0d677d;
    --vtp-secondary-color: #0AA4B6;
    --vtp-primary-color-extended-900: #06272f;
    --vtp-primary-color-extended-800: #08303a;
    --vtp-primary-color-extended-700: #094858;
    --vtp-primary-color-extended-600: #0d677d;
    --vtp-primary-color-extended-500: #09859a;
    --vtp-primary-color-extended-400: #0AA4B6;
    --vtp-primary-color-extended-300: #5cc5d2;
    --vtp-primary-color-extended-200: #97DAE2;
    --vtp-primary-color-extended-100: #ace1e8;
    --vtp-additional-color: #d32407;
    --vtp-additional-color-darker: #9b1d07;
    --vtp-additional-color-lighter: #FA8572;
    --vtp-additional-color: #870058;
    --vtp-additional-color-darker: #29001a;
    --vtp-additional-color-lighter: #d20089;
    --vtp-preset-table-border: #80c0e3;
    --vtp-preset-table-background-even: #d7eef2;
    --vtp-preset-background-odd: #ecf8ff;
    --vtp-preset-table-th-background: #c5e2e6;
    --vtp-presetcolor-info-lighter: #8db8f3;
    --vtp-presetcolor-info: #6d9de2;
    --vtp-presetcolor-info-darker: #5189d8;
    --vtp-presetcolor-danger-lighter: #df626e;
    --vtp-presetcolor-danger: #d42b3c;
    --vtp-presetcolor-danger-darker: #af1524;
    --vtp-presetcolor-warning: #ffc107;
    --vtp-presetcolor-warning-lighter: #F8C482;
    --vtp-presetcolor-warning-darker: #D17106;
    --vtp-presetcolor-success: #84BA2E;
    --vtp-presetcolor-success-lighter: #B6D666;
    --vtp-presetcolor-success-darker: #3b5c07;
    --vtp-grey-900: #161615;
    --vtp-grey-800: #2d2d2b;
    --vtp-grey-700: #545454;
    --vtp-grey-600: #757575;
    --vtp-grey-500: #A4A4A1;
    --vtp-grey-400: #CCCCCA;
    --vtp-grey-300: #E9E9E4;
    --vtp-grey-200: #F3F3F2;
    --vtp-grey-100: #f8f9fa;
    --vtp-bg-light-300: #F6F3ED;
    --vtp-bg-light-200: #F3F3F2;
    --vtp-bg-light-100: #f8f9fa;
    --vtp-btn-disabled-color: #b3b3b3;
    --vtp-font-family-base: "opensans", arial, sans-serif;
    --vtp-font-family-secondary: "roboto", arial, sans-serif;
    --bs-body-font-family: var(--vpt-font-family-base);
    --vtp-style-block-gap: 2rem;
}

/* Generic styles
-------------------------------------------------- */
/*Body*/
html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--vtp-font-family-base);
    font-weight: 400;
    color: var(--bs-gray-800);
    font-size: 1rem;
    line-height: 1.1875rem;
    background-color: var(--vtp-bg-light-200);
}

/* Typo */
h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--bs-heading-color);
    font-family: var(--vtp-font-family-secondary);
}

h1,
.h1 {
    font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {
    h1,
    .h1 {
        font-size: 2.35rem;
    }
}

h2,
.h2 {
    font-size: calc(1.325rem + 0.9vw);
    color: var(--vtp-additional-color);
}

@media (min-width: 1200px) {
    h2,
    .h2 {
        font-size: 1.9rem;
    }
}

h3,
.h3 {
    font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {
    h3,
    .h3 {
        font-size: 1.65rem;
    }
}

h4,
.h4 {
    font-size: calc(1.275rem + 0.3vw);
}

@media (min-width: 1200px) {
    h4,
    .h4 {
        font-size: 1.35rem;
    }
}

h5,
.h5 {
    font-size: 1.15rem;
}

h6,
.h6 {
    font-size: 1rem;
}

h3 span,
.h3 span,
h2 span,
.h2 span,
h1 span,
.h1 span {
    color: var(--vtp-grey-700);
}

@media (min-width: 1200px) {
    .fs-1 {
        font-size: 2.35rem !important;
    }

    .fs-2 {
        font-size: 1.9rem !important;
    }

    .fs-3 {
        font-size: 1.65rem !important;
    }

    .fs-4 {
        font-size: 1.35rem !important;
    }
}

.fs-5 {
    font-size: 1.15rem !important;
}

.fs-6 {
    font-size: 1rem !important;
}

.fs-7 {
    font-size: 0.875rem !important;
}

/* links */
a {
    color: var(--bs-link-color);
}

    a:hover, a:focus {
        text-decoration: none;
        color: var(--bs-link-hover-color);
    }

/* Texts */
.text-primary {
    color: var(--bs-primary) !important;
}

.text-secondary {
    color: var(--bs-secondary) !important;
}

.text-success {
    color: var(--bs-success) !important;
}

.text-info {
    color: var(--bs-info) !important;
}

.text-warning {
    color: var(--bs-warning) !important;
}

.text-danger {
    color: var(--bs-danger) !important;
}

.text-light {
    color: var(--bs-light) !important;
}

.text-dark {
    color: var(--bs-dark) !important;
}

.text-bg-primary {
    color: #fff !important;
    background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
    color: #fff !important;
    background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
    color: var(--bs-dark) !important;
    --bs-bg-opacity: 0.55;
    background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
    color: var(--bs-dark) !important;
    --bs-bg-opacity: 0.55;
    background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
    color: var(--bs-dark) !important;
    background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
    color: #fff !important;
    background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
    color: var(--bs-dark) !important;
    background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
    color: #fff !important;
    background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

/* Backgrounds */
.bg-primary {
    color: #fff !important;
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
    color: #fff !important;
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
    color: var(--bs-dark) !important;
    --bs-bg-opacity: 0.55;
    background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
    color: var(--bs-dark) !important;
    --bs-bg-opacity: 0.55;
    background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
    color: var(--bs-dark) !important;
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
    color: #fff !important;
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
    color: var(--bs-dark) !important;
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
    color: #fff !important;
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-grey-200 {
    color: var(--bs-dark) !important;
    background-color: var(--vtp-grey-200) !important;
}

.bg-grey-300 {
    color: var(--bs-dark) !important;
    background-color: var(--vtp-grey-300) !important;
}

.bg-grey-400 {
    color: var(--bs-dark) !important;
    background-color: var(--vtp-grey-400) !important;
}

.bg-grey-500 {
    color: var(--bs-dark) !important;
    background-color: var(--vtp-grey-500) !important;
}

.bg-grey-600 {
    color: var(--vtp-grey-200) !important;
    background-color: var(--vtp-grey-600) !important;
}

.bg-grey-700 {
    color: var(--vtp-grey-200) !important;
    background-color: var(--vtp-grey-700) !important;
}

.bg-grey-800 {
    color: var(--vtp-grey-200) !important;
    background-color: var(--vtp-grey-800) !important;
}

.bg-grey-900 {
    color: var(--vtp-grey-200) !important;
    background-color: var(--vtp-grey-900) !important;
}

.bg-table-th {
    color: var(--vtp-primary-color) !important;
    background-color: var(--vtp-preset-table-th-background) !important;
}

/* Borders | maj */
@media (min-width: 576px) {
    .border-sm {
        border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    }
}

@media (min-width: 768px) {
    .border-md {
        border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    }
}

@media (min-width: 992px) {
    .border-lg {
        border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    }
}

/* Buttons */
.btn {
    border-radius: var(--bs-border-radius-pill);
}

    .btn [class*=fa-] {
        margin-right: 0.5rem;
    }

@media (max-width: 767px) {
    .btn {
        font-size: calc(var(--bs-btn-font-size) * 1.15);
    }
}

.btn-xs,
.btn-group-xs > .btn {
    --bs-btn-padding-y: 0.25rem;
    --bs-btn-padding-x: 0.45rem;
    --bs-btn-font-size: 0.8rem;
    font-weight: 400 !important;
    --bs-btn-border-radius: var(--bs-border-radius-sm);
}

/*Tables*/
table.default > thead > tr > th:not(:last-child) {
    border-right: 1px solid var(--vtp-bg-light-200);
}

table.default > tbody > tr > td:not(:last-child) {
    border-right: 1px solid var(--vtp-grey-300);
}

table.default > tbody > tr:hover > td:not(:last-child), table.default > tbody > tr:focus > td:not(:last-child) {
    border-right: 1px solid var(--vtp-grey-400);
}

table.default > thead > tr > th {
    padding-top: calc(var(--vtp-style-block-gap) * 0.35) !important;
    padding-bottom: calc(var(--vtp-style-block-gap) * 0.35) !important;
    color: var(--vtp-primary-color) !important;
    background-color: var(--vtp-preset-table-th-background) !important;
}

table.default > tbody > tr > td {
    padding-top: calc(var(--vtp-style-block-gap) * 0.3);
    padding-bottom: calc(var(--vtp-style-block-gap) * 0.3);
}

    table.default > tbody > tr > td > [class*=fa-] {
        width: 22px;
        color: var(--vtp-grey-700);
        font-size: 1.1875rem;
    }

    table.default > tbody > tr > td > .icon-action [class*=fa-] {
        font-size: 1.5rem;
    }

@media (min-width: 768px) {
    table.default > tbody > tr > td > .icon-action [class*=fa-] {
        font-size: 1.1875rem;
    }
}

table.default > tbody > tr > td .badge {
    --bs-badge-padding-x: 0.65em;
    --bs-badge-padding-y: 0.55em;
    --bs-badge-font-size: 0.85em;
    --bs-badge-font-weight: 500;
}

    table.default > tbody > tr > td .badge.text-bg-success {
        background-color: var(--vtp-presetcolor-success-lighter) !important;
    }

table.default .table-group-divider {
    border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

/*formulaires*/
input[type=radio],
input[type=checkbox] {
    margin-top: 2px;
}

form {
    --bs-border-color: var(--vtp-primary-color-extended-300);
    font-weight: normal;
    font-size: 1rem;
}

fieldset {
    margin: 0px 0 0px 0;
    margin: 0rem 0 0rem 0;
    padding: 20px 0 20px 0;
    padding: 1.25rem 0 1.25rem 0;
    margin-bottom: calc(var(--vtp-style-block-gap) * 0.85);
    border: 1px solid var(--vtp-grey-400);
    border-radius: var(--bs-border-radius-sm);
    padding: calc(var(--vtp-style-block-gap) * 0.5);
}

    fieldset h2,
    fieldset h3,
    fieldset h4,
    fieldset .h2,
    fieldset .h3,
    fieldset .h4 {
        margin: 10px 0 10px 0;
        margin: 0.625rem 0 0.625rem 0;
    }

label,
.label {
    font-weight: 600;
    color: var(--vtp-grey-700);
    margin-bottom: 6px;
}

    label.form-check-label,
    .label.form-check-label {
        margin-bottom: 7px;
    }

.form-label {
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.form-check-inline label.form-check-label,
.form-check-inline .label.form-check-label {
    margin-bottom: 0px;
}

input + .form-check-label {
    font-weight: 400;
}

legend,
.legend {
    float: none;
    text-align: left;
    margin-bottom: 1rem;
    margin-top: 0;
    padding: calc(var(--vtp-style-block-gap) * 0.05) calc(var(--vtp-style-block-gap) * 0.25);
    width: auto;
    font-size: calc(var(--bs-body-font-size) * 1.1);
    font-weight: 400;
    letter-spacing: -0.5px;
    line-height: 1.25rem;
}

    legend.label,
    .legend.label {
        color: var(--vtp-grey-600);
        background-color: transparent;
        padding: 0;
        margin-bottom: 1rem;
        font-weight: 600;
        font-size: calc(var(--bs-body-font-size) * 1.2);
    }

form legend,
form .legend {
    background-color: var(--vtp-grey-600);
    color: white;
}

ul {
    margin: 10px 0 20px 0;
    padding-left: 1rem;
}

    ul li::before {
        display: none;
    }

input[type=text],
input[type=password],
input[type=email],
input[type=search],
input[type=url],
select,
textarea {
    color: var(--vtp-grey-700);
}

::-moz-placeholder {
    font-size: 0.875rem;
}

::placeholder {
    font-size: 0.875rem;
}

.btn,
button,
button[type=button],
button[type=reset],
button[type=submit],
input[type=button],
input[type=reset],
input[type=submit] {
    font-weight: 600;
}

    .btn.btn-fluid,
    button.btn-fluid,
    button[type=button].btn-fluid,
    button[type=reset].btn-fluid,
    button[type=submit].btn-fluid,
    input[type=button].btn-fluid,
    input[type=reset].btn-fluid,
    input[type=submit].btn-fluid {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

input[type=radio],
input[type=checkbox] {
    margin-top: 2px;
}

.has-success input[type=text],
.has-success input[type=password],
.has-success input[type=email],
.has-success input[type=search],
.has-success input[type=url],
.has-success select,
.has-success textarea, .has-success.radio ul, .has-success.radio checkbox,
.has-error input[type=text],
.has-error input[type=password],
.has-error input[type=email],
.has-error input[type=search],
.has-error input[type=url],
.has-error select,
.has-error textarea,
.has-error.radio ul,
.has-error.radio checkbox {
    border-width: 1px;
    border-style: solid;
    padding-right: 40px;
}

.has-success.radio ul, .has-success.checkbox-tools ul,
.has-error.radio ul,
.has-error.checkbox-tools ul {
    padding: 5px 40px 5px 10px;
}

.has-success [class*=fa-],
.has-error [class*=fa-] {
    font-size: 1.25rem;
    margin-left: 10px;
}

.has-success input + .fa,
.has-success select + .fa,
.has-success textarea + .fa,
.has-error input + .fa,
.has-error select + .fa,
.has-error textarea + .fa {
    position: absolute;
    top: 28px;
    right: 25px;
}

@media (max-width: 991px) {
    .has-success input + .fa,
    .has-success select + .fa,
    .has-success textarea + .fa,
    .has-error input + .fa,
    .has-error select + .fa,
    .has-error textarea + .fa {
        top: 30px;
    }
}

.text-error {
    display: block;
    clear: both;
    line-height: normal;
}

form [class*=bg-] {
    padding: calc(var(--vtp-style-block-gap) * 0.8);
    border-radius: var(--bs-border-radius-sm);
}

.form-control {
    color: var(--vtp-grey-700) !important;
    border-radius: 0.25rem;
}

    .form-control:disabled,
    .form-control[readonly] {
        cursor: not-allowed;
    }

        .form-control:disabled:hover, .form-control:disabled:focus,
        .form-control[readonly]:hover,
        .form-control[readonly]:focus {
            cursor: not-allowed;
        }

.input-group .form-control {
    border-radius: 0.25rem;
}

.input-group button,
.input-group .btn {
    margin-bottom: 0;
    border-color: var(--bs-border-color);
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-top-right-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius);
    font-size: var(--bs-btn-font-size);
}

::-moz-placeholder {
    color: var(--vtp-grey-700) !important;
    font-family: var(--vtp-font-family-base);
}

::placeholder {
    color: var(--vtp-grey-700);
    font-family: var(--vtp-font-family-base);
}

.form-control:disabled,
.form-control[readonly] {
    cursor: not-allowed;
}

    .form-control:disabled:hover, .form-control:disabled:focus,
    .form-control[readonly]:hover,
    .form-control[readonly]:focus {
        cursor: not-allowed;
        box-shadow: none;
        border-color: var(--vtp-grey-400) !important;
    }

.invalid-feedback {
    background-color: var(--bs-form-invalid-color);
    color: white;
    padding: 0.15em 0.25em;
}

/* password show / hide*/
.input-group-text .show-hide-pw {
    color: var(--vtp-grey-600);
}

.form-label {
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.form-check-inline {
    min-height: auto;
}

    .form-check-inline input[type=radio],
    .form-check-inline input[type=checkbox] {
        margin-top: 1px;
        margin-bottom: 0;
    }

/* helpers */
@media (min-width: 576px) {
    .sr-sm-only {
        border: 0;
        clip: rect(1px, 1px, 1px, 1px);
        -webkit-clip-path: inset(50%);
        clip-path: inset(50%);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute !important;
        width: 1px;
        word-wrap: normal !important;
        word-break: normal;
    }

        .sr-sm-only:focus {
            background-color: #f1f1f1;
            border-radius: 3px;
            box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
            clip: auto !important;
            -webkit-clip-path: none;
            clip-path: none;
            color: #21759b;
            display: block;
            font-size: 14px;
            font-size: 0.875rem;
            font-weight: 700;
            height: auto;
            right: 5px;
            line-height: normal;
            padding: 15px 23px 14px;
            text-decoration: none;
            top: 5px;
            width: auto;
            z-index: 100000;
        }
}

@media (min-width: 768px) {
    .sr-md-only {
        border: 0;
        clip: rect(1px, 1px, 1px, 1px);
        -webkit-clip-path: inset(50%);
        clip-path: inset(50%);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute !important;
        width: 1px;
        word-wrap: normal !important;
        word-break: normal;
    }

        .sr-md-only:focus {
            background-color: #f1f1f1;
            border-radius: 3px;
            box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
            clip: auto !important;
            -webkit-clip-path: none;
            clip-path: none;
            color: #21759b;
            display: block;
            font-size: 14px;
            font-size: 0.875rem;
            font-weight: 700;
            height: auto;
            right: 5px;
            line-height: normal;
            padding: 15px 23px 14px;
            text-decoration: none;
            top: 5px;
            width: auto;
            z-index: 100000;
        }
}

/* layout styles
-------------------------------------------------- */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#app {
    display: flex;
    flex-direction: column;
    height: 100%;
}

main {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 auto;
    margin-bottom: auto;
}

    main .content-wrapper {
        flex: 1;
        padding-top: calc(var(--vtp-style-block-gap) * 0.5);
    }

@media (min-width: 576px) {
    main .content-wrapper {
        padding-left: 0;
        padding-right: 0;
    }
}

footer {
    padding: calc(var(--vtp-style-block-gap) * 0.5) 0;
    border-top: 1px solid var(--vtp-primary-color-extended-100);
    text-align: center;
}

/* Grid */
.row > * {
    margin-top: calc(var(--bs-gutter-y) * 0.25);
    margin-bottom: var(--bs-gutter-y);
}

/* layout mobiles styles
-------------------------------------------------- */
.vtp-mobile {
    height: 100vh;
    height: 100dvh;
    flex-direction: column;
}

.vtp-mobile-nav {
    padding: 0;
    border-top: 1px solid var(--vtp-grey-300);
}

    .vtp-mobile-nav .container-fluid {
        padding: 0;
    }

    .vtp-mobile-nav .navbar-nav {
        width: 100%;
        height: 100%;
        margin: 0;
        display: flex;
    }

        .vtp-mobile-nav .navbar-nav .nav-item {
            height: 100%;
            flex: 1;
            text-align: center;
        }

            .vtp-mobile-nav .navbar-nav .nav-item .nav-link {
                padding: 0.75rem;
                color: var(--vtp-primary-color);
            }

@media (max-width: 319px) {
    .vtp-mobile-nav .navbar-nav .nav-item .nav-link {
        padding: 0.65rem;
    }
}

.vtp-mobile-nav .navbar-nav .nav-item .nav-link.active, .vtp-mobile-nav .navbar-nav .nav-item .nav-link:hover, .vtp-mobile-nav .navbar-nav .nav-item .nav-link:focus {
    color: var(--vtp-additional-color);
    background-color: var(--vtp-grey-300);
}

.vtp-mobile-nav .navbar-nav .nav-item [class*=fa-] {
    font-size: 2.125rem;
}

@media (max-width: 319px) {
    .vtp-mobile-nav .navbar-nav .nav-item [class*=fa-] {
        font-size: 1.75rem;
    }
}

.vtp-mobile-content {
    padding: 0.5rem 0.5rem calc(60px + 0.5rem) 0.5rem;
    flex: 1;
}

.vtp-mobile-actions {
    width: 100%;
    padding-left: calc(var(--bs-gutter-x) * 1.5);
    padding-right: calc(var(--bs-gutter-x) * 1.5);
}

/* Modules / composants styles
-------------------------------------------------- */
/* 
- Preloader
- Navigation
- Login
- Breadcrumb
- Titles (pages / sections)
- header Cartridge
- Filters (specifics input)
- Alerts
- spinners
- Toasts
- Badges
- Tooltips
- Progress bar
- Switches (Checkbox input)
- Modales
- Dashboard cards
- Data cards
- Table cards
- Table List / details
- List
- Pagination
- toggle btn
- Tabs
- Accordions
- Drag & Drop / transferts
- Numeric Keyboard (mobile)
- Sticky Footer action
- Autocomplete / Input search 

*/
/* Preloader */
.preloader {
    height: 100vh;
    background-color: var(--vtp-grey-200);
}

.preloader-wrapper {
    position: relative;
}

/* Navigation */
.vtp-sub-nav {
    padding-top: calc(var(--vtp-style-block-gap) * 0.2);
    padding-bottom: calc(var(--vtp-style-block-gap) * 0.2);
}

    .vtp-sub-nav .navbar-brand {
        display: block;
        width: 135px;
        height: 30px;
        box-sizing: content-box;
        margin-left: 0rem;
        margin-right: 0.5rem;
        padding-left: 15px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

        .vtp-sub-nav .navbar-brand img {
            height: 30px;
        }

@media (max-width: 767px) {
    .vtp-sub-nav .navbar-brand {
        width: auto;
        padding: 0;
        margin: 0.5rem auto;
    }

        .vtp-sub-nav .navbar-brand img {
            height: 40px;
        }
}

.vtp-sub-nav .navbar-profile {
    position: relative;
    align-items: center;
}

@media (max-width: 767px) {
    .vtp-sub-nav .navbar-profile {
        flex-direction: row;
        width: 100%;
        justify-content: flex-start;
        align-items: flex-start;
        border-top: 1px solid var(--vtp-grey-400);
        margin-top: 0.5rem;
        padding-top: 0.5rem;
    }

        .vtp-sub-nav .navbar-profile .nav-link-item {
            position: absolute;
            top: -1000rem;
            left: -1000rem;
        }
}

.vtp-sub-nav .navbar-profile .nav-item.vpt-nav-item-btn .nav-link-item {
    position: absolute;
    top: -1000rem;
    left: -1000rem;
}

.vtp-sub-nav .navbar-profile .nav-item.vpt-nav-item-btn [class*=fa-] {
    margin: 0;
}

.vtp-sub-nav .navbar-profile .nav-item .btn {
    --bs-btn-padding-x: 0.65rem;
    margin: calc(var(--vtp-style-block-gap) * 0.1) 0 calc(var(--vtp-style-block-gap) * 0.1) calc(var(--vtp-style-block-gap) * 0.25);
}

@media (max-width: 767px) {
    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile {
        margin-right: auto;
        position: initial;
    }
}

.vtp-sub-nav .navbar-profile .vtp-nav-item-profile.dropdown .dropdown-menu {
    width: 100%;
}

@media (max-width: 767px) {
    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile.dropdown .dropdown-menu {
        position: absolute;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile.dropdown .dropdown-menu .dropdown-item {
        padding: calc(var(--bs-dropdown-item-padding-y) * 3) var(--bs-dropdown-item-padding-x);
    }
}

.vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    background-color: var(--vtp-grey-300);
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
    margin-left: 0;
    border: 1px solid white;
    font-size: 0.875rem;
}

@media (max-width: 767px) {
    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link {
        font-size: 1.125rem;
    }
}

@media (max-width: 575px) {
    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link::before {
        display: inline-block;
        line-height: normal;
        margin: 0.25rem 0.25rem 0;
        font-family: "Font Awesome 6 Free";
        font-weight: 400;
        font-size: 1.25rem;
        content: "\f007";
        color: var(--vtp-grey-700);
    }
}

.vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link .nav-link-item {
    font-weight: 400;
    display: block;
    position: relative;
    top: auto;
    left: auto;
    margin: 0.1rem 0;
    display: flex;
    align-items: baseline;
    color: var(--vtp-grey-700);
}

    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link .nav-link-item.vtp-nav-link-structure {
        font-weight: 600;
        color: var(--vtp-grey-700);
    }

@media (max-width: 575px) {
    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link .nav-link-item:not(.vtp-nav-link-structure) {
        position: absolute;
        top: -1000px;
        left: -1000px;
    }
}

.vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link:hover, .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link:focus {
    background-color: white;
    color: var(--vtp-primary-color-extended-500);
    border: 1px solid var(--vtp-primary-color-extended-500);
}

    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link:hover::before, .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link:focus::before {
        font-weight: 700;
        color: var(--vtp-primary-color-extended-500);
    }

    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link:hover .nav-link-item, .vtp-sub-nav .navbar-profile .vtp-nav-item-profile .nav-link:focus .nav-link-item {
        color: var(--vtp-primary-color-extended-500);
    }

.vtp-sub-nav .navbar-profile .vtp-nav-item-profile [class*=fa-] {
    margin: 0;
    font-size: 1rem;
}

@media (max-width: 767px) {
    .vtp-sub-nav .navbar-profile .vtp-nav-item-profile [class*=fa-] {
        font-size: 1.125rem;
    }
}

.vtp-sub-nav .navbar-profile .vtp-nav-item-profile [class*=fa-].btn {
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
}

.vtp-sub-nav .navbar-profile .vtp-nav-item-profile .dropdown-toggle::after {
    display: none;
}

@media (max-width: 575px) {
    .vtp-sub-nav .vtp-sub-nav-login {
        text-align: right;
    }
}

.vtp-sub-nav .vtp-sub-nav-login .btn:hover, .vtp-sub-nav .vtp-sub-nav-login .btn:focus {
    background-color: var(--vtp-grey-900);
    border-color: var(--vtp-grey-900);
    color: white;
}

.vtp-main-nav {
    padding-top: calc(var(--vtp-style-block-gap) * 0.5);
    align-items: flex-start;
}

    .vtp-main-nav > .container {
        padding: 0;
    }

    .vtp-main-nav .vtp-main-navbar {
        align-items: flex-start;
    }

@media (max-width: 575px) {
    .vtp-main-nav .vtp-main-navbar.navbar-collapse {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }
}

@media (min-width: 992px) {
    .vtp-main-nav {
        padding-bottom: calc(var(--vtp-style-block-gap) * 0.5);
    }
}

@media (max-width: 991px) {
    .vtp-main-nav {
        padding: 0;
    }
}

.vtp-main-nav .navbar-nav .nav-link {
    padding: 0.25rem 0;
    text-decoration: none;
}

@media (min-width: 992px) {
    .vtp-main-nav .navbar-nav .nav-link {
        padding-right: 0;
        padding-left: 0;
        margin: 0 0.5rem;
    }
}

@media (min-width: 992px) {
    .vtp-main-nav .navbar-nav .nav-item {
        max-width: 100px;
        text-align: center;
        display: flex;
    }
}

@media (min-width: 992px) {
    .vtp-main-nav .admin-container {
        margin-left: auto;
    }
}

.vtp-main-nav .admin-container .nav-item {
    color: var(--vtp-primary-color);
}

@media (min-width: 992px) {
    .vtp-main-nav .admin-container .nav-item {
        max-width: none;
        text-align: left;
        display: block;
    }
}

.vtp-main-nav .admin-container .nav-item .icon-action {
    font-size: 1.375rem;
}

.vtp-main-nav .admin-container .nav-item .nav-link-item {
    display: none;
}

@media (max-width: 991px) {
    .vtp-main-nav .admin-container .nav-item .nav-link-item {
        display: block;
    }
}

.vtp-main-nav .icon-action {
    font-size: 1.25rem;
}

.vtp-main-nav span.vtp-main-nav-link-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 991px) {
    .vtp-main-nav span.vtp-main-nav-link-container {
        align-items: flex-start;
    }
}

.vtp-main-nav .vtp-main-nav-item .nav-link {
    font-weight: normal;
    margin-bottom: 0;
    line-height: 1;
    font-size: 0.9375rem;
    color: var(--vtp-primary-color);
}

    .vtp-main-nav .vtp-main-nav-item .nav-link:is(h1, h2, h3, h4, h5, h6) {
        font-weight: normal;
        margin-bottom: 0;
        margin-top: 0;
        line-height: 1;
        font-size: 0.9375rem;
        color: var(--vtp-primary-color);
    }

@media (max-width: 991px) {
    .vtp-main-nav .vtp-main-nav-item .nav-link {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        border-bottom: 2px solid var(--vtp-primary-color-extended-200);
        font-size: 1.125rem;
    }
}

.vtp-main-nav .nav-link {
    border-bottom: 2px solid transparent;
}

    .vtp-main-nav .nav-link .vtp-main-nav-link-container i {
        transition: all 0.15s ease-in-out;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 2px solid var(--vtp-primary-color-extended-300);
        margin-bottom: 0.25rem;
        padding: 1rem;
        text-align: center;
        font-size: 1.375rem;
        width: 55px;
        height: 55px;
        border-radius: 55px;
        box-shadow: none;
    }

        .vtp-main-nav .nav-link .vtp-main-nav-link-container i::before {
            color: var(--vtp-primary-color-extended-300);
        }

        .vtp-main-nav .nav-link .vtp-main-nav-link-container i:hover::before, .vtp-main-nav .nav-link .vtp-main-nav-link-container i:focus::before {
            color: var(--vtp-primary-color-extended-600);
        }

@media (max-width: 991px) {
    .vtp-main-nav .nav-link .vtp-main-nav-link-container i {
        display: none;
    }
}

.vtp-main-nav .nav-link.active {
    border-bottom-color: var(--vtp-primary-color);
}

    .vtp-main-nav .nav-link.active .vtp-main-nav-link-container i {
        border-color: var(--vtp-primary-color);
        background-color: var(--vtp-primary-color);
        color: white;
        border-width: 2px !important;
    }

        .vtp-main-nav .nav-link.active .vtp-main-nav-link-container i::before {
            color: white;
        }

.vtp-main-nav .nav-link:hover, .vtp-main-nav .nav-link:focus {
    transition: all 0.3s ease-in-out 0s;
    border-bottom-color: var(--vtp-primary-color);
}

@media (max-width: 991px) {
    .vtp-main-nav .nav-link:hover, .vtp-main-nav .nav-link:focus {
        background-color: var(--vtp-primary-color-extended-100);
    }
}

.vtp-main-nav .nav-link:hover .vtp-main-nav-link-container i, .vtp-main-nav .nav-link:focus .vtp-main-nav-link-container i {
    border-color: var(--vtp-primary-color);
    background-color: var(--vtp-primary-color);
    color: white;
}

    .vtp-main-nav .nav-link:hover .vtp-main-nav-link-container i::before, .vtp-main-nav .nav-link:focus .vtp-main-nav-link-container i::before {
        transition: all 0.3s ease-in-out 0s;
        color: white;
    }

.vtp-main-nav .admin-container .nav-link {
    border-bottom: none;
}

    .vtp-main-nav .admin-container .nav-link.dropdown-toggle {
        padding: 0;
    }

@media (max-width: 991px) {
    .vtp-main-nav .admin-container .nav-link.dropdown-toggle {
        padding: 0.75rem 0;
    }
}

.vtp-main-nav .admin-container .nav-link.dropdown-toggle::after {
    margin: 0.5rem auto 0;
    content: "";
    border-top: 0.5em solid;
    border-right: 0.5em solid transparent;
    border-bottom: 0;
    border-left: 0.5em solid transparent;
    width: 12px;
    display: block;
}

.navbar-toggler {
    padding: 0.25rem 0.75rem 0.5rem;
    margin: 0.75rem 0.5rem 0.5rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: none;
    color: var(--vtp-secondary-color-darker);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media (max-width: 991px) {
    .navbar-toggler {
        padding: 0.25rem 0.25rem 0.25rem 0;
        margin: 0.75rem 0.5rem 0.5rem 0;
    }
}

@media (max-width: 575px) {
    .navbar-toggler {
        margin-left: 0.75rem;
    }
}

.navbar-toggler[aria-expanded=true] {
    margin-bottom: 1rem;
    color: var(--vtp-secondary-color-darker);
}

.navbar-toggler .navbar-toggler-icon {
    color: transparent;
}

    .navbar-toggler .navbar-toggler-icon::before {
        display: inline-block;
        line-height: normal;
        margin-right: 0;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        font-size: 26px;
        color: var(--vtp-secondary-color-darker);
        content: "\f0c9";
    }

.navbar-toggler[aria-expanded=true] .navbar-toggler-icon {
    color: transparent;
}

    .navbar-toggler[aria-expanded=true] .navbar-toggler-icon::before {
        content: "\f00d";
    }

.dropdown-item {
    --bs-dropdown-link-active-bg: var(--vtp-primary-color);
    --bs-dropdown-link-hover-bg: var(--vtp-primary-color-extended-100);
}

@media (max-width: 767px) {
    .dropdown-item {
        padding: calc(var(--bs-dropdown-item-padding-y) * 3) var(--bs-dropdown-item-padding-x);
    }
}

.dropdown-item.active {
    background-color: var(--bs-dropdown-link-active-bg);
}

/* End : Navigation */
/*LOGIN*/
.login {
    height: 100vh;
    background-color: var(--vtp-grey-200);
}

    .login .login-wrapper {
        position: relative;
        background-color: white;
        max-width: 480px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    }

@media (min-width: 992px) {
    .login .login-wrapper .login-logo {
        display: block;
        position: absolute;
        top: 0;
        margin-left: calc(50% - 150px);
    }
}

.login picture {
    position: relative;
    display: block;
}

    .login picture figcaption {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        font-size: 0.75rem;
        line-height: 0.9375rem;
        padding: 10px;
        background-color: rgba(255, 255, 255, 0.45);
    }

.login-form .btn {
    width: 100%;
}

.login-form .form-check label {
    font-weight: 400;
}

.login-form .valid-feedback,
.login-form .invalid-feedback {
    font-size: 0.875rem;
}

.login-with-picture .login-wrapper {
    max-width: 1140px;
}

/*Breadcrumb*/
nav[aria-label=breadcrumb] {
    padding-top: calc(var(--vtp-style-block-gap) * 0.25);
    padding-bottom: calc(var(--vtp-style-block-gap) * 0.25);
    border-bottom: 1px solid var(--vtp-primary-color-extended-100);
    margin-bottom: calc(var(--vtp-style-block-gap) * 1.25);
    margin-top: calc(var(--vtp-style-block-gap) * -0.5);
}

    nav[aria-label=breadcrumb] > a {
        display: inline-block;
        padding-top: calc(var(--vtp-style-block-gap) * 0.2);
        padding-bottom: calc(var(--vtp-style-block-gap) * 0.2);
    }

.breadcrumb {
    margin: 0;
}

.breadcrumb-item {
    padding-top: calc(var(--vtp-style-block-gap) * 0.2);
    padding-bottom: calc(var(--vtp-style-block-gap) * 0.2);
}

/*Navigation retour N+X*/
@media (max-width: 767px) {
    .nav-content-back:not(:focus):not(:focus-within) {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
}

/*Pages title*/
/*Sections Title*/
.section-title {
    display: inline-block;
    font-size: 1.1875rem;
    line-height: 1.5rem;
    padding: 0.1rem 0.5rem;
}

@media (max-width: 767px) {
    .section-title {
        display: block;
        font-size: 1.375rem;
        line-height: 1.625rem;
        padding: 0.35rem 0.5rem;
    }
}

.section-title.bg-dark {
    background-color: var(--vtp-additional-color) !important;
}

    .section-title.bg-dark > * {
        color: #fff !important;
    }

    .section-title.bg-dark .section-subtitle {
        background-color: var(--vtp-grey-400) !important;
        color: var(--vtp-grey-800) !important;
    }

@media (max-width: 767px) {
    .section-title.bg-dark .section-subtitle {
        display: block;
    }
}

.section-title.bg-dark-subtle {
    color: var(--vtp-grey-800) !important;
    background-color: var(--vtp-grey-400) !important;
}

.section-subtitle {
    display: inline-block;
    font-size: 1.1875rem;
    line-height: 1.5rem;
    font-weight: 400;
    padding: 0.1rem 0.5rem;
    background-color: var(--vtp-grey-400);
    color: var(--vtp-grey-800);
}



@media (max-width: 767px) {
    .section-subtitle {
        display: block;
        padding: 0.35rem 0.5rem;
    }

        .section-subtitle.subsection-subtitle {
            padding-left: 0.8rem;
            padding-right: 0.8rem;
            background-color: var(--vtp-bg-light-300);
        }
}

/*header cartridge*/
.heading-cartridge {
    border: 1px solid var(--vtp-grey-400);
    border-radius: var(--bs-border-radius-sm);
    background-color: white;
    box-shadow: var(--bs-box-shadow-sm);
}

.row:has(>*>.heading-cartridge-header) {
    margin: 0rem;
}

*:has(>.heading-cartridge-header) {
    background-color: var(--vtp-grey-300);
}

.heading-cartridge-header {
    padding: 0.5rem 0rem 0.5rem 0rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (max-width: 767px) {
    .heading-cartridge-header {
        padding: 0.75rem 0.5rem;
    }
}

.heading-cartridge-title {
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin: 0;
}

.heading-cartridge-content {
    padding: 0.5rem 0;
    height: 100%;
}

@media (max-width: 767px) {
    .heading-cartridge-content {
        padding: 0.75rem 0.5rem;
    }
}

.heading-cartridge-content .list-group-item {
    border: none;
    padding: calc(var(--bs-list-group-item-padding-y) * 0.5) var(--bs-list-group-item-padding-x);
}

.heading-cartridge-options {
    padding: 0.75rem 0.5rem;
    height: 100%;
    display: flex;
    align-items: center;
}

@media (min-width: 768px) {
    *:has(>.heading-cartridge-options) {
        border-left: 1px solid var(--vtp-primary-color-extended-200);
    }

    .heading-cartridge-options {
        font-size: 0.875rem;
    }
}

@media (max-width: 767px) {
    .heading-cartridge-options {
        border-top: 1px solid var(--vtp-primary-color-extended-200);
    }
}

/* Filters (specifics input) */
.filters-container {
    display: block;
    padding: calc(var(--vtp-style-block-gap) * 0.25);
    margin-top: calc(var(--vtp-style-block-gap));
    border: 1px solid var(--vtp-grey-400);
    border-radius: var(--bs-border-radius-sm);
}

.input-action {
    position: relative;
}

    .input-action .input-action-icon {
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        font-size: 1.25rem !important;
        padding: 0.5rem;
        color: var(--vtp-grey-600);
    }

    .input-action .input-action-btn {
        position: absolute;
        z-index: 10;
        top: 0;
        right: 0;
        display: block;
        padding: 0;
        border: none;
        background: transparent;
    }

        .input-action .input-action-btn .input-action-icon {
            position: relative;
        }

        .input-action .input-action-btn:disabled .input-action-icon {
            color: var(--vtp-btn-disabled-color) !important;
        }

.btn-check + .btn {
    position: relative;
    border-radius: var(--bs-border-radius-sm);
    padding-left: 2rem;
    border-color: var(--vtp-grey-500);
}

    .btn-check + .btn::before {
        position: absolute;
        left: 7px;
        top: 4px;
        display: block;
        height: 18px;
        width: 18px;
        font-weight: 400;
        font-family: "Font Awesome 6 Free";
        font-size: 1.125rem;
    }

    .btn-check + .btn:hover {
        color: var(--vtp-grey-700);
        background-color: var(--vtp-grey-400);
    }

.btn-check[type=radio] + .btn::before {
    content: "\f111";
}

.btn-check[type=radio]:checked + .btn {
    background-color: var(--vtp-grey-400);
    color: var(--vtp-grey-700);
    border-color: var(--vtp-grey-400);
}

    .btn-check[type=radio]:checked + .btn::before {
        content: "\f192";
    }

.btn-check[type=checkbox] + .btn::before {
    content: "\f0c8";
}

.btn-check[type=checkbox]:checked + .btn {
    background-color: var(--vtp-grey-400);
    color: var(--vtp-grey-700);
    border-color: var(--vtp-grey-400);
}

    .btn-check[type=checkbox]:checked + .btn::before {
        content: "\f14a";
    }

/*ALERT*/
.alert {
    position: relative;
    margin-bottom: 1rem;
    padding: 0.75rem 1.25rem;
    border: 0 solid transparent;
    border-radius: 0;
    border-top-width: 4px;
    border-bottom-width: 4px;
    border-radius: 1px;
}

    .alert [class*=fa-] {
        float: left;
        margin-top: -5px;
        margin-right: 0.875rem;
        font-size: 1.75rem;
    }

    .alert p {
        margin-bottom: calc(var(--vtp-style-block-gap) * 0.15);
    }

    .alert.alert-primary {
        color: #004a72;
        border-color: #8fcdef;
        background-color: #cce8f8;
    }

        .alert.alert-primary hr {
            border-top-color: #79c3ec;
        }

        .alert.alert-primary .alert-link {
            color: #00293f;
        }

    .alert.alert-secondary {
        color: #3d3d3d;
        border-color: #c2c2c2;
        background-color: #e3e3e3;
    }

        .alert.alert-secondary hr {
            border-top-color: #b5b5b5;
        }

            .alert.alert-secondary hr .alert-link {
                color: #242424;
            }

    .alert.alert-success {
        color: #324200;
        border-color: #b9c68f;
        background-color: #dfe5cc;
    }

        .alert.alert-success hr {
            border-top-color: #aebd7e;
        }

            .alert.alert-success hr .alert-link {
                color: #0b0f00;
            }

    .alert.alert-info {
        color: #004a72;
        border-color: #8fcdef;
        background-color: #cce8f8;
    }

        .alert.alert-info hr {
            border-top-color: #79c3ec;
        }

            .alert.alert-info hr .alert-link {
                color: #00293f;
            }

    .alert.alert-warning {
        color: #7c3e0e;
        border-color: #f8c39a;
        background-color: #fce4d1;
    }

        .alert.alert-warning hr {
            border-top-color: #f6b582;
        }

            .alert.alert-warning hr .alert-link {
                color: #4e2709;
            }

    .alert.alert-danger {
        color: var(--vtp-presetcolor-danger-darker);
        border-color: var(--vtp-presetcolor-danger);
        background-color: #f6d2d3;
    }

        .alert.alert-danger hr {
            border-top-color: var(--vtp-presetcolor-danger);
        }

            .alert.alert-danger hr .alert-link {
                color: #400a0b;
            }

    .alert.alert-light {
        color: #818182;
        border-color: #fcfcfd;
        background-color: #fefefe;
    }

        .alert.alert-light hr {
            border-top-color: #ededf3;
        }

            .alert.alert-light hr .alert-link {
                color: #686868;
            }

    .alert.alert-dark {
        color: #171716;
        border-color: #a3a3a2;
        background-color: #d5d5d5;
    }

        .alert.alert-dark hr {
            border-top-color: #969695;
        }

            .alert.alert-dark hr .alert-link {
                color: black;
            }

    .alert.alert-success [class*=fa-] {
        color: #617e00;
    }

    .alert.alert-warning [class*=fa-] {
        color: #ee771a;
    }

    .alert.alert-danger {
        background-color: #f9e9e8;
    }

        .alert.alert-danger [class*=fa-] {
            color: #d02024;
        }

    .alert.alert-info [class*=fa-] {
        color: #008edb;
    }

.alert-dismissible .btn-close {
    padding: 0.75rem 1.25rem;
}

.alert ul {
    margin-top: 0.25rem;
    padding-left: 1rem;
}

.edit-mode-alert {
    display: none;
}

.edit-mode {
    position: relative;
    padding: 0;
    margin-bottom: 1rem;
    border-radius: 0;
    outline: 2px solid rgba(var(--bs-danger-rgb), 0.85);
    outline-offset: 0.5rem;
    outline-style: dashed;
}

@media (max-width: 767px) {
    .edit-mode {
        outline-offset: 0.25rem;
    }
}

.edit-mode .edit-mode-alert {
    display: inline-block;
    position: relative;
    width: 150px;
    top: -1.5rem;
    left: calc(50% - 75px);
    border: 2px solid rgba(var(--bs-danger-rgb), 0.85);
    border-bottom: none;
    border-radius: var(--bs-border-radius-sm) var(--bs-border-radius-sm) 0 0;
    padding: 0.25rem 0.75rem;
    background-color: var(--vtp-presetcolor-danger);
    color: var(--vtp-grey-100);
}

    .edit-mode .edit-mode-alert [class*=fa-] {
        color: var(--vtp-grey-100);
    }

/* Icônes actions */
.icon-action [class*=fa-] {
    font-size: 1.375rem;
    vertical-align: middle;
}

.icon-action .icon-action-item {
    position: absolute;
    top: -1000rem;
    left: -1000rem;
}

button.icon-action {
    background: transparent;
    border: none;
    color: var(--bs-link-color);
}

    button.icon-action.btn-primary {
        color: var(--vtp-primary-color);
    }

    button.icon-action.btn-secondary {
        color: var(--vtp-secondary-color);
    }

    button.icon-action.btn-info {
        color: var(--vtp-presetcolor-info);
    }

    button.icon-action.btn-success {
        color: var(--vtp-presetcolor-success-darker);
    }

    button.icon-action.btn-warning {
        color: var(--vtp-presetcolor-warning);
    }

    button.icon-action.btn-danger {
        color: var(--vtp-presetcolor-danger);
    }

    button.icon-action:hover, button.icon-action:focus {
        text-decoration: none;
        color: var(--bs-link-hover-color);
    }

    button.icon-action:disabled {
        color: var(--vtp-btn-disabled-color);
    }

/*Spinner*/
.spinner-border-xl {
    --bs-spinner-width: 3rem;
    --bs-spinner-height: 3rem;
    --bs-spinner-border-width: 0.3em;
}

.spinner-border-xxl {
    --bs-spinner-width: 4rem;
    --bs-spinner-height: 4rem;
    --bs-spinner-border-width: 0.35em;
}

.spinner-grow-xl {
    --bs-spinner-width: 3rem;
    --bs-spinner-height: 3rem;
}

.spinner-grow-xxl {
    --bs-spinner-width: 4rem;
    --bs-spinner-height: 4rem;
}

/*Toasts*/
.toast {
    --bs-toast-max-width: 450px;
    --bs-toast-font-size: 0.875rem;
    --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
    --bs-toast-header-color: var(--bs-secondary-color);
    --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
}

    .toast .btn-close {
        margin-right: calc(-0.5 * var(--bs-toast-padding-x));
        margin-left: var(--bs-toast-padding-x);
        padding: 0 5px;
        width: 24px;
        height: 24px;
    }

    .toast .progress {
        margin-top: calc(var(--vtp-style-block-gap) * 0.5);
        padding: 0px;
        border-radius: 2px;
        height: 6px;
        background: transparent;
        box-shadow: none;
    }

        .toast .progress .progress-bar {
            height: 5px;
            border-radius: 2px;
        }

    .toast .toast-body .btn-close {
        flex-basis: 20px;
    }

    .toast .toast-body p {
        margin: 0;
    }

.toast-backdrop {
    top: 0;
    left: 0;
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: rgba(var(--bs-dark-rgb), 0.88);
}

    .toast-backdrop:not(.show) {
        opacity: 0;
        display: none !important;
    }

.toast-fullwidth {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    border: none;
    --bs-bg-opacity: 1;
}

/*Badges*/
.badge {
    --bs-badge-padding-x: 0.75em;
    --bs-badge-padding-y: 0.45em;
    --bs-badge-font-size: 0.85em;
    --bs-badge-font-weight: 400;
    --bs-badge-color: #fff;
    --bs-badge-border-radius: var(--bs-border-radius);
    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    color: var(--bs-badge-color);
}

/*Tooltips*/
.tooltip {
    --bs-tooltip-padding-x: 0.5rem;
    --bs-tooltip-padding-y: 0.25rem;
    --bs-tooltip-font-size: 0.9rem;
    --bs-tooltip-color: var(--bs-body-bg);
    --bs-tooltip-bg: var(--vtp-primary-color-extended-700);
    --bs-tooltip-opacity: 1;
    font-weight: 300;
}

.tooltip-disabled-action {
    --bs-tooltip-color: var(--vtp-grey-800);
    --bs-tooltip-bg: var(--vtp-grey-300);
}

/*Progress bar*/
.progress {
    padding: 3px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.25);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.08);
}

    .progress .progress-bar {
        height: 10px;
        border-radius: 4px;
        transition: 0.4s linear;
        transition-property: width, background-color;
    }

    .progress.progress-moved .progress-bar {
        width: 1%;
        background-color: var(--vtp-primary-color-extended-300);
    }

@keyframes progressAnimation {
    0% {
        width: 100%;
        background-color: var(--vtp-primary-color-extended-100);
    }

    100% {
        width: 1%;
        background-color: var(--vtp-primary-color-extended-300);
    }
}
/*Switches*/
.form-switch {
    padding-left: 3em;
    padding-bottom: calc(var(--vtp-style-block-gap) * 0.35);
    padding-top: calc(var(--vtp-style-block-gap) * 0.35);
    margin-bottom: 0;
}

    .form-switch .form-check-input {
        width: 2.5em;
        margin-left: -3em;
        margin-top: -1px;
        border-radius: 2.5em;
        height: 1.25em;
        cursor: pointer;
        --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e");
        background-image: var(--bs-form-switch-bg);
        background-color: var(--vtp-presetcolor-danger);
        border-color: var(--vtp-presetcolor-danger);
        box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);
    }

        .form-switch .form-check-input:focus {
            --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e");
        }

        .form-switch .form-check-input:checked {
            background-color: var(--vtp-presetcolor-success);
            border-color: var(--vtp-presetcolor-success);
        }

        .form-switch .form-check-input:disabled {
            --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23cccccc'/%3e%3c/svg%3e");
            opacity: 1;
        }

    .form-switch.vtp-switch .form-check-input {
        --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23757575'/%3e%3c/svg%3e");
        background-color: var(--vtp-grey-300);
        border-color: var(--vtp-grey-400);
        background-image: var(--bs-form-switch-bg);
    }

        .form-switch.vtp-switch .form-check-input:checked {
            --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e");
            background-color: var(--vtp-additional-color);
            border-color: var(--vtp-additional-color);
        }

            .form-switch.vtp-switch .form-check-input:checked + label {
                color: var(--vtp-additional-color);
            }

        .form-switch.vtp-switch .form-check-input:disabled {
            --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23cccccc'/%3e%3c/svg%3e");
            opacity: 1;
        }

.form-check-list {
    padding-bottom: calc(var(--vtp-style-block-gap) * 0.35);
    padding-top: calc(var(--vtp-style-block-gap) * 0.35);
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .form-check-list:not(:last-child) {
        border-bottom: 1px solid var(--vtp-grey-300);
    }
}

@media (max-width: 991px) {
    .form-check-list {
        border-bottom: 1px solid var(--vtp-grey-300);
    }
}

.form-check-list label.form-check-label {
    margin-bottom: 0;
}

/*Modales*/
.modal {
    /*Modal variables*/
    --bs-modal-width: 500px;
    --bs-modal-padding: 1rem;
    --bs-modal-margin: 0.5rem;
    --bs-modal-color: var(--vtp-additional-color);
    --bs-modal-bg: var(--vtp-grey-100);
    --bs-modal-border-width: calc(var(--bs-border-width));
    --bs-modal-border-radius: var(--bs-border-radius);
    --bs-modal-box-shadow: var(--bs-box-shadow-sm);
    --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
    --bs-modal-header-padding: 0.75rem 0.75rem;
}

    .modal fieldset {
        margin: 0px 0 0px 0;
        margin: 0rem 0 0rem 0;
        padding: calc(var(--vtp-style-block-gap) * 0.5);
        padding: 20px 0 20px 0;
        padding: 1.25rem 0 1.25rem 0;
        border: none;
        border-radius: none;
    }

        .modal fieldset h2,
        .modal fieldset h3,
        .modal fieldset h4,
        .modal fieldset .h2,
        .modal fieldset .h3,
        .modal fieldset .h4 {
            margin: 10px 0 10px 0;
            margin: 0.625rem 0 0.625rem 0;
        }

.modal-content {
    color: var(--vtp-grey-800);
    background-color: var(--bs-modal-bg);
    border-radius: calc(var(--bs-modal-border-radius) * 0.6);
    border: none;
}

.modal-backdrop {
    --bs-backdrop-opacity: 0.88;
    background-color: var(--bs-backdrop-bg);
}

.modal-header {
    color: var(--vtp-grey-100);
    background-color: var(--vtp-additional-color);
    border-radius: 0;
}

    .modal-header .btn-close {
        --bs-btn-close-color: var(--vtp-grey-100);
        --bs-btn-close-opacity: 0.85;
        --bs-btn-close-hover-opacity: 1;
        background: none;
        font-size: 1.375rem;
    }

.modal-title {
    color: var(--vtp-grey-100);
}

.modal-body {
    padding: calc(var(--bs-modal-padding)) calc(var(--bs-modal-padding) * 2);
}

.modal-footer {
    justify-content: space-between;
}

.modal-lg .modal-footer {
    justify-content: end;
    padding: calc(var(--bs-modal-padding) * 0.75) calc(var(--bs-modal-padding) * 2);
}

/*Modal type toast */
.modal-toast .modal-content .modal-header.bg-success .btn-close, .modal-toast .modal-content .modal-header.bg-warning .btn-close, .modal-toast .modal-content .modal-header.bg-info .btn-close, .modal-toast .modal-content .modal-header.bg-light .btn-close {
    --bs-btn-close-color: --bs-dark-rgb;
}

.modal-toast .modal-content .modal-header.bg-success .modal-title, .modal-toast .modal-content .modal-header.bg-warning .modal-title, .modal-toast .modal-content .modal-header.bg-info .modal-title, .modal-toast .modal-content .modal-header.bg-light .modal-title {
    color: var(--bs-dark-rgb);
}

.modal-toast .modal-content .modal-body {
    padding: calc(var(--bs-modal-padding)) calc(var(--bs-modal-padding) * 0.75);
}

/*Modal slide from right or left*/
.modal {
    /*left*/
    /*right*/
}

    .modal.vtp-modal-slide-left .modal-dialog, .modal.vtp-modal-slide-right .modal-dialog {
        position: fixed;
        margin: auto;
        width: 320px;
        height: 100%;
        transform: translate3d(0%, 0, 0);
    }

    .modal.vtp-modal-slide-left .modal-content, .modal.vtp-modal-slide-right .modal-content {
        height: 100%;
        overflow-y: auto;
    }

    .modal.vtp-modal-slide-left .modal-body, .modal.vtp-modal-slide-right .modal-body {
        padding: calc(var(--bs-modal-padding) * 1.25) calc(var(--bs-modal-padding) * 1.25);
    }

    .modal.vtp-modal-slide-left.fade .modal-dialog {
        left: -320px;
        transition: opacity 0.3s linear, left 0.3s ease-out;
    }

    .modal.vtp-modal-slide-left.fade.show .modal-dialog {
        left: 0;
    }

    .modal.vtp-modal-slide-right.fade .modal-dialog {
        right: -320px;
        transition: opacity 0.3s linear, right 0.3s ease-out;
    }

    .modal.vtp-modal-slide-right.fade.show .modal-dialog {
        right: 0;
    }

@media (max-width: 575px) {
    .modal.vtp-modal-slide-right.fade.show .modal-dialog {
        width: 100%;
    }
}

/*dashboard cards*/
.dashboard-cards.card-deck, .dashboard-cards.card-group {
    display: flex;
    flex-direction: column;
}

    .dashboard-cards.card-deck .card, .dashboard-cards.card-group .card {
        margin-bottom: calc(var(--vtp-style-block-gap) * 1.5);
        display: flex;
        flex-direction: column;
        flex: 1 0 0;
        border-radius: var(--bs-border-radius);
    }

        .dashboard-cards.card-deck .card:first-child, .dashboard-cards.card-group .card:first-child {
            margin-left: 0;
        }

        .dashboard-cards.card-deck .card:last-child, .dashboard-cards.card-group .card:last-child {
            margin-right: 0;
        }

@media (max-width: 767px) {
    .dashboard-cards.card-deck .card, .dashboard-cards.card-group .card {
        margin-bottom: var(--vtp-style-block-gap);
    }
}

@media (min-width: 992px) {
    .dashboard-cards.card-deck, .dashboard-cards.card-group {
        flex-flow: row wrap;
    }

        .dashboard-cards.card-deck > .card, .dashboard-cards.card-group > .card {
            margin-right: calc(var(--vtp-style-block-gap) * 2);
            margin-left: calc(var(--vtp-style-block-gap) * 2);
        }

            .dashboard-cards.card-deck > .card + .card, .dashboard-cards.card-group > .card + .card {
                margin-left: 0;
                border-left: 0;
            }
}

@media (min-width: 768px) and (max-width: 991px) {
    .dashboard-cards.card-deck > .card, .dashboard-cards.card-group > .card {
        margin-right: calc(var(--vtp-style-block-gap) * 1);
        margin-left: calc(var(--vtp-style-block-gap) * 1);
    }
}

@media (max-width: 767px) {
    .dashboard-cards.card-deck > .card, .dashboard-cards.card-group > .card {
        margin-right: 0;
        margin-left: 0;
    }
}

@media (min-width: 768px) {
    .dashboard-cards.card-deck, .dashboard-cards.card-group {
        flex-flow: row wrap;
    }

        .dashboard-cards.card-deck > .card, .dashboard-cards.card-group > .card {
            margin-bottom: 0;
            flex: 1 0 0;
        }
}

.dashboard-cards.card-deck .card, .dashboard-cards.card-group .card {
    box-shadow: var(--bs-box-shadow-sm);
    border: none;
    background-color: white;
    transition: all 0.3s ease-in-out 0s;
}

    .dashboard-cards.card-deck .card figure,
    .dashboard-cards.card-deck .card [class*=fa-], .dashboard-cards.card-group .card figure,
    .dashboard-cards.card-group .card [class*=fa-] {
        display: flex;
        transition: all 0.3s ease-in-out 0s;
        position: relative;
        padding: 20px 0;
        margin: 0;
        background-color: var(--vtp-primary-color-extended-200);
    }

        .dashboard-cards.card-deck .card figure > img,
        .dashboard-cards.card-deck .card [class*=fa-] > img, .dashboard-cards.card-group .card figure > img,
        .dashboard-cards.card-group .card [class*=fa-] > img {
            margin: auto;
        }

        .dashboard-cards.card-deck .card figure::after,
        .dashboard-cards.card-deck .card [class*=fa-]::after, .dashboard-cards.card-group .card figure::after,
        .dashboard-cards.card-group .card [class*=fa-]::after {
            display: block;
            content: " ";
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0%;
            height: 5px;
            background-color: transparent;
        }

    .dashboard-cards.card-deck .card [class*=fa-], .dashboard-cards.card-group .card [class*=fa-] {
        position: relative;
        text-align: center;
        font-size: calc(var(--bs-body-font-size) * 5);
        padding-top: calc(var(--vtp-style-block-gap));
        padding-bottom: calc(var(--vtp-style-block-gap));
    }

@media (min-width: 768px) and (max-width: 991px) {
    .dashboard-cards.card-deck .card [class*=fa-], .dashboard-cards.card-group .card [class*=fa-] {
        font-size: calc(var(--bs-body-font-size) * 3);
    }
}

.dashboard-cards.card-deck .card [class*=fa-]::before, .dashboard-cards.card-group .card [class*=fa-]::before {
    position: relative;
    margin: 0 auto;
    color: white;
    opacity: 0.8;
}

.dashboard-cards.card-deck .card:hover, .dashboard-cards.card-deck .card:focus, .dashboard-cards.card-group .card:hover, .dashboard-cards.card-group .card:focus {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

    .dashboard-cards.card-deck .card:hover figure,
    .dashboard-cards.card-deck .card:hover [class*=fa-], .dashboard-cards.card-deck .card:focus figure,
    .dashboard-cards.card-deck .card:focus [class*=fa-], .dashboard-cards.card-group .card:hover figure,
    .dashboard-cards.card-group .card:hover [class*=fa-], .dashboard-cards.card-group .card:focus figure,
    .dashboard-cards.card-group .card:focus [class*=fa-] {
        background-color: var(--vtp-primary-color-extended-400);
    }

.dashboard-cards.card-deck .card-img-top, .dashboard-cards.card-group .card-img-top {
    width: auto;
}

.dashboard-cards.card-deck .card-body, .dashboard-cards.card-group .card-body {
    background-color: white;
}

@media (min-width: 576px) and (max-width: 767px) {
    .dashboard-cards.card-deck .card-body, .dashboard-cards.card-group .card-body {
        padding: 10px;
    }
}

.dashboard-cards.card-deck .card-title, .dashboard-cards.card-group .card-title {
    font-size: 1.1875rem;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: calc(var(--vtp-style-block-gap) * 0.25);
    color: var(--vtp-primary-color);
    color: var(--vtp-additional-color);
}

@media (min-width: 768px) and (max-width: 991px) {
    .dashboard-cards.card-deck .card-title, .dashboard-cards.card-group .card-title {
        font-size: 1rem;
    }
}

.dashboard-cards.card-deck .card a, .dashboard-cards.card-group .card a {
    text-decoration: none;
}

    .dashboard-cards.card-deck .card a:hover figure,
    .dashboard-cards.card-deck .card a:hover [class*=fa-], .dashboard-cards.card-deck .card a:focus figure,
    .dashboard-cards.card-deck .card a:focus [class*=fa-], .dashboard-cards.card-group .card a:hover figure,
    .dashboard-cards.card-group .card a:hover [class*=fa-], .dashboard-cards.card-group .card a:focus figure,
    .dashboard-cards.card-group .card a:focus [class*=fa-] {
        background-color: var(--vtp-primary-color-extended-400);
    }

        .dashboard-cards.card-deck .card a:hover figure::after,
        .dashboard-cards.card-deck .card a:hover [class*=fa-]::after, .dashboard-cards.card-deck .card a:focus figure::after,
        .dashboard-cards.card-deck .card a:focus [class*=fa-]::after, .dashboard-cards.card-group .card a:hover figure::after,
        .dashboard-cards.card-group .card a:hover [class*=fa-]::after, .dashboard-cards.card-group .card a:focus figure::after,
        .dashboard-cards.card-group .card a:focus [class*=fa-]::after {
            transition: all 0.3s ease-in-out 0s;
            left: 0;
            width: 100%;
            background-color: var(--vtp-primary-color-extended-600);
        }

        .dashboard-cards.card-deck .card a:hover [class*=fa-]::before, .dashboard-cards.card-deck .card a:focus [class*=fa-]::before, .dashboard-cards.card-group .card a:hover [class*=fa-]::before, .dashboard-cards.card-group .card a:focus [class*=fa-]::before {
            transition: all 0.3s ease-in-out 0s;
            opacity: 1;
        }

.dashboard-cards.card-deck .card-text, .dashboard-cards.card-group .card-text {
    color: var(--vtp-grey-800);
}

.dashboard-cards.card-deck .card-admin, .dashboard-cards.card-group .card-admin {
    border-top: 10px solid var(--vtp-additional-color);
}

@media (min-width: 768px) {
    .dashboard-cards.card-deck .card-admin, .dashboard-cards.card-group .card-admin {
        margin-left: -15px;
        margin-right: -15px;
    }
}

.dashboard-cards.card-deck .card-admin .card-body, .dashboard-cards.card-group .card-admin .card-body {
    padding: 3rem 0.5rem;
    flex-wrap: nowrap;
}

@media (min-width: 992px) {
    .dashboard-cards.card-deck .card-admin .card-body, .dashboard-cards.card-group .card-admin .card-body {
        padding: 3rem 1rem;
    }
}

.dashboard-cards.card-deck .card-admin .card-body::after, .dashboard-cards.card-group .card-admin .card-body::after {
    display: block;
    content: " ";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0%;
    height: 10px;
    background-color: transparent;
}

.dashboard-cards.card-deck .card-admin a:hover .card-body::after, .dashboard-cards.card-deck .card-admin a:focus .card-body::after, .dashboard-cards.card-group .card-admin a:hover .card-body::after, .dashboard-cards.card-group .card-admin a:focus .card-body::after {
    left: 0;
    width: 100%;
    background-color: var(--vtp-additionnal-color);
}

/*Data cards - generic*/
.data-cards .card {
    --bs-card-border-color: var(--vtp-primary-color-extended-200);
    --bs-box-shadow: 0 0.25rem 0.45rem rgba(0, 0, 0, 0.15);
    box-shadow: var(--bs-box-shadow);
}

    .data-cards .card .badge {
        white-space: normal;
        text-align: start;
    }

    .data-cards .card strong.badge {
        font-weight: 600;
    }

.data-cards .card-header {
    background-color: transparent;
    padding: calc(var(--vtp-style-block-gap) * 0.35);
    border: none;
}

@media (max-width: 767px) {
    .data-cards .card-header {
        background-color: rgba(var(--bs-primary-rgb), 0.12);
    }
}

.data-cards .card-header .card-title {
    font-size: 1rem;
    font-family: var(--vtp-font-family-base);
    font-weight: 600;
    margin: 0;
    color: var(--vtp-grey-800);
}

    .data-cards .card-header .card-title span {
        display: block;
    }

.data-cards .card-header .card-subtitle {
    font-size: 0.875rem;
    margin: 0.25rem 0;
    color: var(--vtp-grey-700);
}

.data-cards .card-body {
    padding: 0 calc(var(--vtp-style-block-gap) * 0.35) calc(var(--vtp-style-block-gap) * 0.35);
    font-size: 0.875rem;
    line-height: 1.125rem;
}

@media (max-width: 767px) {
    .data-cards .card-body {
        padding: calc(var(--vtp-style-block-gap) * 0.25) calc(var(--vtp-style-block-gap) * 0.35);
        margin-bottom: 5px;
    }
}

.data-cards .card-body strong:not(.badge) {
    color: var(--vtp-grey-600);
}

.data-cards .card-body li,
.data-cards .card-body .list-group-item,
.list-group li {
    padding: 0rem 0rem;
    border: none;
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.125rem;
    background-color: inherit;
}

.data-cards .card-body dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
}

    .data-cards .card-body dl dt,
    .data-cards .card-body dl dd {
        flex: 1 1 50%;
        margin: 0 0 0.25rem;
    }

.data-cards .card-body .icon-action [class*=fa-] {
    font-size: 1.25rem;
}

.data-cards .card-body .badge {
    --bs-badge-font-size: 0.8rem;
}

.data-cards .card-body-detail {
    position: relative;
    padding: calc(var(--vtp-style-block-gap) * 0.35) 0 calc(var(--vtp-style-block-gap) * 0.5);
    border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}

    .data-cards .card-body-detail [class*=fa-] {
        font-size: 1.25rem;
        vertical-align: middle;
    }

.data-cards .card-body-detail-content {
    padding-top: calc(var(--vtp-style-block-gap) * 0.35);
}

.data-cards .card-body-detail .collapsed [class*=fa-] {
    transform: rotate(180deg);
}

.data-cards .card-body-detail .content-over {
    position: absolute;
    background: white;
    width: 100%;
    padding: calc(var(--vtp-style-block-gap) * 0.5);
    left: 0px;
    top: calc(var(--vtp-style-block-gap) * 0.5);
    border: 1px solid var(--bs-card-border-color);
    box-shadow: var(--bs-box-shadow-inset);
    border-radius: var(--bs-border-radius-sm);
}

.data-cards .card-footer {
    padding: calc(var(--vtp-style-block-gap) * 0.35) calc(var(--vtp-style-block-gap) * 0.25);
    font-size: 0.875rem;
    line-height: 1.125rem;
}

.data-cards .card-footer-data {
    font-size: 1.375rem;
    line-height: 1.5rem;
}

@media (max-width: 575px) {
    .data-cards .card-footer .icon-action {
        padding-right: calc(var(--vtp-style-block-gap) * 0.25);
        padding-left: calc(var(--vtp-style-block-gap) * 0.25);
    }
}

.data-cards .card-footer .icon-action [class*=fa-] {
    font-size: 1.25rem;
}

@media (max-width: 767px) {
    .data-cards .card-footer .icon-action [class*=fa-] {
        font-size: 1.625rem;
    }
}

.data-cards .card-inline {
    margin-bottom: calc(var(--vtp-style-block-gap));
}

@media (min-width: 768px) {
    .data-cards .card-inline {
        display: flex;
        flex-direction: row;
        margin-bottom: calc(var(--vtp-style-block-gap) * 0.5);
    }
}

.data-cards .card-inline .card-header {
    background-color: rgba(var(--bs-primary-rgb), 0.12);
}

@media (min-width: 768px) {
    .data-cards .card-inline .card-header {
        width: 12rem;
        min-width: 12rem;
    }
}

.data-cards .card-inline .card-body {
    padding: calc(var(--vtp-style-block-gap) * 0.25) calc(var(--vtp-style-block-gap) * 0.35);
}

@media (min-width: 992px) {
    .data-cards .card-inline .card-body .list-group {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        -moz-column-gap: calc(var(--vtp-style-block-gap) * 0.25);
        column-gap: calc(var(--vtp-style-block-gap) * 0.25);
        margin-top: 0;
    }

    .data-cards .card-inline .card-body .list-group-item {
        border-right: 1px solid var(--vtp-grey-500);
        padding-right: calc(var(--vtp-style-block-gap) * 0.25);
    }

        .data-cards .card-inline .card-body .list-group-item:last-child {
            border-right: none;
            padding-right: 0;
        }

    .data-cards .card-inline .card-body .badge {
        margin-top: 0rem;
        margin-bottom: 0rem;
    }
}

@media (min-width: 768px) {
    .data-cards .card-inline .card-body .card-body-detail {
        position: relative;
        padding: calc(var(--vtp-style-block-gap) * 0.25) 0 0;
        margin-top: calc(var(--vtp-style-block-gap) * 0.25);
    }

    .data-cards .card-inline .card-body .card-body-detail-content {
        padding-top: calc(var(--vtp-style-block-gap) * 0.35);
    }
}

@media (min-width: 768px) {
    .data-cards .card-inline .card-footer {
        display: flex;
        flex-wrap: wrap;
        border-top: 0;
        align-items: flex-start;
        row-gap: calc(var(--vtp-style-block-gap) * 0.25);
        justify-content: flex-end;
        align-content: flex-start;
        min-width: 5rem;
        width: 5rem;
    }
}

@media (min-width: 992px) {
    .data-cards .card-inline .card-footer {
        width: 9rem;
    }
}

/* Data Table Cards*/
.table-card tbody .card-row-header {
    font-weight: 600;
}

@media (max-width: 767px) {
    .table-card > thead {
        border: 0;
        clip: rect(1px, 1px, 1px, 1px);
        -webkit-clip-path: inset(50%);
        clip-path: inset(50%);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute !important;
        width: 1px;
        word-wrap: normal !important;
        word-break: normal;
    }

    .table-card > tbody.table-group-divider {
        border-top: none;
    }

    .table-card > tbody > tr {
        display: block;
        margin-bottom: calc(var(--vtp-style-block-gap) * 0.5);
    }

        .table-card > tbody > tr:not(:empty) {
            --bs-card-border-color: var(--vtp-primary-color-extended-200);
            --bs-box-shadow: 0 0.25rem 0.45rem rgba(0, 0, 0, 0.15);
            border: 1px solid var(--bs-card-border-color);
            border-bottom-color: var(--bs-card-border-color);
            border-radius: var(--bs-card-border-radius);
        }

        .table-card > tbody > tr:hover > td {
            --bs-table-hover-bg: white;
        }

        .table-card > tbody > tr > th {
            display: block;
            font-weight: 600;
            background-color: rgba(var(--bs-primary-rgb), 0.12);
            border-left: none;
            border-right: none;
            padding: calc(var(--vtp-style-block-gap) * 0.35);
        }

            .table-card > tbody > tr > th[card-row-hidden] {
                display: none;
            }

        .table-card > tbody > tr > td:not(.card-row-header) {
            display: block;
            text-align: right;
            border-bottom-color: var(--bs-card-border-color);
        }

            .table-card > tbody > tr > td:not(.card-row-header):before {
                content: attr(data-label);
                float: left;
                font-weight: bold;
                color: var(--vtp-primary-color) !important;
            }

            .table-card > tbody > tr > td:not(.card-row-header):last-child, .table-card > tbody > tr > td:not(.card-row-header).card-row-footer {
                background-color: var(--bs-card-cap-bg);
            }

        .table-card > tbody > tr > td[card-row-hidden] {
            display: none;
        }

        .table-card > tbody > tr .card-row-header {
            display: block;
            font-weight: 600;
            background-color: rgba(var(--bs-primary-rgb), 0.12);
            border-left: none;
            border-right: none;
            padding: calc(var(--vtp-style-block-gap) * 0.35);
        }
}

.table-card .table-row-detail-btn {
    position: relative;
}

    .table-card .table-row-detail-btn [class*=fa-] {
        font-size: 1.25rem;
        vertical-align: middle;
    }

    .table-card .table-row-detail-btn.collapsed [class*=fa-] {
        transform: rotate(180deg);
    }

.table-card .table-row-detail {
    position: relative;
    padding: calc(var(--vtp-style-block-gap) * 0.35) 0 calc(var(--vtp-style-block-gap) * 0.5);
}

    .table-card .table-row-detail.collapsing {
        height: 0;
        overflow: hidden;
        display: block;
        padding: 0;
        transition: height 0.35s ease;
    }

    .table-card .table-row-detail > td {
        border-bottom: var(--bs-border-width) solid var(--vtp-grey-200);
    }

@media (max-width: 767px) {
    .table-list-detail > tbody > tr {
        margin-bottom: calc(var(--vtp-style-block-gap) * 0.5);
        box-shadow: none;
    }
}

.table-list-detail > tbody > tr > th,
.table-list-detail > tbody > tr .card-row-header {
    font-weight: 600;
}

.table-list-detail > tbody > tr > th,
.table-list-detail > tbody > tr > td {
    border-right: none;
}

@media (min-width: 768px) {
    .table-list-detail > tbody > tr > th,
    .table-list-detail > tbody > tr > td {
        background-color: transparent;
    }
}

@media (max-width: 767px) {
    .table-list-detail > tbody > tr > th,
    .table-list-detail > tbody > tr > td {
        text-align: left !important;
    }

        .table-list-detail > tbody > tr > th:not(.card-row-header):last-child, .table-list-detail > tbody > tr > th:not(.card-row-header).card-row-footer,
        .table-list-detail > tbody > tr > td:not(.card-row-header):last-child,
        .table-list-detail > tbody > tr > td:not(.card-row-header).card-row-footer {
            border-bottom: none;
        }
}

.table-list-detail > tbody > tr:last-child > th,
.table-list-detail > tbody > tr:last-child > td {
    border-bottom: none;
}

@media (min-width: 992px) {
    .table-grid-content {
        display: flex;
        flex-flow: wrap;
    }

    .table-grid-2columns > tbody > tr {
        display: flex;
        flex: 0 0 50%;
    }

        .table-grid-2columns > tbody > tr.full-row {
            display: flex;
            flex: 0 0 100%;
        }

        .table-grid-2columns > tbody > tr > th {
            min-width: 30%;
        }

        .table-grid-2columns > tbody > tr.full-row > th {
            min-width: 15%;
            width: 15%;
        }

        .table-grid-2columns > tbody > tr > td {
            min-width: 65%;
        }

        .table-grid-2columns > tbody > tr.full-row > td {
            min-width: 82.5%;
            width: 82.5%;
        }
}

/*Inventory data card - specific*/
.inventory-data-cards .inventory-card .card-header {
    background-color: var(--vtp-grey-300);
}

    .inventory-data-cards .inventory-card .card-header .card-title {
        color: var(--vtp-primary-color-extended-600);
    }

@media (min-width: 576px) {
    .inventory-data-cards .inventory-card .card-header .card-title {
        font-size: 1.125rem;
    }
}

.inventory-data-cards .inventory-card .card-header .card-subtitle {
    margin-bottom: 0;
}

.inventory-data-cards .inventory-card .card-header .inventory-qty-data-title {
    margin-top: auto;
    text-align: end;
}

@media (max-width: 767px) {
    .inventory-data-cards .inventory-card .card-header .inventory-qty-data-title {
        display: none;
    }
}

.inventory-data-cards .inventory-card .card-body {
    padding: calc(var(--vtp-style-block-gap) * 0.35);
}

    .inventory-data-cards .inventory-card .card-body .inventory-item + .inventory-item {
        border-top: 1px solid var(--vtp-grey-300);
        padding-top: calc(var(--vtp-style-block-gap) * 0.35);
        margin-top: calc(var(--vtp-style-block-gap) * 0.35);
    }

    .inventory-data-cards .inventory-card .card-body .inventory-item [class*=col-]:last-child {
        align-self: flex-end;
    }

@media (min-width: 768px) and (max-width: 991px) {
    .inventory-data-cards .inventory-card .card-body .inventory-item .col-md-10 {
        width: 78.33333333%;
    }

    .inventory-data-cards .inventory-card .card-body .inventory-item .col-md-2 {
        width: 21.66666667%;
    }
}

.inventory-data-cards .inventory-card .inventory-qty-data {
    font-size: 1.375rem;
    font-weight: 600;
    margin-left: auto;
    margin-top: 0;
    margin-bottom: calc(var(--vtp-style-block-gap) * 0.15);
    display: flex;
    max-width: 120px;
    justify-content: center;
    --bs-badge-padding-x: 0.5em;
}

@media (max-width: 575px) {
    .inventory-data-cards .inventory-card .inventory-qty-data {
        margin: 0.5rem auto calc(var(--vtp-style-block-gap) * 0.15);
        max-width: none;
        padding: 0.45em 0.25em;
    }
}

.inventory-data-cards .inventory-card .alert {
    margin-bottom: 0.5rem;
}

    .inventory-data-cards .inventory-card .alert [class*=fa-] {
        margin-top: 0;
    }

/*List*/
.list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: start;
    -moz-column-gap: 0.25rem;
    column-gap: 0.25rem;
    row-gap: 0.25rem;
}

    .list .input-action {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: start;
        width: -moz-fit-content;
        width: fit-content;
        -moz-column-gap: 0.75rem;
        column-gap: 0.75rem;
    }

        .list .input-action .icon-action {
            font-size: 1.25rem !important;
            cursor: pointer;
        }

        .list .input-action input {
            border: 0px;
            padding: 0px 0px 0px 1px;
            border-bottom: 1px solid var(--vtp-grey-500);
        }

            .list .input-action input:focus {
                outline: 0px;
            }

/* pagination */
.paginator {
    display: flex;
    margin: calc(var(--vtp-style-block-gap) * 0.25) auto;
    padding: 0.25rem 0;
    align-items: center;
    justify-content: center;
    width: -moz-fit-content;
    width: fit-content;
    background: white;
    padding: 0.35rem 0.5rem;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
    border-radius: var(--bs-border-radius-sm);
}

    .paginator .summary {
        margin-right: 0.5rem;
        border-right: 1px solid var(--vtp-grey-500);
        padding-right: 0.5rem;
    }

@media (min-width: 576px) {
    .paginator .summary {
        margin-right: 0.5rem;
    }
}

.paginator nav {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

    .paginator nav button {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.25rem;
        height: 1.8rem;
        width: 1.8rem;
        color: var(--vtp-primary-color);
        text-decoration: none;
        background-color: white;
        border: 1px solid var(--vtp-grey-300);
        border-radius: var(--bs-border-radius-sm);
        transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    }

        .paginator nav button.go-first:before, .paginator nav button.go-last:before {
            content: "\f04a";
            font-weight: 900;
            font-family: "Font Awesome 6 Free";
            font-size: 1.125rem;
        }

        .paginator nav button.go-previous:before, .paginator nav button.go-next:before {
            content: "\f0d9";
            font-weight: 900;
            font-family: "Font Awesome 6 Free";
            font-size: 1.25rem;
        }

        .paginator nav button.go-next, .paginator nav button.go-last {
            transform: scaleX(-1);
        }

        .paginator nav button:hover, .paginator nav button:focus {
            background-color: var(--vtp-grey-100);
        }

        .paginator nav button[disabled] {
            color: var(--vtp-grey-400);
        }

    .paginator nav .pagination-text {
        margin: 0 0.15rem;
    }

@media (min-width: 576px) {
    .paginator nav .pagination-text {
        margin: 0 0.25rem;
    }
}

/* toggle btn */
.btn-section-collapse {
    padding-right: 1.75rem;
    position: relative;
    text-decoration: none;
}

    .btn-section-collapse .fa-chevron-down {
        text-indent: 0;
        position: absolute;
        right: 0;
        top: 3px;
    }

    .btn-section-collapse.btn {
        text-indent: -9999px;
        line-height: 0;
    }

        .btn-section-collapse.btn .fa-chevron-down {
            top: 6px;
        }

        .btn-section-collapse.btn::after {
            text-indent: 0;
            display: block;
            line-height: initial;
            content: "" attr(data-btn-content-1) "";
        }

    .btn-section-collapse[aria-expanded=true] .fa-chevron-down {
        text-indent: 0;
        transform: rotate(180deg);
        top: 6px;
    }

    .btn-section-collapse[aria-expanded=true].btn .fa-chevron-down {
        top: 6px;
    }

    .btn-section-collapse[aria-expanded=true].btn::after {
        text-indent: 0;
        display: block;
        line-height: initial;
        content: "" attr(data-btn-content-2) "";
    }

/* tabs */
.vpt-tabs-nav {
    margin-bottom: calc(var(--vtp-style-block-gap) * 0.5);
}

    .vpt-tabs-nav .nav-item .nav-link {
        --bs-nav-link-padding-x: 0.5rem;
        font-size: 1.125rem;
        line-height: 1.25rem;
        font-weight: 600;
        color: var(--vtp-grey-700);
        border-bottom-width: 3px;
    }

        .vpt-tabs-nav .nav-item .nav-link.active {
            color: var(--vtp-primary-color-extended-500);
        }

    .vpt-tabs-nav.nav-underline .nav-item .nav-link {
        --bs-nav-link-padding-x: 0.5rem;
    }

    .vpt-tabs-nav.nav-pills .nav-item .nav-link {
        --bs-nav-link-padding-x: 0.5rem;
    }

        .vpt-tabs-nav.nav-pills .nav-item .nav-link.active {
            color: white;
            background-color: var(--vtp-primary-color-extended-500);
        }

.vpt-tabs-content .vpt-tabs-content-title {
    display: none;
    margin-bottom: calc(var(--vtp-style-block-gap) * 0.5);
    margin-top: calc(var(--vtp-style-block-gap) * 0.5);
    color: var(--vtp-primary-color-extended-500);
    font-size: 1.625rem;
    line-height: 1.75rem;
}

@media (max-width: 575px) {
    .vpt-tabs-content .vpt-tabs-content-title {
        display: block;
        color: white;
        background-color: var(--vtp-additional-color);
        padding: calc(var(--vtp-style-block-gap) * 0.25);
    }
}

/*Accordions*/
.accordion {
    --bs-accordion-border-radius: var(--bs-border-radius-sm);
    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius-sm) - (var(--bs-border-width)));
    --bs-accordion-btn-icon-width: 1.5rem;
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: var(--vtp-additional-color);
    --bs-accordion-active-bg: var(--vtp-grey-300);
}

    .accordion:not(.collapsed) {
        color: var(--vtp-additional-color);
        border-color: var(--vtp-additional-color);
    }

    .accordion .accordion-item {
        color: var(--bs-accordion-color);
        background-color: var(--bs-accordion-bg);
        border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
    }

    .accordion .accordion-header {
        font-weight: 400;
    }

    .accordion .accordion-button {
        font-weight: 400;
    }

        .accordion .accordion-button:focus {
            color: var(--vtp-additional-color);
            border-color: var(--vtp-additional-color);
        }

/*Drag & Drop / transferts*/
.vtp-drag-and-drop--divider {
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
}

/* Search Filter */
.input-search-icon {
    padding-right: calc(1.5em + 0.75rem);
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z" fill="%23545454"/></svg>');
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

/*Numeric Keyboard (mobile)*/
.vtp-keyboard {
    display: inline-flex;
    flex-wrap: wrap;
    width: 220px;
    margin-bottom: 1.5rem;
}

.vtp-keyboard-result {
    display: block;
    width: 220px;
    text-align: center;
    padding: 0 0.35rem;
    font-size: 1rem;
}

    .vtp-keyboard-result span {
        display: block;
        margin: 0.5rem 0;
    }

    .vtp-keyboard-result .counter {
        display: block;
        margin-top: 0.5rem;
        width: 100%;
        text-align: center;
        padding: 1rem 0.5rem;
        font-size: 2.5rem;
        font-weight: 600;
        background-color: var(--vtp-grey-400);
    }

    .vtp-keyboard-result.light .counter {
        border: 1px solid var(--vtp-grey-400);
        background-color: transparent;
    }

.vtp-keyboard-wrapper .btn {
    flex: 1 1 55px;
    border-radius: var(--bs-border-radius-sm);
    margin: 0.35rem;
    font-size: calc(var(--bs-btn-font-size) * 1.15);
}

.vtp-keyboard-wrapper .btn-action {
    font-size: calc(var(--bs-btn-font-size) * 0.9);
}

.vtp-keyboard-wrapper .btn.btn-lg {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 0.5rem;
    --bs-btn-font-size: 1.45rem;
}

.vtp-keyboard.light .btn {
    border-radius: var(--bs-border-radius-sm);
    background-color: var(--vtp-grey-100);
    color: var(--vtp-additional-color);
    border-color: var(--vtp-grey-400);
}

.vtp-keyboard.light .btn-success {
    color: var(--vtp-presetcolor-success);
}

.vtp-keyboard.light .btn-danger {
    color: var(--vtp-presetcolor-danger-darker);
}

.vtp-keyboard-extended .vtp-keyboard-actions {
    flex-direction: column;
    width: 55px;
}

.vtp-keyboard-extended .vtp-keyboard-result {
    position: relative;
    width: 100%;
}

    .vtp-keyboard-extended .vtp-keyboard-result .btn {
        position: absolute;
        top: 0;
        right: 0;
        margin: 5px 11px 0 0;
        padding: 0.25rem 0.75rem;
        box-sizing: border-box;
        width: 55px;
        border: 1px solid transparent;
        color: var(--vtp-grey-600);
        height: 41px;
    }

        .vtp-keyboard-extended .vtp-keyboard-result .btn:hover, .vtp-keyboard-extended .vtp-keyboard-result .btn:focus {
            border-color: var(--vtp-grey-500);
            background-color: transparent;
        }

        .vtp-keyboard-extended .vtp-keyboard-result .btn:active {
            color: var(--vtp-grey-800);
        }

    .vtp-keyboard-extended .vtp-keyboard-result .counter {
        padding-right: 60px;
    }

/* Sticky Footer Actions*/
.footer-actions {
    position: sticky;
    z-index: 10000;
    bottom: 0rem;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    -moz-column-gap: calc(var(--vtp-style-block-gap) * 0.5);
    column-gap: calc(var(--vtp-style-block-gap) * 0.5);
    padding: calc(var(--vtp-style-block-gap) * 0.75) calc(var(--vtp-style-block-gap) * 0.5);
    background-color: white;
    box-shadow: 0 -4px 6px rgba(0, 0, 0, 0.15);
}

    .footer-actions .btn {
        margin-top: 0;
        margin-bottom: 0;
    }

@media (max-width: 575px) {
    .footer-actions {
        flex-direction: column;
        padding: calc(var(--vtp-style-block-gap) * 0.5);
    }

        .footer-actions .btn {
            margin-bottom: 0.5rem;
            margin-top: 0.5rem;
            width: 100%;
        }
}

/*Autocomplete Search / filter*/
.autocomplete__wrapper {
    position: relative;
}

.autocomplete__hint,
.autocomplete__input {
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    box-sizing: border-box;
    margin-bottom: 0;
    width: 100%;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    display: block;
    width: 100%;
    height: calc(1.5em + 1.25rem + 2px);
    padding: 0.375rem 0.75rem;
}

.autocomplete__input {
    background-color: white;
    position: relative;
}

.autocomplete__hint {
    color: #b1b4b6;
    position: absolute;
}

.autocomplete__input--focused {
    outline-offset: 0;
    box-shadow: inset 0 0 0 2px;
    color: #495057;
    border-color: #80bdff;
    outline: 0;
    background-color: #fff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.autocomplete__input--show-all-values {
    padding: 5px 34px 5px 5px;
    cursor: pointer;
}

.autocomplete__dropdown-arrow-down {
    z-index: -1;
    display: inline-block;
    position: absolute;
    right: 8px;
    width: 24px;
    height: 24px;
    top: 10px;
}

.autocomplete__menu {
    background-color: #fff;
    border: 2px solid #80bdff;
    border-top: 0;
    color: #495057;
    margin: 0;
    max-height: 342px;
    overflow-x: hidden;
    padding: 0;
    width: 100%;
    width: calc(100% - 4px);
}

.autocomplete__menu--visible {
    display: block;
}

.autocomplete__menu--hidden {
    display: none;
}

.autocomplete__menu--overlay {
    /*box-shadow: rgba(0, 0, 0, .256863) 0 2px 6px;*/
    left: 0;
    position: absolute;
    top: 100%;
    z-index: 100;
}

.autocomplete__menu--inline {
    position: relative;
}

.autocomplete__option {
    /*border-bottom: solid #b1b4b6;*/
    border-width: 0px 0;
    cursor: pointer;
    display: block;
    position: relative;
}

    .autocomplete__option > * {
        pointer-events: none;
    }

    .autocomplete__option:first-of-type {
        border-top-width: 0;
    }

    .autocomplete__option:last-of-type {
        border-bottom-width: 0;
    }

.autocomplete__option--odd {
    background-color: #fafafa;
}

.autocomplete__option--focused,
.autocomplete__option:hover {
    background-color: #1d70b8;
    border-color: #1d70b8;
    color: #fff;
    outline: 0;
}

.autocomplete__option--no-results {
    background-color: #fafafa;
    color: #646b6f;
    cursor: not-allowed;
}

.autocomplete__hint,
.autocomplete__option {
    padding: 5px;
}

/* Modules mobiles styles
-------------------------------------------------- */
.vtp-mobile .vtp-mobile-header {
    color: var(--vtp-grey-100);
    background-color: var(--vtp-additional-color);
}

.vtp-mobile .heading-title {
    font-size: calc(1rem + 1.5vw);
    color: white;
    margin: 0.5rem 0;
}

.vtp-mobile .vtp-mobile-header, .vtp-mobile .vtp-scan-nav {
    flex: 0 0 auto;
}
