/* 101d46d70ac331466ac3ca5508e13c9b */
/* Polices auto-hebergees (sous-ensemble latin), sans requete vers Google */
@font-face {
    font-family: "Bona Nova";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("/css/../fonts/bona-nova-400-italic.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Bona Nova";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/css/../fonts/bona-nova-400.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Bona Nova";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/css/../fonts/bona-nova-700.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("/css/../fonts/poppins-400-italic.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url("/css/../fonts/poppins-700-italic.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/css/../fonts/poppins-400.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("/css/../fonts/poppins-500.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("/css/../fonts/poppins-600.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/css/../fonts/poppins-700.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("/css/../fonts/poppins-800.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* =====================================================================
   STARTER CSS du site (fondamentaux). Volontairement sobre et neutre.
   ---------------------------------------------------------------------
   INTEGRATEUR : ce fichier pose des bases propres (typo, en-tete, menu,
   conteneur, pied de page, boutons, formulaires) pour ne pas partir d'une
   page nue. Vous le remplacez/complétez par le CSS de la maquette du client.
   Re-theming rapide : surchargez les variables --c-* ci-dessous.
   ===================================================================== */

/* Police de marque auto-hebergee (RGPD : aucun appel a un CDN de polices, tout
   est servi depuis le site). Inter variable, sous-ensemble latin. Si le fichier
   manque, le repli system-ui ci-dessous prend le relais sans casse. */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("/css/../fonts/inter-var-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --c-text: #333333;
    --c-muted: #828282;
    --c-white: #fff;
    --c-bg: #F4F4F4;
    --c-surface: #f4f6fa;
    --c-border: #AAAAAA;
    --c-accent: #B0DD3C;
    --c-accent-2: #2A5722;
    --c-accent-3: #85B157;
    --c-accent-ink: #333;
    --container: 1270px;
    --container-max: 1440px;
    --radius: 12px;
    --radius-20: 20px;
    /* Police globale : une seule variable. Inter d'abord, repli systeme ensuite. */
    --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --font-poppins: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --font-boneNova: "Bona Nova", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, serif;
    --shadow: 0 1px 2px rgba(20, 28, 55, .04), 0 12px 30px -18px rgba(20, 28, 55, .2);
    --gradient: linear-gradient(270deg, #EFF84E 0%, #8EBF22 50.48%, #0E6100 100%);
}


/* --------------------------------------------------- Base / reset léger */

.container {
    max-width: var(--container) !important;
    margin: 0 auto;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font-poppins);
    color: var(--c-text);
    background: var(--c-bg);
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

img,
video {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--c-accent);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}


h1,
.h1,
h2,
h3,
h4 {
    font-family: var(--font-boneNova);
    line-height: 1.45;
    margin: 0 0 .3em;
    font-weight: 700;
    letter-spacing: normal;
    color: var(--c-text);
}


.h1,
h1 {
    font-size: clamp(1.3rem, 4vw, 1.625rem);
    font-size: 1.625rem;
    text-transform: uppercase;
    line-height: 1.3;
}

h2 {
    font-size: clamp(1.3rem, 3vw, 1.375rem);
    font-size: 1.375rem;
    margin-bottom: 8px;
}

h3 {
    font-size: 1.2rem;
    margin-top: 1.2em;
}

p {
    margin: 0 0 1rem;
}

ul,
ol {
    margin: 0 0 1rem;
    padding-left: 1.3em;
}

li {
    margin: .3em 0;
}

blockquote {
    margin: 1.4rem 0;
    padding: .7rem 1.2rem;
    border-left: 4px solid var(--c-accent);
    background: var(--c-surface);
    border-radius: 0 var(--radius) var(--radius) 0;
    color: var(--c-muted);
}

hr {
    border: 0;
    border-top: 1px solid var(--c-border);
    margin: 2rem 0;
}

:focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 2px;
}

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

.border-radius-40px {
    border-radius: 40px;
}

.border-radius-20px {
    border-radius: 20px;
}

.pos-relative {
    position: relative;
}

.pos-absolute {
    position: absolute;
}

figure {
    margin: 0;
}

.t-eyebrow {
    font-size: 12px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--c-muted);
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    font-weight: 400;
}

section {
    position: relative;
    padding: 100px 0;
}

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

.row-gap-30px {
    gap: 30px 0;
}

h5 a {
    color: inherit;
}

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

figure {
    margin: 0;
}


/* --------------------------------------------------- En-tete + menu */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 10px 0;
    background: var(--c-bg);
    box-shadow: none;
}

.site-header-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: var(--container-max);
    padding: 0 15px;
    margin: 0 auto;
    width: 100%;
}

.site-header.site-scroll {
    box-shadow: 0 1px 0 var(--c-border);
}

.site-header li {
    margin: 0;
}

.site-logo {
    font-weight: 800;
    font-size: 1.25rem;
    letter-spacing: -.02em;
    color: var(--c-text);
}

.site-logo:hover {
    text-decoration: none;
}

.site-header nav ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin: 0;
    padding: 0;
}

.site-header nav a {
    display: block;
    padding: 18px 10px;
    border-radius: 999px;
    color: var(--c-text);
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.5em;
    transition: background .15s ease;
}

.site-header nav a:hover {
    background: var(--c-surface);
    text-decoration: none;
    color: rgba(51, 51, 51, 0.5);
}

/* --------------------------------------------------- Fil d'Ariane */
.breadcrumb {
    max-width: var(--container);
    margin: 14px 0 0;
    padding: 0 0;
}

.breadcrumb ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 7px;
    margin: 0;
    padding: 0;
    font-size: .85rem;
}

.breadcrumb li {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--c-muted);
}

.breadcrumb li:not(:last-child)::after {
    content: "/";
    color: var(--c-muted);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
}

.breadcrumb a {
    color: var(--c-muted);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
}

.breadcrumb li:last-child a {
    color: var(--c-muted);
    font-weight: 500;
}

/* --------------------------------------------------- Contenu principal */
main {
    /*  max-width: var(--container);
    padding: 36px 15px 72px; */
    margin-inline: auto;
}

main>article>.lead,
.lead {
    font-size: 1.2rem;
    color: var(--c-muted);
    margin: 0 0 1.4rem;
}

/* Sections fournies par le moteur (zones d'intervention, FAQ, maillage) */
.zones,
.faq,
.related {
    margin-top: 48px;
}

.zones ul,
.related ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
}

.zones a,
.related a {
    display: inline-block;
    padding: 8px 15px;
    background: var(--c-surface);
    border-radius: 999px;
    color: var(--c-text);
    font-size: .9rem;
}

.zones a:hover,
.related a:hover {
    text-decoration: none;
    background: var(--c-border);
}

.faq h3 {
    margin-top: 1.4em;
}

/* Bouton générique réutilisable */
.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    border: 0;
    border-radius: 6px;
    background: var(--c-accent-3);
    color: var(--c-white);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s ease;
    line-height: 1.45;
}

.btn:hover {
    text-decoration: none;
    background-color: var(--c-accent-2);
    color: var(--c-white);
}

/* --------------------------------------------------- Pied de page */
.site-footer {
    margin: 0;
    padding: 0;
    background: var(--c-accent-2);
    color: #fff;
}

.site-footer p {
    max-width: var(--container);
    margin: 0 auto 12px;
}

.site-footer nav {
    max-width: var(--container);
    margin-inline: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.site-footer a {
    color: #fff;
    text-decoration: none;
}

.site-footer a:hover {
    color: #fff;
}

/* --------------------------------------------------- Menu déroulant (sous-menu) */
.site-header nav .has-sub {
    position: relative;
}

.menu-top {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 0;
    background: none;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.5em;
    color: var(--c-text);
    padding: 18px 10px;
    border-radius: 999px;
}

.menu-top:hover {
    background: var(--c-surface);
    color: rgba(51, 51, 51, 0.5);
}

.menu-caret {
    width: 15px;
    height: 15px;
    transition: transform .2s ease;
}

.submenu {
    list-style: none;
    margin: 0;
}

/* Desktop UNIQUEMENT : sous-menu déroulant au survol (scopé pour ne pas fuir sur mobile) */
@media (min-width: 901px) {

    .site-header .submenu {
        padding: 10px 8px;
        position: absolute;
        top: calc(100% - 6px);
        left: 0;
        min-width: 220px;
        background: var(--c-bg);
        border-radius: var(--radius);
        box-shadow: var(--shadow);
        display: flex;
        flex-direction: column;
        gap: 2px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(6px);
        transition: opacity .18s ease, transform .18s ease, visibility .18s;
        z-index: 200;
    }

    .has-sub:hover .submenu,
    .has-sub:focus-within .submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .has-sub:hover .menu-caret,
    .has-sub:focus-within .menu-caret {
        transform: rotate(180deg);
    }

    .site-header .submenu a {
        display: block;
        padding: 7px 14px;
        border-radius: 8px;
        color: var(--c-text);
        font-weight: 600;
        font-size: 1rem;
        line-height: 1.5em;
        white-space: nowrap;
    }

    .site-header .submenu a:hover {
        background: var(--c-surface);
        text-decoration: none;
        color: rgba(51, 51, 51, 0.5);
    }
}

/* --------------------------------------------------- Actions d'en-tete (tel + devis) */
.header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.header-phone {
    font-weight: 700;
    color: var(--c-text);
    white-space: nowrap;
}

.header-cta {
    padding: 10px 18px;
    font-size: .95rem;
}

/* --------------------------------------------------- Selecteur de langue (multilingue)
   Aucun de ces elements n'existe tant que l'option multilingue n'est pas activee dans
   l'admin : ces regles ne s'appliquent alors a rien. */
.lang-switch {
    position: relative;
}

.lang-current {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    border: 0;
    border-radius: 9px;
    background: var(--c-surface);
    color: var(--c-text);
    font: 700 .82rem/1 inherit;
    cursor: pointer;
    transition: background .16s ease;
}

.lang-current:hover {
    background: var(--c-border);
}

.lang-caret {
    width: 13px;
    height: 13px;
    opacity: .6;
    transition: transform .18s ease;
}

.lang-switch.is-open .lang-caret {
    transform: rotate(180deg);
}

.lang-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 30;
    min-width: 96px;
    margin: 0;
    padding: 5px;
    list-style: none;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: 11px;
    box-shadow: 0 12px 28px rgba(20, 28, 45, .14);
}

.lang-menu[hidden] {
    display: none;
}

.lang-menu a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border-radius: 7px;
    color: var(--c-text);
    font-size: .84rem;
    font-weight: 600;
}

.lang-menu a:hover {
    background: var(--c-surface);
}

.lang-menu a.is-current {
    color: var(--c-accent);
}

.lang-flag {
    width: 20px;
    height: 13px;
    border-radius: 3px;
    flex: 0 0 auto;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .16);
}

@media (prefers-reduced-motion: reduce) {
    .lang-caret {
        transition: none;
    }
}


/* Desktop : le hamburger et le voile sont masques, le wrapper du menu est transparent
   (display:contents -> nav + actions redeviennent enfants directs du header). */
.nav-toggle {
    display: none;
}

.header-collapse {
    display: contents;
}

.nav-scrim {
    display: none;
}

/* --------------------------------------------------- Liens rapides avant le footer */
.quick-access {
    max-width: var(--container);
    margin: 48px auto 0;
    padding: 0 24px;
}

.quick-access ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
}

.quick-access a {
    font-weight: 600;
}

/* --------------------------------------------------- Pied de page (colonnes) */
.footer-inner .footer-col-wrap {
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    padding: 100px 0;
    gap: 40px 30px;
}

.footer-col h3 {
    color: #FFF;
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.364;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: 25%;
    text-underline-position: from-font;
    text-transform: uppercase;
    margin: 0 0 24px;
}

.footer-tagline {
    color: #aab0bd;
    font-size: .9rem;
    margin: 0 0 14px;
}

.footer-col:nth-child(3) {
    text-align: right;
}

.footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-col ul li {
    margin: 0;
}

.footer-social {
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 16px !important;
}

.footer-contact a,
.footer-nav a {
    color: #FFF;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.625em;
    text-decoration: none;
}

.footer-brand {
    display: flex;
    align-items: center;
}

.footer-bottom {
    margin: 0;
    padding: 16px 0;
    border-top: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    align-items: center;
    justify-content: space-between;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.715em;
    color: #FFF;
    background-color: var(--c-accent-3);
}

.footer-bottom ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.footer-bottom ul li {
    display: list-item;
    unicode-bidi: isolate;
    position: relative;
}

.footer-bottom ul li:not(:last-child) {
    margin-right: 16px;
    padding-right: 16px;
}

.footer-bottom ul li:not(:last-child):after {
    content: "";
    position: absolute;
    display: inline-block;
    top: 11px;
    right: -3px;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background-color: #B0DD3C;
}

.footer-bottom nav {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

/* --------------------------------------------------- Menu mobile : hamburger + panneau déroulant */
@media (max-width: 900px) {
    .site-header {
        flex-wrap: nowrap;
        padding: 10px 0;
        gap: 12px;
    }

    .site-logo {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Bouton hamburger (anime en croix a l'ouverture) */
    .nav-toggle {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 44px;
        height: 44px;
        padding: 0 11px;
        flex: 0 0 auto;
        border: 0;
        border-radius: 12px;
        background: var(--c-surface);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        position: relative;
        z-index: 130;
    }

    .nav-toggle span {
        display: block;
        width: 100%;
        height: 2px;
        background: var(--c-text);
        border-radius: 2px;
        transition: transform .25s ease, opacity .2s ease;
    }

    .nav-open .nav-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .nav-open .nav-toggle span:nth-child(2) {
        opacity: 0;
    }

    .nav-open .nav-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    /* Panneau : descend sous la barre, masque par defaut, anime a l'ouverture */
    .header-collapse {
        display: block;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--c-bg);
        box-shadow: var(--shadow);
        border-top: 1px solid var(--c-border);
        max-height: calc(100dvh - 68px);
        overflow-y: auto;
        padding: 6px 16px calc(18px + env(safe-area-inset-bottom, 0px));
        visibility: hidden;
        opacity: 0;
        transform: translateY(-10px);
        transition: opacity .22s ease, transform .22s ease, visibility .22s;
        z-index: 120;
    }

    .nav-open .header-collapse {
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .site-header nav {
        width: 100%;
    }

    .site-header nav ul {
        flex-direction: column;
        gap: 0;
        padding: 0;
    }

    .site-header nav>ul>li {
        border-bottom: 1px solid var(--c-border);
    }

    .site-header nav a,
    .menu-top {
        display: flex;
        align-items: center;
        width: 100%;
        text-align: left;
        padding: 13px 4px;
        border-radius: 0;
        font-size: 1rem;
        font-weight: 600;
    }

    /* Sous-menu en accordeon (le caret indique l'etat) */
    .menu-top {
        justify-content: space-between;
        cursor: pointer;
    }

    .menu-caret {
        display: inline-block;
        width: 18px;
        height: 18px;
        transition: transform .25s ease;
    }

    .has-sub.is-open .menu-caret {
        transform: rotate(180deg);
    }

    .submenu {
        overflow: hidden;
        max-height: 0;
        transition: max-height .28s ease;
        padding-left: 12px;
    }

    .has-sub.is-open .submenu {
        max-height: 70vh;
    }

    .submenu a {
        padding: 10px 4px;
        font-size: .95rem;
        font-weight: 500;
    }

    /* Actions (tel + devis) en bas du panneau */
    .header-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin-top: 12px;
    }

    .header-cta {
        text-align: center;
    }

    .header-phone {
        padding: 8px 4px;
    }

    /* Panneau mobile : la liste des langues se pose dans le flux, pas en survol. */
    .lang-current {
        justify-content: center;
    }

    .lang-menu {
        position: static;
        margin-top: 6px;
        min-width: 0;
    }

    /* Voile derriere le panneau (ferme au clic) */
    .nav-scrim {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 90;
        background: rgba(10, 14, 22, .42);
        opacity: 0;
        visibility: hidden;
        transition: opacity .22s ease, visibility .22s;
    }

    .nav-open .nav-scrim {
        opacity: 1;
        visibility: visible;
    }
}

/* --------------------------------------------------- Responsive (spacing) */
@media (max-width: 720px) {
    .breadcrumb {
        padding: 0 0;
    }

    main {
        padding: 24px 0 56px;
    }

    .footer-inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .quick-access {
        padding: 0 16px;
    }
}

/* =====================================================================
   Formulaire de contact : style minimal fonctionnel (a remplacer par la maquette).
   ===================================================================== */

[data-page-type="contact"] article {
    margin: 100px auto;
    max-width: var(--container);
    padding: 0 15px;
}

.contact-head {
    max-width: 784px;
    margin: 0 auto;
}

.contact-form {
    max-width: 730px;
    margin: 40px auto 0;
    display: grid;
    gap: 1rem;
}

.contact-form .form-row {
    display: grid;
    gap: 8px;
}

.contact-form .form-row:not(:last-child) {
    margin-bottom: 23px;
}

.contact-form label {
    color: #333;
    font-style: normal;
    font-weight: 500;
}

.contact-form .req {
    color: #c0392b;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: .7rem .85rem;
    font: inherit;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    background: var(--c-bg);
    box-sizing: border-box;
    color: var(--c-text);
}

.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--c-accent-3);
    box-shadow: 0 0 0 3px rgba(133, 177, 87, .15);
}

.form-row.form-consent {
    display: flex;
    gap: 23px;
}

.form-row.form-consent p {
    flex: 1;
    margin: 0;
}

.form-row.form-consent,
.form-row.form-consent a {
    color: #AAA;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.715em;
}

.form-row.form-consent a b {
    font-weight: 600;
}

.contact-form .form-consent label {
    font-weight: 400;
    display: flex;
    gap: .5rem;
    align-items: flex-start;
}

.contact-form .btn-contact {
    width: 100%;
}

.contact-form .btn-contact:hover {
    filter: brightness(1.08);
}

.form-error {
    color: #c0392b;
    font-size: .9rem;
}

.form-alert {
    padding: .8rem 1rem;
    border-radius: var(--radius);
    background: #fdecea;
    color: #8a1f17;
    margin: 1rem 0;
}

.form-success {
    padding: .8rem 1rem;
    border-radius: var(--radius);
    background: #e8f5e9;
    color: #1b5e20;
    margin: 1rem 0;
}

.contact-form input:-ms-input-placeholder {
    /* Microsoft Edge */
    color: #AAA !important;
}

.contact-form input::placeholder {
    /* Chrome, Firefox, Opera, Safari 110.1+ */
    color: #AAA !important;
    opacity: 1;
    /* Firefox */
}

.contact-form input:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #AAA !important;
}

.contact-form textarea::placeholder {
    color: #AAA !important;
}

/* Logo du client (settings.logo_path) dans l en-tete */
.site-logo img {
    display: block;
    width: auto;
    width: 247px;
}

/* Banniere de page (pages.banner_media_id) */
.page-banner {
    margin: 0 0 1.6rem;
}

.page-banner img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    border-radius: var(--radius);
}


/* --------------------------------------------------- Paragraphe */

.bloc-text p:last-of-type {
    margin-bottom: 0;
}


/* --------------------------------------------------- image parallax */

.home-parallax-img {
    overflow: hidden;
    height: 500px;
}

.home-parallax-img .parallax-img {
    object-fit: cover;
    width: 100%;
    height: 120%;
    object-position: center;
}


/************************************************** actualites sur la home */

.home-actus.blog {
    max-width: 100%;
    background-color: var(--blog-bg);
}

.home-actus.blog .blog-list {
    display: block;
    margin-bottom: 0;
}

.home-actus.blog .blog-card {
    display: flex;
    flex-direction: row;
    gap: 24px;
    background: transparent;
    border-radius: 0;
}

.home-actus.blog .blog-card-body {
    gap: 0;
    padding: 0;
}

.home-actus-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.home-actus-head .sec-title .t-eyebrow {
    align-items: start;
}

.home-actus-head .sec-title h2 {
    margin-bottom: 0;
}

.home-actus.blog .blog-card-date,
.home-actus.blog .blog-card-media {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: #FFF;
}

.home-actus.blog .blog-card-media img {
    transform: none !important;
}

.home-actus.blog .blog-card-date {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #529D03;
    text-align: center;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5em;
    opacity: 1;
    -webkit-transition: opacity 200ms;
    transition: opacity 200ms;
}

.home-actus.blog .blog-card:hover .blog-card-date {
    opacity: 0;
}

.home-actus.blog .blog-card-date .day {
    color: #828282;
    text-align: center;
    font-family: var(--font-boneNova);
    font-size: clamp(2.3rem, 4.6vw, 2.5rem);
    font-style: normal;
    font-weight: 700;
    line-height: 50px;
    line-height: 1.25;
}

.home-actus.blog .blog-card-title {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.364;
    letter-spacing: normal;
}

/************************************************** page service */

.intern-about-head .t-eyebrow {
    align-items: start;
}

/************************************************** Service faq */

.service-faq {
    display: flex;
    gap: 40px;
    margin-top: 40px;
}

.service-faq>.row {
    margin: 0 -20px;
    align-items: center;
}

.service-faq>.row>div {
    padding-left: 20px;
    padding-right: 20px;
}

.service-faq-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.service-faq-img figure,
.service-faq-img {
    position: relative;
    height: 100%;
    height: 677px;
}

[data-page-type="service"] .service-faq-img figure,
[data-page-type="service"] .service-faq-img {
    height: 620px;
}

.service-faq-img .layer-logo {
    position: absolute;
    top: -62px;
    right: -23.86px;
}

[data-page-type="service"] .service-faq-img .layer-logo {
    top: unset;
    bottom: 0;
    right: 20px;
}

.service-faq-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-20);
}

.service-faq-img:before {
    content: '';
    position: absolute;
    top: 50%;
    right: -20.5px;
    transform: translateY(-50%);
    width: 30px;
    height: calc(100% - 76px);
    border-radius: 0 20px 20px 0;
    background: var(--ml-gradient);
}

[data-page-type="service"] .service-faq-img:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: unset;
    bottom: 149px;
    left: -227px;
    width: 272px;
    height: 150px;
    border-radius: 0;
    background: var(--gradient);
    transform: none;
}

.service-faq-content .service-faq-t {
    color: #333;
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.364;
    margin: 0;
}

.service-faq-item {
    padding: 16px 0;
    border-bottom: 1px solid #AAA;
}

.service-faq-item>h4 {
    margin: 0;
    display: flex;
    align-items: start;
    gap: 16px;
}

.service-faq-item .service-faq-item-ic {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.service-faq-item .service-faq-tab-content {
    margin: 8px 0 0;
    padding-left: 0;
    overflow: hidden;
}

[data-page-type="service"] .service-faq-content {
    margin-bottom: 45px;
}

.service-faq-item .service-faq-tab-content .bloc-text {
    color: #333;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.715em;
}

.service-faq-item .service-faq-tab-content p+ul {
    margin-top: -1.15em;
}

.service-faq-item .service-faq-tab-content .bloc-text li {
    margin: 0;
}

.service-faq-item .service-faq-item-t {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: #333;
    font-family: inherit;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.555555em;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.service-faq-item .service-faq-item-t:focus-visible {
    outline-offset: 4px;
}

.service-faq-item .service-faq-item-ic img {
    transition: transform .35s ease;
}

.service-faq-item .service-faq-item-t[aria-expanded="true"] .service-faq-item-ic img {
    transform: rotate(90deg);
}

.service-faq-item .service-faq-tab-content[hidden] {
    display: none;
}


/************************************************** hero interne page */

.intern-about-head {
    padding: 90px 0 0;
}


/************************************************** contact infos */

.contact-infos {
    background: linear-gradient(0deg, #EAEAEA 0%, #EAEAEA 100%), rgba(215, 246, 27, 0.10);
    padding: 50px 0;
}

.contact-infos-in ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 40px 100px;
}

.contact-infos-in ul li p {
    margin-bottom: 0;
}

.contact-infos-in ul li {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 8px;
    width: 230px;
    color: #333;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.5;
}

.contact-infos-in ul li a {
    color: #333;
    text-decoration: none;
}

.contact-infos-in ul li a:hover {
    color: #529D03;
    font-weight: 600;
}

.contact-infos-in ul li b {
    font-family: var(--font-boneNova);
    font-size: 1.375rem;
    line-height: 1.455;
}

.contact-infos-in ul li svg {
    margin-bottom: 16px;
}

/* --------------------------------------------------- Animation aos*/

html:not(.no-js) [data-aos=fade-up] {
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
}

html:not(.no-js) [data-aos=fade-down] {
    -webkit-transform: translate3d(0, -50px, 0);
    transform: translate3d(0, -50px, 0);
}

html:not(.no-js) [data-aos=fade-right] {
    -webkit-transform: translate3d(-50px, 0, 0);
    transform: translate3d(-50px, 0, 0);
}

html:not(.no-js) [data-aos=fade-left] {
    -webkit-transform: translate3d(50px, 0, 0);
    transform: translate3d(50px, 0, 0);
}

.hide-h2 h2:first-of-type,
.hide-h3 h3:first-of-type,
.img-none img {
    display: none;
}

.bloc-text section {
    padding: 0;
}

.bloc-text a { color: inherit }

#wizard-form {
    padding: 40px 15px;
    margin: 0 auto;
}
.reviews{
    padding: 30px 15px;
}
/* Bandeau cookies / consentement — petite carte colorée (inspiration Axeptio).
   Design IDENTIQUE pour tous les sites : seule --ck-accent change, tout le reste en
   dérive via color-mix(). Sans bordure, thémable (var --c-*), responsive.
   Fallbacks : chaque fond coloré a une déclaration plate AVANT sa version color-mix. */
.ck {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9999;
  width: 372px;
  max-width: calc(100vw - 40px);
  --ck-accent: var(--c-accent, #2b6cb0);
  --ck-ink: var(--c-accent-ink, #fff);
  --ck-surf: var(--c-surface, #f4f6fa);
}
.ck[hidden] { display: none; }

.ck-box {
  background: var(--c-bg, #fff);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ck-accent) 11%, var(--c-bg, #fff)), var(--c-bg, #fff) 96px);
  color: var(--c-text, #1f2430);
  border-radius: 18px;
  box-shadow: 0 18px 48px -14px rgba(20, 28, 55, .32), 0 3px 12px -8px rgba(20, 28, 55, .2);
  padding: 15px;
  animation: ck-in .45s cubic-bezier(.16, 1, .3, 1) both;
}
@keyframes ck-in {
  from { opacity: 0; transform: translateY(22px) scale(.97); }
  to { opacity: 1; transform: none; }
}

/* En-tête : badge d'icône + texte */
.ck-top { display: flex; gap: 12px; align-items: center; }
.ck-ico {
  flex: 0 0 auto;
  width: 42px; height: 42px;
  display: grid; place-items: center;
  font-size: 22px; line-height: 1;
  border-radius: 13px;
  background: var(--ck-surf);
  background: color-mix(in srgb, var(--ck-accent) 16%, var(--c-bg, #fff));
  box-shadow: 0 3px 10px -4px color-mix(in srgb, var(--ck-accent) 45%, transparent);
  animation: ck-pop .5s cubic-bezier(.16, 1, .3, 1) .1s both;
}
@keyframes ck-pop { from { transform: scale(0); } to { transform: scale(1); } }
.ck-title { display: block; font-size: .98rem; margin-bottom: 2px; }
.ck-text { margin: 0; font-size: .84rem; line-height: 1.45; color: var(--c-muted, #5b6472); }
.ck-text a { color: var(--ck-accent); font-weight: 600; text-decoration: none; }
.ck-text a:hover { text-decoration: underline; }

/* Catégories (cartes + toggle) */
.ck-panel { display: flex; flex-direction: column; gap: 6px; margin-top: 13px; }
/* display:flex ci-dessus ecrase l'attribut [hidden] (display:none de l'UA) : sans
   cette regle le panneau reste visible en permanence. Il doit rester cache jusqu'au
   clic sur "Personnaliser". */
.ck-panel[hidden] { display: none; }
.ck-cat {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 11px;
  background: var(--ck-surf);
  border-radius: 12px;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
  animation: ck-row .35s cubic-bezier(.16, 1, .3, 1) both;
}
@keyframes ck-row { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ck-panel .ck-cat:nth-child(2) { animation-delay: .04s; }
.ck-panel .ck-cat:nth-child(3) { animation-delay: .08s; }
.ck-cat:hover:not(.is-locked) { background: color-mix(in srgb, var(--ck-accent) 9%, var(--ck-surf)); }
.ck-cat.is-locked { cursor: default; }

.ck-cat-ic {
  flex: 0 0 auto;
  width: 30px; height: 30px;
  display: grid; place-items: center;
  border-radius: 9px;
  color: var(--ck-accent);
  background: color-mix(in srgb, var(--ck-accent) 15%, transparent);
  transition: transform .2s cubic-bezier(.16, 1, .3, 1);
}
.ck-cat:hover:not(.is-locked) .ck-cat-ic { transform: scale(1.1) rotate(-4deg); }
.ck-cat-tx { flex: 1 1 auto; min-width: 0; }
.ck-cat-tx strong { display: block; font-size: .84rem; font-weight: 600; }
.ck-cat-tx small { display: block; color: var(--c-muted, #5b6472); font-size: .75rem; margin-top: 1px; }

/* Toggle (la case devient un interrupteur) */
.ck-cat input {
  appearance: none; -webkit-appearance: none;
  flex: 0 0 auto;
  position: relative;
  width: 38px; height: 22px;
  border-radius: 100px;
  background: var(--c-border, #d5dae4);
  cursor: pointer;
  transition: background .22s ease;
}
.ck-cat input::after {
  content: "";
  position: absolute;
  top: 3px; left: 3px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .28);
  transition: transform .22s cubic-bezier(.16, 1, .3, 1);
}
.ck-cat input:checked { background: var(--ck-accent); }
.ck-cat input:checked::after { transform: translateX(16px); }
.ck-cat input:disabled { opacity: .55; cursor: default; }

/* Actions */
.ck-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.ck-btn {
  font: inherit;
  font-weight: 700;
  font-size: .84rem;
  padding: 9px 16px;
  border: 0;
  border-radius: 100px;
  cursor: pointer;
  transition: background .2s ease, filter .16s ease;
}
.ck-btn:active { filter: brightness(.95); }
.ck-primary {
  background: var(--ck-accent);
  color: var(--ck-ink);
  box-shadow: 0 3px 10px -4px color-mix(in srgb, var(--ck-accent) 45%, transparent);
}
.ck-primary:hover { background: color-mix(in srgb, var(--ck-accent) 84%, #000); }
.ck-soft { background: var(--ck-surf); color: var(--c-text, #1f2430); }
.ck-soft { background: color-mix(in srgb, var(--ck-accent) 9%, var(--ck-surf)); }
.ck-soft:hover { background: color-mix(in srgb, var(--ck-accent) 22%, var(--ck-surf)); }
.ck-wide { grid-column: 1 / -1; }

.ck-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin-top: 8px;
  padding: 7px;
  background: none;
  border: 0;
  border-radius: 9px;
  font: inherit;
  font-size: .79rem;
  font-weight: 600;
  color: var(--c-muted, #5b6472);
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.ck-link svg { opacity: .8; }
.ck-link:hover {
  color: var(--ck-accent);
  background: color-mix(in srgb, var(--ck-accent) 9%, transparent);
}

@media (max-width: 480px) {
  .ck { left: 10px; right: 10px; bottom: 10px; width: auto; max-width: none; }
  .ck-box { padding: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .ck-box, .ck-ico, .ck-cat { animation: none; }
  .ck-btn, .ck-cat, .ck-cat-ic, .ck-cat input::after { transition: none; }
}

/* =====================================================================
   Widget slider d'avis (clé en main). Fonctionnel d'origine, thémable :
   surcharger les variables --rw-* sur .rw pour coller à la maquette.
   ex :  .rw { --rw-cols: 4; --rw-accent: #c0392b; --rw-card-radius: 8px; }
   ===================================================================== */
.rw {
    --rw-cols: 3;                 /* cartes visibles (desktop) */
    --rw-gap: 20px;
    --rw-card-bg: #ffffff;
    --rw-card-radius: 16px;
    --rw-card-pad: 24px;
    --rw-text: #3a4150;
    --rw-ink: #14181f;
    --rw-muted: #828a99;
    --rw-star: #f5b50a;
    --rw-star-off: #d7dbe3;
    --rw-accent: #16202e;
    --rw-shadow: 0 1px 2px rgba(20, 24, 31, .04), 0 12px 30px -18px rgba(20, 24, 31, .26);
    --rw-maxw: 1200px;
    --rw-clamp: 6;                /* lignes de texte avant troncature */

    max-width: var(--rw-maxw);
    margin-inline: auto;
    font-family: inherit;
    color: var(--rw-text);
}
.rw *, .rw *::before, .rw *::after { box-sizing: border-box; }

.rw-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 22px; }
.rw-title { margin: 0; font-size: 1.5rem; font-weight: 800; color: var(--rw-ink); }
.rw-agg { display: flex; align-items: center; gap: 8px; }
a.rw-agg { color: inherit; text-decoration: none; cursor: pointer; transition: opacity .15s ease; }
a.rw-agg:hover { opacity: .72; }
a.rw-agg:hover .rw-count { text-decoration: underline; }
.rw-score { font-size: 1.5rem; font-weight: 800; color: var(--rw-ink); line-height: 1; }
.rw-agg .rw-stars { font-size: 1.05rem; }
.rw-count { color: var(--rw-muted); font-size: .9rem; }

.rw-stars { display: inline-flex; gap: 2px; line-height: 1; white-space: nowrap; }
.rw-star { color: var(--rw-star-off); }
.rw-star.on { color: var(--rw-star); }

/* Piste scrollable (snap natif = swipe tactile fluide) */
.rw-viewport { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.rw-viewport::-webkit-scrollbar { display: none; }
/* padding genereux : evite que l'ombre des cartes soit rognee par l'overflow du carrousel */
.rw-track { display: flex; gap: var(--rw-gap); margin: 0; padding: 12px 10px 32px; list-style: none; }
.rw-slide { flex: 0 0 calc((100% - (var(--rw-cols) - 1) * var(--rw-gap)) / var(--rw-cols)); scroll-snap-align: start; }

.rw-card { height: 100%; background: var(--rw-card-bg); border-radius: var(--rw-card-radius); padding: var(--rw-card-pad); box-shadow: var(--rw-shadow); display: flex; flex-direction: column; gap: 13px; }
.rw-text { margin: 0; color: var(--rw-text); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: var(--rw-clamp); -webkit-box-orient: vertical; overflow: hidden; }
.rw-meta { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.rw-avatar { width: 44px; height: 44px; border-radius: 50%; flex: 0 0 auto; object-fit: cover; }
.rw-avatar-txt { display: grid; place-items: center; font-weight: 700; font-size: .95rem; color: var(--rw-accent); background: color-mix(in srgb, var(--rw-accent) 12%, #fff); }
.rw-id { display: flex; flex-direction: column; min-width: 0; }
.rw-author { font-weight: 700; color: var(--rw-ink); }
.rw-date { color: var(--rw-muted); font-size: .82rem; }
/* Logo Google (fichier dans /images/google-g.svg ; retire proprement si absent) */
.rw-glogo { width: 22px; height: 22px; object-fit: contain; flex: 0 0 auto; display: block; }
.rw-glogo-sm { width: 18px; height: 18px; margin-left: auto; }

/* Navigation */
.rw-nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 8px; }
.rw-arrow { appearance: none; border: 0; cursor: pointer; width: 42px; height: 42px; border-radius: 50%; background: var(--rw-card-bg); box-shadow: var(--rw-shadow); color: var(--rw-ink); font-size: 22px; line-height: 1; display: grid; place-items: center; transition: transform .15s ease, box-shadow .15s ease; }
.rw-arrow:hover { transform: translateY(-1px); }
.rw-dots { display: flex; gap: 8px; }
.rw-dot { appearance: none; border: 0; cursor: pointer; width: 8px; height: 8px; padding: 0; border-radius: 50%; background: var(--rw-star-off); transition: background .15s ease, width .15s ease; }
.rw-dot.on { background: var(--rw-accent); width: 22px; border-radius: 5px; }

/* Bandeau d'avis au-dessus du footer (placement auto par le layout) */
.rw-band { display: block; padding: 56px 20px; }

@media (max-width: 980px) { .rw { --rw-cols: 2; } }
@media (max-width: 620px) { .rw { --rw-cols: 1; } }

@media (prefers-reduced-motion: reduce) {
    .rw-viewport { scroll-behavior: auto; }
    .rw-arrow { transition: none; }
}

/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/aos@2.3.4/dist/aos.css
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}
/*!
 * Bootstrap Grid v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto
}

@media (min-width:576px) {

    .container,
    .container-sm {
        max-width: 540px
    }
}

@media (min-width:768px) {

    .container,
    .container-md,
    .container-sm {
        max-width: 720px
    }
}

@media (min-width:992px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm {
        max-width: 960px
    }
}

@media (min-width:1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1140px
    }
}

@media (min-width:1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1320px
    }
}

:root {
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-sm: 576px;
    --bs-breakpoint-md: 768px;
    --bs-breakpoint-lg: 992px;
    --bs-breakpoint-xl: 1200px;
    --bs-breakpoint-xxl: 1400px
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x))
}

.row>* {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y)
}

.col {
    flex: 1 0 0
}

.row-cols-auto>* {
    flex: 0 0 auto;
    width: auto
}

.row-cols-1>* {
    flex: 0 0 auto;
    width: 100%
}

.row-cols-2>* {
    flex: 0 0 auto;
    width: 50%
}

.row-cols-3>* {
    flex: 0 0 auto;
    width: 33.33333333%
}

.row-cols-4>* {
    flex: 0 0 auto;
    width: 25%
}

.row-cols-5>* {
    flex: 0 0 auto;
    width: 20%
}

.row-cols-6>* {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-auto {
    flex: 0 0 auto;
    width: auto
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-3 {
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%
}

.col-9 {
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%
}

.col-12 {
    flex: 0 0 auto;
    width: 100%
}

.offset-1 {
    margin-left: 8.33333333%
}

.offset-2 {
    margin-left: 16.66666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333333%
}

.offset-5 {
    margin-left: 41.66666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333333%
}

.offset-8 {
    margin-left: 66.66666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333333%
}

.offset-11 {
    margin-left: 91.66666667%
}

.g-0,
.gx-0 {
    --bs-gutter-x: 0
}

.g-0,
.gy-0 {
    --bs-gutter-y: 0
}

.g-1,
.gx-1 {
    --bs-gutter-x: 0.25rem
}

.g-1,
.gy-1 {
    --bs-gutter-y: 0.25rem
}

.g-2,
.gx-2 {
    --bs-gutter-x: 0.5rem
}

.g-2,
.gy-2 {
    --bs-gutter-y: 0.5rem
}

.g-3,
.gx-3 {
    --bs-gutter-x: 1rem
}

.g-3,
.gy-3 {
    --bs-gutter-y: 1rem
}

.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem
}

.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem
}

.g-5,
.gx-5 {
    --bs-gutter-x: 3rem
}

.g-5,
.gy-5 {
    --bs-gutter-y: 3rem
}

@media (min-width:576px) {
    .col-sm {
        flex: 1 0 0
    }

    .row-cols-sm-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-sm-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-sm-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-sm-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-sm-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-sm-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.33333333%
    }

    .offset-sm-2 {
        margin-left: 16.66666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.33333333%
    }

    .offset-sm-5 {
        margin-left: 41.66666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.33333333%
    }

    .offset-sm-8 {
        margin-left: 66.66666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.33333333%
    }

    .offset-sm-11 {
        margin-left: 91.66666667%
    }

    .g-sm-0,
    .gx-sm-0 {
        --bs-gutter-x: 0
    }

    .g-sm-0,
    .gy-sm-0 {
        --bs-gutter-y: 0
    }

    .g-sm-1,
    .gx-sm-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-sm-1,
    .gy-sm-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-sm-2,
    .gx-sm-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-sm-2,
    .gy-sm-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-sm-3,
    .gx-sm-3 {
        --bs-gutter-x: 1rem
    }

    .g-sm-3,
    .gy-sm-3 {
        --bs-gutter-y: 1rem
    }

    .g-sm-4,
    .gx-sm-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-sm-4,
    .gy-sm-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-sm-5,
    .gx-sm-5 {
        --bs-gutter-x: 3rem
    }

    .g-sm-5,
    .gy-sm-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:768px) {
    .col-md {
        flex: 1 0 0
    }

    .row-cols-md-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-md-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-md-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-md-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-md-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-md-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-md-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.33333333%
    }

    .offset-md-2 {
        margin-left: 16.66666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.33333333%
    }

    .offset-md-5 {
        margin-left: 41.66666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.33333333%
    }

    .offset-md-8 {
        margin-left: 66.66666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.33333333%
    }

    .offset-md-11 {
        margin-left: 91.66666667%
    }

    .g-md-0,
    .gx-md-0 {
        --bs-gutter-x: 0
    }

    .g-md-0,
    .gy-md-0 {
        --bs-gutter-y: 0
    }

    .g-md-1,
    .gx-md-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-md-3,
    .gx-md-3 {
        --bs-gutter-x: 1rem
    }

    .g-md-3,
    .gy-md-3 {
        --bs-gutter-y: 1rem
    }

    .g-md-4,
    .gx-md-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-md-4,
    .gy-md-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-md-5,
    .gx-md-5 {
        --bs-gutter-x: 3rem
    }

    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:992px) {
    .col-lg {
        flex: 1 0 0
    }

    .row-cols-lg-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-lg-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-lg-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-lg-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-lg-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-lg-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-lg-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.33333333%
    }

    .offset-lg-2 {
        margin-left: 16.66666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.33333333%
    }

    .offset-lg-5 {
        margin-left: 41.66666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.33333333%
    }

    .offset-lg-8 {
        margin-left: 66.66666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.33333333%
    }

    .offset-lg-11 {
        margin-left: 91.66666667%
    }

    .g-lg-0,
    .gx-lg-0 {
        --bs-gutter-x: 0
    }

    .g-lg-0,
    .gy-lg-0 {
        --bs-gutter-y: 0
    }

    .g-lg-1,
    .gx-lg-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-lg-1,
    .gy-lg-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-lg-2,
    .gx-lg-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-lg-2,
    .gy-lg-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-lg-3,
    .gx-lg-3 {
        --bs-gutter-x: 1rem
    }

    .g-lg-3,
    .gy-lg-3 {
        --bs-gutter-y: 1rem
    }

    .g-lg-4,
    .gx-lg-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-lg-4,
    .gy-lg-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-lg-5,
    .gx-lg-5 {
        --bs-gutter-x: 3rem
    }

    .g-lg-5,
    .gy-lg-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:1200px) {
    .col-xl {
        flex: 1 0 0
    }

    .row-cols-xl-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xl-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xl-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xl-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-xl-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xl-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xl-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xl-0 {
        margin-left: 0
    }

    .offset-xl-1 {
        margin-left: 8.33333333%
    }

    .offset-xl-2 {
        margin-left: 16.66666667%
    }

    .offset-xl-3 {
        margin-left: 25%
    }

    .offset-xl-4 {
        margin-left: 33.33333333%
    }

    .offset-xl-5 {
        margin-left: 41.66666667%
    }

    .offset-xl-6 {
        margin-left: 50%
    }

    .offset-xl-7 {
        margin-left: 58.33333333%
    }

    .offset-xl-8 {
        margin-left: 66.66666667%
    }

    .offset-xl-9 {
        margin-left: 75%
    }

    .offset-xl-10 {
        margin-left: 83.33333333%
    }

    .offset-xl-11 {
        margin-left: 91.66666667%
    }

    .g-xl-0,
    .gx-xl-0 {
        --bs-gutter-x: 0
    }

    .g-xl-0,
    .gy-xl-0 {
        --bs-gutter-y: 0
    }

    .g-xl-1,
    .gx-xl-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-xl-3,
    .gx-xl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xl-3,
    .gy-xl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xl-4,
    .gx-xl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xl-4,
    .gy-xl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xl-5,
    .gx-xl-5 {
        --bs-gutter-x: 3rem
    }

    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:1400px) {
    .col-xxl {
        flex: 1 0 0
    }

    .row-cols-xxl-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xxl-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xxl-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xxl-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-xxl-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xxl-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xxl-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xxl-0 {
        margin-left: 0
    }

    .offset-xxl-1 {
        margin-left: 8.33333333%
    }

    .offset-xxl-2 {
        margin-left: 16.66666667%
    }

    .offset-xxl-3 {
        margin-left: 25%
    }

    .offset-xxl-4 {
        margin-left: 33.33333333%
    }

    .offset-xxl-5 {
        margin-left: 41.66666667%
    }

    .offset-xxl-6 {
        margin-left: 50%
    }

    .offset-xxl-7 {
        margin-left: 58.33333333%
    }

    .offset-xxl-8 {
        margin-left: 66.66666667%
    }

    .offset-xxl-9 {
        margin-left: 75%
    }

    .offset-xxl-10 {
        margin-left: 83.33333333%
    }

    .offset-xxl-11 {
        margin-left: 91.66666667%
    }

    .g-xxl-0,
    .gx-xxl-0 {
        --bs-gutter-x: 0
    }

    .g-xxl-0,
    .gy-xxl-0 {
        --bs-gutter-y: 0
    }

    .g-xxl-1,
    .gx-xxl-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-xxl-1,
    .gy-xxl-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-xxl-2,
    .gx-xxl-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-xxl-2,
    .gy-xxl-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-xxl-3,
    .gx-xxl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xxl-3,
    .gy-xxl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xxl-4,
    .gx-xxl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xxl-4,
    .gy-xxl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xxl-5,
    .gx-xxl-5 {
        --bs-gutter-x: 3rem
    }

    .g-xxl-5,
    .gy-xxl-5 {
        --bs-gutter-y: 3rem
    }
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-grid {
    display: grid !important
}

.d-inline-grid {
    display: inline-grid !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

.d-none {
    display: none !important
}

.flex-fill {
    flex: 1 1 auto !important
}

.flex-row {
    flex-direction: row !important
}

.flex-column {
    flex-direction: column !important
}

.flex-row-reverse {
    flex-direction: row-reverse !important
}

.flex-column-reverse {
    flex-direction: column-reverse !important
}

.flex-grow-0 {
    flex-grow: 0 !important
}

.flex-grow-1 {
    flex-grow: 1 !important
}

.flex-shrink-0 {
    flex-shrink: 0 !important
}

.flex-shrink-1 {
    flex-shrink: 1 !important
}

.flex-wrap {
    flex-wrap: wrap !important
}

.flex-nowrap {
    flex-wrap: nowrap !important
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important
}

.justify-content-start {
    justify-content: flex-start !important
}

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

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

.justify-content-between {
    justify-content: space-between !important
}

.justify-content-around {
    justify-content: space-around !important
}

.justify-content-evenly {
    justify-content: space-evenly !important
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

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

.align-items-baseline {
    align-items: baseline !important
}

.align-items-stretch {
    align-items: stretch !important
}

.align-content-start {
    align-content: flex-start !important
}

.align-content-end {
    align-content: flex-end !important
}

.align-content-center {
    align-content: center !important
}

.align-content-between {
    align-content: space-between !important
}

.align-content-around {
    align-content: space-around !important
}

.align-content-stretch {
    align-content: stretch !important
}

.align-self-auto {
    align-self: auto !important
}

.align-self-start {
    align-self: flex-start !important
}

.align-self-end {
    align-self: flex-end !important
}

.align-self-center {
    align-self: center !important
}

.align-self-baseline {
    align-self: baseline !important
}

.align-self-stretch {
    align-self: stretch !important
}

.order-first {
    order: -1 !important
}

.order-0 {
    order: 0 !important
}

.order-1 {
    order: 1 !important
}

.order-2 {
    order: 2 !important
}

.order-3 {
    order: 3 !important
}

.order-4 {
    order: 4 !important
}

.order-5 {
    order: 5 !important
}

.order-last {
    order: 6 !important
}

.m-0 {
    margin: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.m-auto {
    margin: auto !important
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.mx-1 {
    margin-right: .25rem !important;
    margin-left: .25rem !important
}

.mx-2 {
    margin-right: .5rem !important;
    margin-left: .5rem !important
}

.mx-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important
}

.mx-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important
}

.mx-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.my-1 {
    margin-top: .25rem !important;
    margin-bottom: .25rem !important
}

.my-2 {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important
}

.mt-0 {
    margin-top: 0 !important
}

.mt-1 {
    margin-top: .25rem !important
}

.mt-2 {
    margin-top: .5rem !important
}

.mt-3 {
    margin-top: 1rem !important
}

.mt-4 {
    margin-top: 1.5rem !important
}

.mt-5 {
    margin-top: 3rem !important
}

.mt-auto {
    margin-top: auto !important
}

.me-0 {
    margin-right: 0 !important
}

.me-1 {
    margin-right: .25rem !important
}

.me-2 {
    margin-right: .5rem !important
}

.me-3 {
    margin-right: 1rem !important
}

.me-4 {
    margin-right: 1.5rem !important
}

.me-5 {
    margin-right: 3rem !important
}

.me-auto {
    margin-right: auto !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-1 {
    margin-bottom: .25rem !important
}

.mb-2 {
    margin-bottom: .5rem !important
}

.mb-3 {
    margin-bottom: 1rem !important
}

.mb-4 {
    margin-bottom: 1.5rem !important
}

.mb-5 {
    margin-bottom: 3rem !important
}

.mb-auto {
    margin-bottom: auto !important
}

.ms-0 {
    margin-left: 0 !important
}

.ms-1 {
    margin-left: .25rem !important
}

.ms-2 {
    margin-left: .5rem !important
}

.ms-3 {
    margin-left: 1rem !important
}

.ms-4 {
    margin-left: 1.5rem !important
}

.ms-5 {
    margin-left: 3rem !important
}

.ms-auto {
    margin-left: auto !important
}

.p-0 {
    padding: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

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

.px-1 {
    padding-right: .25rem !important;
    padding-left: .25rem !important
}

.px-2 {
    padding-right: .5rem !important;
    padding-left: .5rem !important
}

.px-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important
}

.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important
}

.px-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.py-1 {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important
}

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-1 {
    padding-top: .25rem !important
}

.pt-2 {
    padding-top: .5rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pt-4 {
    padding-top: 1.5rem !important
}

.pt-5 {
    padding-top: 3rem !important
}

.pe-0 {
    padding-right: 0 !important
}

.pe-1 {
    padding-right: .25rem !important
}

.pe-2 {
    padding-right: .5rem !important
}

.pe-3 {
    padding-right: 1rem !important
}

.pe-4 {
    padding-right: 1.5rem !important
}

.pe-5 {
    padding-right: 3rem !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-1 {
    padding-bottom: .25rem !important
}

.pb-2 {
    padding-bottom: .5rem !important
}

.pb-3 {
    padding-bottom: 1rem !important
}

.pb-4 {
    padding-bottom: 1.5rem !important
}

.pb-5 {
    padding-bottom: 3rem !important
}

.ps-0 {
    padding-left: 0 !important
}

.ps-1 {
    padding-left: .25rem !important
}

.ps-2 {
    padding-left: .5rem !important
}

.ps-3 {
    padding-left: 1rem !important
}

.ps-4 {
    padding-left: 1.5rem !important
}

.ps-5 {
    padding-left: 3rem !important
}

@media (min-width:576px) {
    .d-sm-inline {
        display: inline !important
    }

    .d-sm-inline-block {
        display: inline-block !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-grid {
        display: grid !important
    }

    .d-sm-inline-grid {
        display: inline-grid !important
    }

    .d-sm-table {
        display: table !important
    }

    .d-sm-table-row {
        display: table-row !important
    }

    .d-sm-table-cell {
        display: table-cell !important
    }

    .d-sm-flex {
        display: flex !important
    }

    .d-sm-inline-flex {
        display: inline-flex !important
    }

    .d-sm-none {
        display: none !important
    }

    .flex-sm-fill {
        flex: 1 1 auto !important
    }

    .flex-sm-row {
        flex-direction: row !important
    }

    .flex-sm-column {
        flex-direction: column !important
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-sm-grow-0 {
        flex-grow: 0 !important
    }

    .flex-sm-grow-1 {
        flex-grow: 1 !important
    }

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-sm-wrap {
        flex-wrap: wrap !important
    }

    .flex-sm-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-sm-start {
        justify-content: flex-start !important
    }

    .justify-content-sm-end {
        justify-content: flex-end !important
    }

    .justify-content-sm-center {
        justify-content: center !important
    }

    .justify-content-sm-between {
        justify-content: space-between !important
    }

    .justify-content-sm-around {
        justify-content: space-around !important
    }

    .justify-content-sm-evenly {
        justify-content: space-evenly !important
    }

    .align-items-sm-start {
        align-items: flex-start !important
    }

    .align-items-sm-end {
        align-items: flex-end !important
    }

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

    .align-items-sm-baseline {
        align-items: baseline !important
    }

    .align-items-sm-stretch {
        align-items: stretch !important
    }

    .align-content-sm-start {
        align-content: flex-start !important
    }

    .align-content-sm-end {
        align-content: flex-end !important
    }

    .align-content-sm-center {
        align-content: center !important
    }

    .align-content-sm-between {
        align-content: space-between !important
    }

    .align-content-sm-around {
        align-content: space-around !important
    }

    .align-content-sm-stretch {
        align-content: stretch !important
    }

    .align-self-sm-auto {
        align-self: auto !important
    }

    .align-self-sm-start {
        align-self: flex-start !important
    }

    .align-self-sm-end {
        align-self: flex-end !important
    }

    .align-self-sm-center {
        align-self: center !important
    }

    .align-self-sm-baseline {
        align-self: baseline !important
    }

    .align-self-sm-stretch {
        align-self: stretch !important
    }

    .order-sm-first {
        order: -1 !important
    }

    .order-sm-0 {
        order: 0 !important
    }

    .order-sm-1 {
        order: 1 !important
    }

    .order-sm-2 {
        order: 2 !important
    }

    .order-sm-3 {
        order: 3 !important
    }

    .order-sm-4 {
        order: 4 !important
    }

    .order-sm-5 {
        order: 5 !important
    }

    .order-sm-last {
        order: 6 !important
    }

    .m-sm-0 {
        margin: 0 !important
    }

    .m-sm-1 {
        margin: .25rem !important
    }

    .m-sm-2 {
        margin: .5rem !important
    }

    .m-sm-3 {
        margin: 1rem !important
    }

    .m-sm-4 {
        margin: 1.5rem !important
    }

    .m-sm-5 {
        margin: 3rem !important
    }

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

    .mx-sm-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-sm-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-sm-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-sm-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-sm-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-sm-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-sm-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-sm-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-sm-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-sm-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-sm-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-sm-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-sm-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-sm-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-sm-0 {
        margin-top: 0 !important
    }

    .mt-sm-1 {
        margin-top: .25rem !important
    }

    .mt-sm-2 {
        margin-top: .5rem !important
    }

    .mt-sm-3 {
        margin-top: 1rem !important
    }

    .mt-sm-4 {
        margin-top: 1.5rem !important
    }

    .mt-sm-5 {
        margin-top: 3rem !important
    }

    .mt-sm-auto {
        margin-top: auto !important
    }

    .me-sm-0 {
        margin-right: 0 !important
    }

    .me-sm-1 {
        margin-right: .25rem !important
    }

    .me-sm-2 {
        margin-right: .5rem !important
    }

    .me-sm-3 {
        margin-right: 1rem !important
    }

    .me-sm-4 {
        margin-right: 1.5rem !important
    }

    .me-sm-5 {
        margin-right: 3rem !important
    }

    .me-sm-auto {
        margin-right: auto !important
    }

    .mb-sm-0 {
        margin-bottom: 0 !important
    }

    .mb-sm-1 {
        margin-bottom: .25rem !important
    }

    .mb-sm-2 {
        margin-bottom: .5rem !important
    }

    .mb-sm-3 {
        margin-bottom: 1rem !important
    }

    .mb-sm-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-sm-5 {
        margin-bottom: 3rem !important
    }

    .mb-sm-auto {
        margin-bottom: auto !important
    }

    .ms-sm-0 {
        margin-left: 0 !important
    }

    .ms-sm-1 {
        margin-left: .25rem !important
    }

    .ms-sm-2 {
        margin-left: .5rem !important
    }

    .ms-sm-3 {
        margin-left: 1rem !important
    }

    .ms-sm-4 {
        margin-left: 1.5rem !important
    }

    .ms-sm-5 {
        margin-left: 3rem !important
    }

    .ms-sm-auto {
        margin-left: auto !important
    }

    .p-sm-0 {
        padding: 0 !important
    }

    .p-sm-1 {
        padding: .25rem !important
    }

    .p-sm-2 {
        padding: .5rem !important
    }

    .p-sm-3 {
        padding: 1rem !important
    }

    .p-sm-4 {
        padding: 1.5rem !important
    }

    .p-sm-5 {
        padding: 3rem !important
    }

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

    .px-sm-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-sm-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-sm-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-sm-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-sm-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-sm-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-sm-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-sm-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-sm-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-sm-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-sm-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-sm-0 {
        padding-top: 0 !important
    }

    .pt-sm-1 {
        padding-top: .25rem !important
    }

    .pt-sm-2 {
        padding-top: .5rem !important
    }

    .pt-sm-3 {
        padding-top: 1rem !important
    }

    .pt-sm-4 {
        padding-top: 1.5rem !important
    }

    .pt-sm-5 {
        padding-top: 3rem !important
    }

    .pe-sm-0 {
        padding-right: 0 !important
    }

    .pe-sm-1 {
        padding-right: .25rem !important
    }

    .pe-sm-2 {
        padding-right: .5rem !important
    }

    .pe-sm-3 {
        padding-right: 1rem !important
    }

    .pe-sm-4 {
        padding-right: 1.5rem !important
    }

    .pe-sm-5 {
        padding-right: 3rem !important
    }

    .pb-sm-0 {
        padding-bottom: 0 !important
    }

    .pb-sm-1 {
        padding-bottom: .25rem !important
    }

    .pb-sm-2 {
        padding-bottom: .5rem !important
    }

    .pb-sm-3 {
        padding-bottom: 1rem !important
    }

    .pb-sm-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-sm-5 {
        padding-bottom: 3rem !important
    }

    .ps-sm-0 {
        padding-left: 0 !important
    }

    .ps-sm-1 {
        padding-left: .25rem !important
    }

    .ps-sm-2 {
        padding-left: .5rem !important
    }

    .ps-sm-3 {
        padding-left: 1rem !important
    }

    .ps-sm-4 {
        padding-left: 1.5rem !important
    }

    .ps-sm-5 {
        padding-left: 3rem !important
    }
}

@media (min-width:768px) {
    .d-md-inline {
        display: inline !important
    }

    .d-md-inline-block {
        display: inline-block !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-grid {
        display: grid !important
    }

    .d-md-inline-grid {
        display: inline-grid !important
    }

    .d-md-table {
        display: table !important
    }

    .d-md-table-row {
        display: table-row !important
    }

    .d-md-table-cell {
        display: table-cell !important
    }

    .d-md-flex {
        display: flex !important
    }

    .d-md-inline-flex {
        display: inline-flex !important
    }

    .d-md-none {
        display: none !important
    }

    .flex-md-fill {
        flex: 1 1 auto !important
    }

    .flex-md-row {
        flex-direction: row !important
    }

    .flex-md-column {
        flex-direction: column !important
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-md-grow-0 {
        flex-grow: 0 !important
    }

    .flex-md-grow-1 {
        flex-grow: 1 !important
    }

    .flex-md-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-md-wrap {
        flex-wrap: wrap !important
    }

    .flex-md-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-md-start {
        justify-content: flex-start !important
    }

    .justify-content-md-end {
        justify-content: flex-end !important
    }

    .justify-content-md-center {
        justify-content: center !important
    }

    .justify-content-md-between {
        justify-content: space-between !important
    }

    .justify-content-md-around {
        justify-content: space-around !important
    }

    .justify-content-md-evenly {
        justify-content: space-evenly !important
    }

    .align-items-md-start {
        align-items: flex-start !important
    }

    .align-items-md-end {
        align-items: flex-end !important
    }

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

    .align-items-md-baseline {
        align-items: baseline !important
    }

    .align-items-md-stretch {
        align-items: stretch !important
    }

    .align-content-md-start {
        align-content: flex-start !important
    }

    .align-content-md-end {
        align-content: flex-end !important
    }

    .align-content-md-center {
        align-content: center !important
    }

    .align-content-md-between {
        align-content: space-between !important
    }

    .align-content-md-around {
        align-content: space-around !important
    }

    .align-content-md-stretch {
        align-content: stretch !important
    }

    .align-self-md-auto {
        align-self: auto !important
    }

    .align-self-md-start {
        align-self: flex-start !important
    }

    .align-self-md-end {
        align-self: flex-end !important
    }

    .align-self-md-center {
        align-self: center !important
    }

    .align-self-md-baseline {
        align-self: baseline !important
    }

    .align-self-md-stretch {
        align-self: stretch !important
    }

    .order-md-first {
        order: -1 !important
    }

    .order-md-0 {
        order: 0 !important
    }

    .order-md-1 {
        order: 1 !important
    }

    .order-md-2 {
        order: 2 !important
    }

    .order-md-3 {
        order: 3 !important
    }

    .order-md-4 {
        order: 4 !important
    }

    .order-md-5 {
        order: 5 !important
    }

    .order-md-last {
        order: 6 !important
    }

    .m-md-0 {
        margin: 0 !important
    }

    .m-md-1 {
        margin: .25rem !important
    }

    .m-md-2 {
        margin: .5rem !important
    }

    .m-md-3 {
        margin: 1rem !important
    }

    .m-md-4 {
        margin: 1.5rem !important
    }

    .m-md-5 {
        margin: 3rem !important
    }

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

    .mx-md-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-md-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-md-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-md-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-md-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-md-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-md-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-md-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-md-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-md-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-md-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-md-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-md-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-md-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-md-0 {
        margin-top: 0 !important
    }

    .mt-md-1 {
        margin-top: .25rem !important
    }

    .mt-md-2 {
        margin-top: .5rem !important
    }

    .mt-md-3 {
        margin-top: 1rem !important
    }

    .mt-md-4 {
        margin-top: 1.5rem !important
    }

    .mt-md-5 {
        margin-top: 3rem !important
    }

    .mt-md-auto {
        margin-top: auto !important
    }

    .me-md-0 {
        margin-right: 0 !important
    }

    .me-md-1 {
        margin-right: .25rem !important
    }

    .me-md-2 {
        margin-right: .5rem !important
    }

    .me-md-3 {
        margin-right: 1rem !important
    }

    .me-md-4 {
        margin-right: 1.5rem !important
    }

    .me-md-5 {
        margin-right: 3rem !important
    }

    .me-md-auto {
        margin-right: auto !important
    }

    .mb-md-0 {
        margin-bottom: 0 !important
    }

    .mb-md-1 {
        margin-bottom: .25rem !important
    }

    .mb-md-2 {
        margin-bottom: .5rem !important
    }

    .mb-md-3 {
        margin-bottom: 1rem !important
    }

    .mb-md-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-md-5 {
        margin-bottom: 3rem !important
    }

    .mb-md-auto {
        margin-bottom: auto !important
    }

    .ms-md-0 {
        margin-left: 0 !important
    }

    .ms-md-1 {
        margin-left: .25rem !important
    }

    .ms-md-2 {
        margin-left: .5rem !important
    }

    .ms-md-3 {
        margin-left: 1rem !important
    }

    .ms-md-4 {
        margin-left: 1.5rem !important
    }

    .ms-md-5 {
        margin-left: 3rem !important
    }

    .ms-md-auto {
        margin-left: auto !important
    }

    .p-md-0 {
        padding: 0 !important
    }

    .p-md-1 {
        padding: .25rem !important
    }

    .p-md-2 {
        padding: .5rem !important
    }

    .p-md-3 {
        padding: 1rem !important
    }

    .p-md-4 {
        padding: 1.5rem !important
    }

    .p-md-5 {
        padding: 3rem !important
    }

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

    .px-md-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-md-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-md-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-md-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-md-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-md-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-md-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-md-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-md-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-md-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-md-0 {
        padding-top: 0 !important
    }

    .pt-md-1 {
        padding-top: .25rem !important
    }

    .pt-md-2 {
        padding-top: .5rem !important
    }

    .pt-md-3 {
        padding-top: 1rem !important
    }

    .pt-md-4 {
        padding-top: 1.5rem !important
    }

    .pt-md-5 {
        padding-top: 3rem !important
    }

    .pe-md-0 {
        padding-right: 0 !important
    }

    .pe-md-1 {
        padding-right: .25rem !important
    }

    .pe-md-2 {
        padding-right: .5rem !important
    }

    .pe-md-3 {
        padding-right: 1rem !important
    }

    .pe-md-4 {
        padding-right: 1.5rem !important
    }

    .pe-md-5 {
        padding-right: 3rem !important
    }

    .pb-md-0 {
        padding-bottom: 0 !important
    }

    .pb-md-1 {
        padding-bottom: .25rem !important
    }

    .pb-md-2 {
        padding-bottom: .5rem !important
    }

    .pb-md-3 {
        padding-bottom: 1rem !important
    }

    .pb-md-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-md-5 {
        padding-bottom: 3rem !important
    }

    .ps-md-0 {
        padding-left: 0 !important
    }

    .ps-md-1 {
        padding-left: .25rem !important
    }

    .ps-md-2 {
        padding-left: .5rem !important
    }

    .ps-md-3 {
        padding-left: 1rem !important
    }

    .ps-md-4 {
        padding-left: 1.5rem !important
    }

    .ps-md-5 {
        padding-left: 3rem !important
    }
}

@media (min-width:992px) {
    .d-lg-inline {
        display: inline !important
    }

    .d-lg-inline-block {
        display: inline-block !important
    }

    .d-lg-block {
        display: block !important
    }

    .d-lg-grid {
        display: grid !important
    }

    .d-lg-inline-grid {
        display: inline-grid !important
    }

    .d-lg-table {
        display: table !important
    }

    .d-lg-table-row {
        display: table-row !important
    }

    .d-lg-table-cell {
        display: table-cell !important
    }

    .d-lg-flex {
        display: flex !important
    }

    .d-lg-inline-flex {
        display: inline-flex !important
    }

    .d-lg-none {
        display: none !important
    }

    .flex-lg-fill {
        flex: 1 1 auto !important
    }

    .flex-lg-row {
        flex-direction: row !important
    }

    .flex-lg-column {
        flex-direction: column !important
    }

    .flex-lg-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-lg-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-lg-grow-0 {
        flex-grow: 0 !important
    }

    .flex-lg-grow-1 {
        flex-grow: 1 !important
    }

    .flex-lg-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-lg-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-lg-wrap {
        flex-wrap: wrap !important
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-lg-start {
        justify-content: flex-start !important
    }

    .justify-content-lg-end {
        justify-content: flex-end !important
    }

    .justify-content-lg-center {
        justify-content: center !important
    }

    .justify-content-lg-between {
        justify-content: space-between !important
    }

    .justify-content-lg-around {
        justify-content: space-around !important
    }

    .justify-content-lg-evenly {
        justify-content: space-evenly !important
    }

    .align-items-lg-start {
        align-items: flex-start !important
    }

    .align-items-lg-end {
        align-items: flex-end !important
    }

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

    .align-items-lg-baseline {
        align-items: baseline !important
    }

    .align-items-lg-stretch {
        align-items: stretch !important
    }

    .align-content-lg-start {
        align-content: flex-start !important
    }

    .align-content-lg-end {
        align-content: flex-end !important
    }

    .align-content-lg-center {
        align-content: center !important
    }

    .align-content-lg-between {
        align-content: space-between !important
    }

    .align-content-lg-around {
        align-content: space-around !important
    }

    .align-content-lg-stretch {
        align-content: stretch !important
    }

    .align-self-lg-auto {
        align-self: auto !important
    }

    .align-self-lg-start {
        align-self: flex-start !important
    }

    .align-self-lg-end {
        align-self: flex-end !important
    }

    .align-self-lg-center {
        align-self: center !important
    }

    .align-self-lg-baseline {
        align-self: baseline !important
    }

    .align-self-lg-stretch {
        align-self: stretch !important
    }

    .order-lg-first {
        order: -1 !important
    }

    .order-lg-0 {
        order: 0 !important
    }

    .order-lg-1 {
        order: 1 !important
    }

    .order-lg-2 {
        order: 2 !important
    }

    .order-lg-3 {
        order: 3 !important
    }

    .order-lg-4 {
        order: 4 !important
    }

    .order-lg-5 {
        order: 5 !important
    }

    .order-lg-last {
        order: 6 !important
    }

    .m-lg-0 {
        margin: 0 !important
    }

    .m-lg-1 {
        margin: .25rem !important
    }

    .m-lg-2 {
        margin: .5rem !important
    }

    .m-lg-3 {
        margin: 1rem !important
    }

    .m-lg-4 {
        margin: 1.5rem !important
    }

    .m-lg-5 {
        margin: 3rem !important
    }

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

    .mx-lg-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-lg-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-lg-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-lg-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-lg-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-lg-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-lg-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-lg-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-lg-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-lg-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-lg-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-lg-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-lg-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-lg-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-lg-0 {
        margin-top: 0 !important
    }

    .mt-lg-1 {
        margin-top: .25rem !important
    }

    .mt-lg-2 {
        margin-top: .5rem !important
    }

    .mt-lg-3 {
        margin-top: 1rem !important
    }

    .mt-lg-4 {
        margin-top: 1.5rem !important
    }

    .mt-lg-5 {
        margin-top: 3rem !important
    }

    .mt-lg-auto {
        margin-top: auto !important
    }

    .me-lg-0 {
        margin-right: 0 !important
    }

    .me-lg-1 {
        margin-right: .25rem !important
    }

    .me-lg-2 {
        margin-right: .5rem !important
    }

    .me-lg-3 {
        margin-right: 1rem !important
    }

    .me-lg-4 {
        margin-right: 1.5rem !important
    }

    .me-lg-5 {
        margin-right: 3rem !important
    }

    .me-lg-auto {
        margin-right: auto !important
    }

    .mb-lg-0 {
        margin-bottom: 0 !important
    }

    .mb-lg-1 {
        margin-bottom: .25rem !important
    }

    .mb-lg-2 {
        margin-bottom: .5rem !important
    }

    .mb-lg-3 {
        margin-bottom: 1rem !important
    }

    .mb-lg-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-lg-5 {
        margin-bottom: 3rem !important
    }

    .mb-lg-auto {
        margin-bottom: auto !important
    }

    .ms-lg-0 {
        margin-left: 0 !important
    }

    .ms-lg-1 {
        margin-left: .25rem !important
    }

    .ms-lg-2 {
        margin-left: .5rem !important
    }

    .ms-lg-3 {
        margin-left: 1rem !important
    }

    .ms-lg-4 {
        margin-left: 1.5rem !important
    }

    .ms-lg-5 {
        margin-left: 3rem !important
    }

    .ms-lg-auto {
        margin-left: auto !important
    }

    .p-lg-0 {
        padding: 0 !important
    }

    .p-lg-1 {
        padding: .25rem !important
    }

    .p-lg-2 {
        padding: .5rem !important
    }

    .p-lg-3 {
        padding: 1rem !important
    }

    .p-lg-4 {
        padding: 1.5rem !important
    }

    .p-lg-5 {
        padding: 3rem !important
    }

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

    .px-lg-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-lg-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-lg-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-lg-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-lg-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-lg-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-lg-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-lg-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-lg-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-lg-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-lg-0 {
        padding-top: 0 !important
    }

    .pt-lg-1 {
        padding-top: .25rem !important
    }

    .pt-lg-2 {
        padding-top: .5rem !important
    }

    .pt-lg-3 {
        padding-top: 1rem !important
    }

    .pt-lg-4 {
        padding-top: 1.5rem !important
    }

    .pt-lg-5 {
        padding-top: 3rem !important
    }

    .pe-lg-0 {
        padding-right: 0 !important
    }

    .pe-lg-1 {
        padding-right: .25rem !important
    }

    .pe-lg-2 {
        padding-right: .5rem !important
    }

    .pe-lg-3 {
        padding-right: 1rem !important
    }

    .pe-lg-4 {
        padding-right: 1.5rem !important
    }

    .pe-lg-5 {
        padding-right: 3rem !important
    }

    .pb-lg-0 {
        padding-bottom: 0 !important
    }

    .pb-lg-1 {
        padding-bottom: .25rem !important
    }

    .pb-lg-2 {
        padding-bottom: .5rem !important
    }

    .pb-lg-3 {
        padding-bottom: 1rem !important
    }

    .pb-lg-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-lg-5 {
        padding-bottom: 3rem !important
    }

    .ps-lg-0 {
        padding-left: 0 !important
    }

    .ps-lg-1 {
        padding-left: .25rem !important
    }

    .ps-lg-2 {
        padding-left: .5rem !important
    }

    .ps-lg-3 {
        padding-left: 1rem !important
    }

    .ps-lg-4 {
        padding-left: 1.5rem !important
    }

    .ps-lg-5 {
        padding-left: 3rem !important
    }
}

@media (min-width:1200px) {
    .d-xl-inline {
        display: inline !important
    }

    .d-xl-inline-block {
        display: inline-block !important
    }

    .d-xl-block {
        display: block !important
    }

    .d-xl-grid {
        display: grid !important
    }

    .d-xl-inline-grid {
        display: inline-grid !important
    }

    .d-xl-table {
        display: table !important
    }

    .d-xl-table-row {
        display: table-row !important
    }

    .d-xl-table-cell {
        display: table-cell !important
    }

    .d-xl-flex {
        display: flex !important
    }

    .d-xl-inline-flex {
        display: inline-flex !important
    }

    .d-xl-none {
        display: none !important
    }

    .flex-xl-fill {
        flex: 1 1 auto !important
    }

    .flex-xl-row {
        flex-direction: row !important
    }

    .flex-xl-column {
        flex-direction: column !important
    }

    .flex-xl-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-xl-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-xl-grow-0 {
        flex-grow: 0 !important
    }

    .flex-xl-grow-1 {
        flex-grow: 1 !important
    }

    .flex-xl-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-xl-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-xl-wrap {
        flex-wrap: wrap !important
    }

    .flex-xl-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-xl-start {
        justify-content: flex-start !important
    }

    .justify-content-xl-end {
        justify-content: flex-end !important
    }

    .justify-content-xl-center {
        justify-content: center !important
    }

    .justify-content-xl-between {
        justify-content: space-between !important
    }

    .justify-content-xl-around {
        justify-content: space-around !important
    }

    .justify-content-xl-evenly {
        justify-content: space-evenly !important
    }

    .align-items-xl-start {
        align-items: flex-start !important
    }

    .align-items-xl-end {
        align-items: flex-end !important
    }

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

    .align-items-xl-baseline {
        align-items: baseline !important
    }

    .align-items-xl-stretch {
        align-items: stretch !important
    }

    .align-content-xl-start {
        align-content: flex-start !important
    }

    .align-content-xl-end {
        align-content: flex-end !important
    }

    .align-content-xl-center {
        align-content: center !important
    }

    .align-content-xl-between {
        align-content: space-between !important
    }

    .align-content-xl-around {
        align-content: space-around !important
    }

    .align-content-xl-stretch {
        align-content: stretch !important
    }

    .align-self-xl-auto {
        align-self: auto !important
    }

    .align-self-xl-start {
        align-self: flex-start !important
    }

    .align-self-xl-end {
        align-self: flex-end !important
    }

    .align-self-xl-center {
        align-self: center !important
    }

    .align-self-xl-baseline {
        align-self: baseline !important
    }

    .align-self-xl-stretch {
        align-self: stretch !important
    }

    .order-xl-first {
        order: -1 !important
    }

    .order-xl-0 {
        order: 0 !important
    }

    .order-xl-1 {
        order: 1 !important
    }

    .order-xl-2 {
        order: 2 !important
    }

    .order-xl-3 {
        order: 3 !important
    }

    .order-xl-4 {
        order: 4 !important
    }

    .order-xl-5 {
        order: 5 !important
    }

    .order-xl-last {
        order: 6 !important
    }

    .m-xl-0 {
        margin: 0 !important
    }

    .m-xl-1 {
        margin: .25rem !important
    }

    .m-xl-2 {
        margin: .5rem !important
    }

    .m-xl-3 {
        margin: 1rem !important
    }

    .m-xl-4 {
        margin: 1.5rem !important
    }

    .m-xl-5 {
        margin: 3rem !important
    }

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

    .mx-xl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-xl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-xl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-xl-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-xl-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-xl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-xl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-xl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-xl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-xl-0 {
        margin-top: 0 !important
    }

    .mt-xl-1 {
        margin-top: .25rem !important
    }

    .mt-xl-2 {
        margin-top: .5rem !important
    }

    .mt-xl-3 {
        margin-top: 1rem !important
    }

    .mt-xl-4 {
        margin-top: 1.5rem !important
    }

    .mt-xl-5 {
        margin-top: 3rem !important
    }

    .mt-xl-auto {
        margin-top: auto !important
    }

    .me-xl-0 {
        margin-right: 0 !important
    }

    .me-xl-1 {
        margin-right: .25rem !important
    }

    .me-xl-2 {
        margin-right: .5rem !important
    }

    .me-xl-3 {
        margin-right: 1rem !important
    }

    .me-xl-4 {
        margin-right: 1.5rem !important
    }

    .me-xl-5 {
        margin-right: 3rem !important
    }

    .me-xl-auto {
        margin-right: auto !important
    }

    .mb-xl-0 {
        margin-bottom: 0 !important
    }

    .mb-xl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xl-5 {
        margin-bottom: 3rem !important
    }

    .mb-xl-auto {
        margin-bottom: auto !important
    }

    .ms-xl-0 {
        margin-left: 0 !important
    }

    .ms-xl-1 {
        margin-left: .25rem !important
    }

    .ms-xl-2 {
        margin-left: .5rem !important
    }

    .ms-xl-3 {
        margin-left: 1rem !important
    }

    .ms-xl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xl-5 {
        margin-left: 3rem !important
    }

    .ms-xl-auto {
        margin-left: auto !important
    }

    .p-xl-0 {
        padding: 0 !important
    }

    .p-xl-1 {
        padding: .25rem !important
    }

    .p-xl-2 {
        padding: .5rem !important
    }

    .p-xl-3 {
        padding: 1rem !important
    }

    .p-xl-4 {
        padding: 1.5rem !important
    }

    .p-xl-5 {
        padding: 3rem !important
    }

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

    .px-xl-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-xl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-xl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-xl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-xl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-xl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-xl-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-xl-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-xl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-xl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-xl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-xl-0 {
        padding-top: 0 !important
    }

    .pt-xl-1 {
        padding-top: .25rem !important
    }

    .pt-xl-2 {
        padding-top: .5rem !important
    }

    .pt-xl-3 {
        padding-top: 1rem !important
    }

    .pt-xl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xl-5 {
        padding-top: 3rem !important
    }

    .pe-xl-0 {
        padding-right: 0 !important
    }

    .pe-xl-1 {
        padding-right: .25rem !important
    }

    .pe-xl-2 {
        padding-right: .5rem !important
    }

    .pe-xl-3 {
        padding-right: 1rem !important
    }

    .pe-xl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xl-5 {
        padding-right: 3rem !important
    }

    .pb-xl-0 {
        padding-bottom: 0 !important
    }

    .pb-xl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xl-5 {
        padding-bottom: 3rem !important
    }

    .ps-xl-0 {
        padding-left: 0 !important
    }

    .ps-xl-1 {
        padding-left: .25rem !important
    }

    .ps-xl-2 {
        padding-left: .5rem !important
    }

    .ps-xl-3 {
        padding-left: 1rem !important
    }

    .ps-xl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xl-5 {
        padding-left: 3rem !important
    }
}

@media (min-width:1400px) {
    .d-xxl-inline {
        display: inline !important
    }

    .d-xxl-inline-block {
        display: inline-block !important
    }

    .d-xxl-block {
        display: block !important
    }

    .d-xxl-grid {
        display: grid !important
    }

    .d-xxl-inline-grid {
        display: inline-grid !important
    }

    .d-xxl-table {
        display: table !important
    }

    .d-xxl-table-row {
        display: table-row !important
    }

    .d-xxl-table-cell {
        display: table-cell !important
    }

    .d-xxl-flex {
        display: flex !important
    }

    .d-xxl-inline-flex {
        display: inline-flex !important
    }

    .d-xxl-none {
        display: none !important
    }

    .flex-xxl-fill {
        flex: 1 1 auto !important
    }

    .flex-xxl-row {
        flex-direction: row !important
    }

    .flex-xxl-column {
        flex-direction: column !important
    }

    .flex-xxl-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-xxl-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-xxl-grow-0 {
        flex-grow: 0 !important
    }

    .flex-xxl-grow-1 {
        flex-grow: 1 !important
    }

    .flex-xxl-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-xxl-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-xxl-wrap {
        flex-wrap: wrap !important
    }

    .flex-xxl-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-xxl-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-xxl-start {
        justify-content: flex-start !important
    }

    .justify-content-xxl-end {
        justify-content: flex-end !important
    }

    .justify-content-xxl-center {
        justify-content: center !important
    }

    .justify-content-xxl-between {
        justify-content: space-between !important
    }

    .justify-content-xxl-around {
        justify-content: space-around !important
    }

    .justify-content-xxl-evenly {
        justify-content: space-evenly !important
    }

    .align-items-xxl-start {
        align-items: flex-start !important
    }

    .align-items-xxl-end {
        align-items: flex-end !important
    }

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

    .align-items-xxl-baseline {
        align-items: baseline !important
    }

    .align-items-xxl-stretch {
        align-items: stretch !important
    }

    .align-content-xxl-start {
        align-content: flex-start !important
    }

    .align-content-xxl-end {
        align-content: flex-end !important
    }

    .align-content-xxl-center {
        align-content: center !important
    }

    .align-content-xxl-between {
        align-content: space-between !important
    }

    .align-content-xxl-around {
        align-content: space-around !important
    }

    .align-content-xxl-stretch {
        align-content: stretch !important
    }

    .align-self-xxl-auto {
        align-self: auto !important
    }

    .align-self-xxl-start {
        align-self: flex-start !important
    }

    .align-self-xxl-end {
        align-self: flex-end !important
    }

    .align-self-xxl-center {
        align-self: center !important
    }

    .align-self-xxl-baseline {
        align-self: baseline !important
    }

    .align-self-xxl-stretch {
        align-self: stretch !important
    }

    .order-xxl-first {
        order: -1 !important
    }

    .order-xxl-0 {
        order: 0 !important
    }

    .order-xxl-1 {
        order: 1 !important
    }

    .order-xxl-2 {
        order: 2 !important
    }

    .order-xxl-3 {
        order: 3 !important
    }

    .order-xxl-4 {
        order: 4 !important
    }

    .order-xxl-5 {
        order: 5 !important
    }

    .order-xxl-last {
        order: 6 !important
    }

    .m-xxl-0 {
        margin: 0 !important
    }

    .m-xxl-1 {
        margin: .25rem !important
    }

    .m-xxl-2 {
        margin: .5rem !important
    }

    .m-xxl-3 {
        margin: 1rem !important
    }

    .m-xxl-4 {
        margin: 1.5rem !important
    }

    .m-xxl-5 {
        margin: 3rem !important
    }

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

    .mx-xxl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xxl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xxl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xxl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xxl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xxl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-xxl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-xxl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-xxl-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-xxl-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-xxl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-xxl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-xxl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-xxl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-xxl-0 {
        margin-top: 0 !important
    }

    .mt-xxl-1 {
        margin-top: .25rem !important
    }

    .mt-xxl-2 {
        margin-top: .5rem !important
    }

    .mt-xxl-3 {
        margin-top: 1rem !important
    }

    .mt-xxl-4 {
        margin-top: 1.5rem !important
    }

    .mt-xxl-5 {
        margin-top: 3rem !important
    }

    .mt-xxl-auto {
        margin-top: auto !important
    }

    .me-xxl-0 {
        margin-right: 0 !important
    }

    .me-xxl-1 {
        margin-right: .25rem !important
    }

    .me-xxl-2 {
        margin-right: .5rem !important
    }

    .me-xxl-3 {
        margin-right: 1rem !important
    }

    .me-xxl-4 {
        margin-right: 1.5rem !important
    }

    .me-xxl-5 {
        margin-right: 3rem !important
    }

    .me-xxl-auto {
        margin-right: auto !important
    }

    .mb-xxl-0 {
        margin-bottom: 0 !important
    }

    .mb-xxl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xxl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xxl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xxl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xxl-5 {
        margin-bottom: 3rem !important
    }

    .mb-xxl-auto {
        margin-bottom: auto !important
    }

    .ms-xxl-0 {
        margin-left: 0 !important
    }

    .ms-xxl-1 {
        margin-left: .25rem !important
    }

    .ms-xxl-2 {
        margin-left: .5rem !important
    }

    .ms-xxl-3 {
        margin-left: 1rem !important
    }

    .ms-xxl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xxl-5 {
        margin-left: 3rem !important
    }

    .ms-xxl-auto {
        margin-left: auto !important
    }

    .p-xxl-0 {
        padding: 0 !important
    }

    .p-xxl-1 {
        padding: .25rem !important
    }

    .p-xxl-2 {
        padding: .5rem !important
    }

    .p-xxl-3 {
        padding: 1rem !important
    }

    .p-xxl-4 {
        padding: 1.5rem !important
    }

    .p-xxl-5 {
        padding: 3rem !important
    }

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

    .px-xxl-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-xxl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-xxl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-xxl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-xxl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-xxl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-xxl-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-xxl-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-xxl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-xxl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-xxl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-xxl-0 {
        padding-top: 0 !important
    }

    .pt-xxl-1 {
        padding-top: .25rem !important
    }

    .pt-xxl-2 {
        padding-top: .5rem !important
    }

    .pt-xxl-3 {
        padding-top: 1rem !important
    }

    .pt-xxl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xxl-5 {
        padding-top: 3rem !important
    }

    .pe-xxl-0 {
        padding-right: 0 !important
    }

    .pe-xxl-1 {
        padding-right: .25rem !important
    }

    .pe-xxl-2 {
        padding-right: .5rem !important
    }

    .pe-xxl-3 {
        padding-right: 1rem !important
    }

    .pe-xxl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xxl-5 {
        padding-right: 3rem !important
    }

    .pb-xxl-0 {
        padding-bottom: 0 !important
    }

    .pb-xxl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xxl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xxl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xxl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xxl-5 {
        padding-bottom: 3rem !important
    }

    .ps-xxl-0 {
        padding-left: 0 !important
    }

    .ps-xxl-1 {
        padding-left: .25rem !important
    }

    .ps-xxl-2 {
        padding-left: .5rem !important
    }

    .ps-xxl-3 {
        padding-left: 1rem !important
    }

    .ps-xxl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xxl-5 {
        padding-left: 3rem !important
    }
}

@media print {
    .d-print-inline {
        display: inline !important
    }

    .d-print-inline-block {
        display: inline-block !important
    }

    .d-print-block {
        display: block !important
    }

    .d-print-grid {
        display: grid !important
    }

    .d-print-inline-grid {
        display: inline-grid !important
    }

    .d-print-table {
        display: table !important
    }

    .d-print-table-row {
        display: table-row !important
    }

    .d-print-table-cell {
        display: table-cell !important
    }

    .d-print-flex {
        display: flex !important
    }

    .d-print-inline-flex {
        display: inline-flex !important
    }

    .d-print-none {
        display: none !important
    }
}

/*# sourceMappingURL=bootstrap-grid.min.css.map */
/**
 * Swiper 14.0.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 28, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}
/* =====================================================================
   Maillage interne SEO : bloc "Secteurs" en corps de home + maillage
   lateral des pages mot-cle. Style NEUTRE et surchargeable (variables --ml-*).
   Pas de padding horizontal propre : le conteneur parent fournit la gouttiere.
   ===================================================================== */
.home-secteurs,
.service-mesh {
    --ml-text: var(--c-text, #1f2433);
    --ml-muted: var(--c-muted, #6b7280);
    --ml-accent: var(--c-accent, #1b6ec2);
    --ml-soft: rgba(17, 24, 39, .06);
    --ml-line: var(--c-border, #e6e9f0);
    color: var(--ml-text);
    --ml-radius: 20px;
    --ml-gradient: linear-gradient(0deg, #85B157 0%, #EFF84E 100%);
    overflow: hidden;
}

/* ---- Section "mot-cle principal" en bas de l'accueil (H2 + texte unique) ---- */
.home-keyword {
    margin: 40px 0 0;
}

.home-keyword h2 {
    margin: 0 0 12px;
    font-size: clamp(20px, 3vw, 28px);
    line-height: 1.2;
}

.home-keyword p {
    margin: 0 0 12px;
    line-height: 1.65;
}

.home-keyword p:last-child {
    margin-bottom: 0;
}

/* ---- Bloc home "Nos secteurs d'intervention" ---- */

.home-secteurs-head .t-eyebrow {
    align-items: start;
}


/* ---- Maillage lateral des pages mot-cle ---- */
.service-mesh {
    margin: 36px 0 0;
    padding-top: 24px;
    border-top: 1px solid var(--ml-line);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px 32px;
}

.mesh-block {
    min-width: 0;
}

.mesh-title {
    margin: 0 0 12px;
    font-size: 1.1rem;
    line-height: 1.25;
}

.mesh-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mesh-links li {
    margin: 0;
}

.mesh-links a {
    display: inline-block;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    padding: 8px 13px;
    border-radius: 999px;
    background: var(--ml-soft);
    color: var(--ml-text);
    transition: background .15s ease, color .15s ease;
}

.mesh-links a:hover {
    background: var(--ml-accent);
    color: #fff;
}

@media (max-width: 600px) {
    .home-secteurs-in {
        padding: 20px;
    }

    .service-mesh {
        margin-top: 28px;
        gap: 22px;
    }
}
/* Hero slider (accueil) : pleine largeur sous l'en-tête, Swiper en fondu */
.hero {
    position: relative;
    background: #fff;
    padding: 0;
}

.hero:after {
    content: '';
    background: linear-gradient(270deg, #0E6100 17.35%, #8EBF22 58.61%, #EFF84E 99.87%);
    position: absolute;
    bottom: 0;
    left: 0;
    height: 10px;
    width: 100%;
    z-index: 9;
}

.hero-swiper {
    position: relative;
    overflow: hidden;
    height: 670px;
}

/* Avant l'init de Swiper : slides côte à côte, sans dépendre de swiper-bundle.css (évite le CLS) */
.hero-swiper:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    height: 100%;
}

.hero-swiper:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 100%;
}

.hero--intern,
.hero-slide {
    position: relative;
    min-height: clamp(420px, 62vh, 670px);
    height: 670px;
    background: var(--c-bg);
    overflow: hidden;
}

.hero-media {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    max-height: 587px;
}


.hero-media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mask-size: cover;
    -webkit-mask-size: cover;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-image: url('/userfiles/images/img-masking.svg');
    mask-image: url('/userfiles/images/img-masking.svg');
}

.hero-media:before {
    content: '';
    background: url('/userfiles/images/line.svg') no-repeat top left;
    position: absolute;
    top: 50px;
    left: 22px;
    height: 110px;
    width: 785px;
}

.hero-content {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding: 30px 15px;
    display: flex;
    flex-direction: column;
    color: #fff;
    /* 88px : place des flèches */
}

.hero-title {
    color: #828282;
    font-family: var(--font-boneNova);
    font-size: clamp(2.4rem, 4.6vw, 2.75rem);
    font-style: normal;
    font-weight: 700;
    line-height: 1.227;
    margin-bottom: 129px;
}

.hero--intern .hero-title {
    margin-bottom: 0;
}

.hero-text {
    position: relative;
    color: #FFF;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.555555em;
    width: 535px;
    padding: 20px;
    gap: 10px;
    border-radius: 0 20px 20px 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    margin-bottom: 40px;
}

.hero-text:before {
    content: '';
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    position: absolute;
    top: 0;
    left: -100%;
    height: 100%;
    width: 100%;
}

.hero-text b {
    font-weight: 600;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
}

.hero-btn {
    padding: 14px 26px;
    font-size: 1rem;
}

.hero-link {
    color: #fff;
    font-weight: 600;
    border-bottom: 2px solid rgba(255, 255, 255, .5);
    padding-bottom: 2px;
}

.hero-link:hover {
    text-decoration: none;
    border-color: #fff;
}

.hero-prev,
.hero-next {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    cursor: pointer;
    transition: background .2s;
}

.hero-prev {
    left: 20px;
}

.hero-next {
    right: 20px;
}

.hero-prev:hover,
.hero-next:hover {
    background: rgba(255, 255, 255, .22);
}

.hero-prev svg,
.hero-next svg {
    width: 22px;
    height: 22px;
}

.hero-pagination.swiper-pagination-bullets {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 30px;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.hero-pagination .swiper-pagination-bullet {
    width: 200px;
    height: 5px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.30);
    opacity: 1;
    transition: all .3s;
}

.hero-pagination .swiper-pagination-bullet-active {
    border-radius: 2px;
    background: #FFF;
}

@media (max-width: 900px) {

    .hero-prev,
    .hero-next {
        display: none;
    }

    .hero-slide::after {
        background: linear-gradient(180deg, rgba(10, 14, 22, .45) 0%, rgba(10, 14, 22, .85) 100%);
    }

    .hero-slide {
        align-items: flex-end;
    }

    .hero-content {
        padding: 48px 16px 72px;
    }

    .hero-text {
        font-size: 1.02rem;
    }
}
/* =====================================================================
   Module ACTUALITES (blog) - base CSS COMMUNE a tous les sites Arobiz.
   Design "magazine" SOFT : pas d'ombre, pas de cadre, pas de translate.
   Les visuels sont arrondis ; seule animation = un leger zoom de l'image.
   ---------------------------------------------------------------------
   THEMING : surcharger 1 a 3 variables --blog-* depuis le CSS du site, ex
        .blog, [data-page-type="article"] { --blog-accent: #c0392b; }
   ===================================================================== */

.blog,
[data-page-type="article"] {
    --blog-accent: #529D03;
    /* couleur de marque (a surcharger) */
    --blog-ink: #333;
    /* titres / texte fort */
    --blog-body: #333;
    /* corps de texte */
    --blog-muted: #828a99;
    /* dates / secondaire */
    --blog-soft: #f4f6fa;
    /* fonds doux (media vide, pills) */
    --blog-card: #eef1f7;
    /* fond gris leger des blocs (cartes / une) */
    --blog-line: #e8ebf1;
    /* filets discrets */
    --blog-radius: 16px;
    --blog-font: inherit;
    --blog-maxw: 1160px;
    --blog-read: 720px;
    /* largeur de lecture (page article) */
    --blog-gap: 34px;
    --blog-bg: #EAEAEA;
}

/* ===================== INDEX (liste des actualites) ==================== */
.blog {
    font-family: var(--blog-font);
    color: var(--blog-body);
    max-width: var(--blog-maxw);
    margin-inline: auto;
}

.blog *,
.blog *::before,
.blog *::after {
    box-sizing: border-box;
}

/* Filtre par categorie */
.blog-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 36px;
}

.blog-cats a {
    padding: 9px 18px;
    border-radius: 999px;
    background: var(--blog-soft);
    color: var(--blog-ink);
    font-size: .9rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.blog-cats a:hover {
    background: var(--blog-line);
}

.blog-cats a[aria-current="page"] {
    background: var(--blog-ink);
    color: #fff;
}

/* Etiquette de categorie (eyebrow) */
.blog-eyebrow {
    align-self: flex-start;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--blog-accent);
    text-decoration: none;
}

a.blog-eyebrow:hover {
    text-decoration: none;
}

/* Lien "Lire" + fleche SVG (moderne) */
.blog-more {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 700;
    color: var(--blog-accent);
    text-decoration: none;
}

.blog-more:hover {
    text-decoration: none;
}

.blog-more svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

/* ---- La "une" ---- */
.blog-feature {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    align-items: stretch;
    gap: 0;
    background: var(--blog-card);
    border-radius: calc(var(--blog-radius) + 4px);
    overflow: hidden;
    margin: 0 0 calc(var(--blog-gap) + 10px);
    text-decoration: none;
    color: inherit;
}

.blog-feature-media {
    position: relative;
    overflow: hidden;
    min-height: 300px;
    background: var(--blog-soft);
}

.blog-feature-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}

.blog-feature:hover .blog-feature-media img {
    transform: scale(1.04);
}

.blog-feature-body {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 40px 44px;
    justify-content: center;
}

.blog-feature-flag {
    align-self: flex-start;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fff;
    background: var(--blog-accent);
    padding: 5px 12px;
    border-radius: 999px;
}

.blog-feature-title {
    margin: 0;
    font-size: clamp(1.6rem, 1rem + 1.6vw, 2.3rem);
    line-height: 1.16;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--blog-ink);
    transition: color .2s ease;
}

.blog-feature:hover .blog-feature-title {
    color: var(--blog-accent);
}

.blog-feature:hover {
    text-decoration: none;
}

/* pas de soulignement au survol (la carte a deja le zoom + la couleur) */
.blog-feature-excerpt {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--blog-body);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-feature-meta {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 4px;
    color: var(--blog-muted);
    font-size: .9rem;
}

.blog-feature-meta time {
    font-variant-numeric: tabular-nums;
}

/* ---- Grille de cartes (sans cadre ni ombre) ---- */
.blog-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--blog-gap);
    margin: 0 0 48px;
}

.blog-card {
    display: flex;
    flex-direction: column;
    background: var(--blog-card);
    border-radius: var(--blog-radius);
    overflow: hidden;
}

.blog-card-media {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--blog-soft);
}

.blog-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s ease;
}

.blog-card:hover .blog-card-media img {
    transform: scale(1.05);
}

.blog-card-body {
    display: flex;
    flex-direction: column;
    gap: 11px;
    padding: 20px 22px 22px;
    flex: 1;
}

.blog-card-title {
    margin: 0;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -.01em;
}

.blog-card-title a {
    color: var(--blog-ink);
    text-decoration: none;
    transition: color .2s ease;
}

.blog-card:hover .blog-card-title a {
    color: var(--blog-accent);
}

.blog-card-excerpt {
    margin: 0;
    color: var(--blog-body);
    font-size: .96rem;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 6px;
    color: var(--blog-muted);
    font-size: .84rem;
}

.blog-card-date {
    font-variant-numeric: tabular-nums;
}

.blog-card-foot .blog-more {
    font-size: .86rem;
}

.blog-empty {
    padding: 64px 0;
    text-align: center;
    color: var(--blog-muted);
    font-size: 1.05rem;
}

/* ---- Pagination ---- */
.blog-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 48px;
}

.blog-pager-nums {
    display: flex;
    align-items: center;
    gap: 6px;
}

.blog-pager-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--blog-soft);
    color: var(--blog-ink);
    text-decoration: none;
    font-weight: 700;
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
    transition: background .2s ease, color .2s ease;
}

.blog-pager-num:hover {
    background: var(--blog-line);
}

.blog-pager-num.is-current {
    background: var(--blog-ink);
    color: #fff;
}

.blog-pager-gap {
    color: var(--blog-muted);
    padding: 0 2px;
}

.blog-pager-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: var(--blog-soft);
    color: var(--blog-ink);
    transition: background .2s ease, color .2s ease;
}

.blog-pager-arrow:hover {
    background: var(--blog-ink);
    color: #fff;
}

.blog-pager-arrow.is-disabled {
    opacity: .35;
    pointer-events: none;
}

.blog-pager-arrow svg {
    width: 18px;
    height: 18px;
}

@media (max-width: 760px) {
    .blog-feature {
        grid-template-columns: 1fr;
    }

    .blog-feature-media {
        position: static;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .blog-feature-media img {
        position: static;
    }

    .blog-feature-body {
        padding: 26px;
    }

    .blog-list {
        grid-template-columns: 1fr;
        gap: 26px;
    }
}

/* ===================== PAGE ARTICLE (single) ========================== */
[data-page-type="article"] main {
    max-width: var(--blog-read);
    margin-inline: auto;
    padding: 0 20px;
    color: var(--blog-body);
    font-family: var(--blog-font);
}

[data-page-type="article"] main>article>h1 {
    margin: 14px 0 0;
    font-size: clamp(1.9rem, 1.1rem + 2.4vw, 2.9rem);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -.025em;
    color: var(--blog-ink);
}

.post-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin: 18px 0 0;
}

.post-cat {
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--blog-accent);
    text-decoration: none;
}

.post-cat:hover {
    text-decoration: none;
}

.post-date {
    color: var(--blog-muted);
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
}

.post-cover {
    margin: 30px 0 8px;
}

.post-cover img,
.post-cover picture {
    display: block;
    width: 100%;
    border-radius: var(--blog-radius);
}

.post-cover img {
    height: auto;
}

/* Corps de l'article : typographie editoriale lisible */
.post-body {
    font-size: 1.12rem;
    line-height: 1.75;
    color: var(--blog-body);
}

.post-body>*:first-child {
    margin-top: 0;
}

.post-body p {
    margin: 0 0 1.4em;
}

.post-body h2 {
    margin: 2em 0 .6em;
    font-size: 1.7rem;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -.015em;
    color: var(--blog-ink);
}

.post-body h3 {
    margin: 1.8em 0 .5em;
    font-size: 1.32rem;
    line-height: 1.3;
    font-weight: 700;
    color: var(--blog-ink);
}

.post-body a {
    color: var(--blog-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.post-body ul,
.post-body ol {
    margin: 0 0 1.4em;
    padding-left: 1.4em;
}

.post-body li {
    margin: .4em 0;
}

.post-body img,
.post-body picture {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--blog-radius);
    margin: 1.8em 0;
}

.post-body blockquote {
    margin: 1.8em 0;
    padding: 4px 0 4px 24px;
    border-left: 4px solid var(--blog-accent);
    font-size: 1.22rem;
    line-height: 1.5;
    color: var(--blog-ink);
    font-style: italic;
}

.post-body strong {
    color: var(--blog-ink);
}

.post-body hr {
    border: 0;
    height: 1px;
    background: var(--blog-line);
    margin: 2.4em 0;
}

.post-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 44px 0 8px;
    font-weight: 700;
    color: var(--blog-accent);
    text-decoration: none;
}

.post-back svg {
    width: 18px;
    height: 18px;
}

.post-back:hover {
    text-decoration: none;
}

/* Accessibilite : mouvement reduit */
@media (prefers-reduced-motion: reduce) {

    .blog-card-media img,
    .blog-feature-media img {
        transition: none;
    }

    .blog-card:hover .blog-card-media img,
    .blog-feature:hover .blog-feature-media img {
        transform: none;
    }
}
/* bloc tabulation sur la home : thème via les variables de style.css */

.home-about-head {
    padding: 90px 30px 0;
}

.home-about-tab__intro {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    max-width: 350px;
}

.home-about-tab__intro .bloc-image {
    position: relative;
    margin-bottom: 23px;
}

.home-about-tab__intro .bloc-image:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 73px;
    left: -298px;
    width: 327px;
    height: 150px;
    background: var(--gradient);
}

.home-about-tab__intro .layer-logo {
    position: absolute;
    bottom: -20px;
    left: -20px;
}

.home-about-tab {
    position: relative;
    margin-top: 40px;
    padding-top: 0;
}

.home-about-tab__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    margin-bottom: 24px;
    align-items: center;
    border-bottom: 1px solid var(--c-border);
}

.home-about-tab__tab {
    font: inherit;
    color: var(--c-muted);
    font-size: 0.875rem;
    display: flex;
    padding: 10px 0;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    position: relative;
    background: transparent;
    border: 0;
    cursor: pointer;
    height: auto;
    gap: 0;
}

.home-about-tab__tab:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    transform: scaleX(0);
    height: 3px;
    background: var(--c-accent);
    transition: transform 0.3s ease-in-out;
}

.home-about-tab__tab.is-active:after {
    transform: scaleX(1);
}

.home-about-tab__tab:focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 3px;
}

.home-about-tab__panel[hidden] {
    display: none;
}
/* listes des services : thème via les variables de style.css */

.services-list {
    --img-hover-scale: 1.024;
    --grid-columns: 4;
    --grid-rows: 6;
    --grid-gap: 0;
    --overlay: rgba(0, 0, 0, .20);
    overflow: hidden;
}

.services-list .services-list-items {
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    row-gap: var(--grid-gap);
    column-gap: var(--grid-gap);
    padding: 0;
    margin: 40px 0 0;
    list-style: none;
}

.services-list-item {
    position: relative;
    display: flex;
    gap: 24px;
    width: 100%;
    height: 100%;
    min-height: 450px;
    flex-direction: column;
    outline: 1px solid var(--c-border);
    height: calc(100% - 1px);
    background: #EAEAEA;
}

.services-list-item>a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.services-list-item .service-image {
    padding: 0 40px;
    text-align: center;
}

.services-list-item .service-image img {
    transform: scale(1.001);
    transition: transform .6s cubic-bezier(.34, .78, .45, .98);
}

.services-list-item:hover .service-image img {
    transform: scale(var(--img-hover-scale));
}

.services-list-item .service-title {
    font-family: var(--font-poppins);
    color: #333;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    padding: 40px;
    line-height: 1.5;
    text-transform: uppercase;
    margin: 0;
}

.services-list-item p {
    margin: auto 0 0;
    padding: 40px;
}

.service-decoration-image {
    position: relative;
    width: 100%;
    height: 100%;
}

.service-decoration-image:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--overlay);
}

.service-decoration-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-decoration-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 72px;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.service-decoration-content .service-decoration-title {
    color: #FFF;
    text-align: center;
    font-size: 1.625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    margin: 0;
}

.service-decoration-content a.view-more-link {
    color: #FFF;
    text-align: center;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5em;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: 25%;
    text-underline-position: from-font;
    text-transform: uppercase;
}

.service-decoration-content a.view-more-link:before,
.service-decoration-content a.view-more-link:after {
    content: "";
    display: block;
    width: 100% !important;
    height: 1px !important;
    position: absolute;
    top: unset !important;
    bottom: 0;
    background-color: var(--qode-main-color);
    border: 0 !important;
    transition: transform .4s cubic-bezier(.31, .29, .05, .96) !important;
}

@media screen and (max-width: 1024px) {
    .services-list {
        --grid-columns: 3;
    }
}

@media screen and (max-width: 767px) {
    .services-list {
        --grid-columns: 2;
    }
}

@media screen and (max-width: 576px) {
    .services-list {
        --grid-columns: 1;
    }
}
/* Simple formulaire de demande de devis : thème via les variables de style.css */

.simple-devis {
    padding: 0;
}

.simple-devis .container {
    max-width: var(--container-max);
}

.simple-devis-in {
    position: relative;
}

.form-quote {
    max-width: 500px;
    position: absolute;
    bottom: 60px;
    right: 35px;
    z-index: 2;
    width: 100%;
    border-radius: 20px;
    background: #EAEAEA;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-quote form {
    position: relative;
}

.form-quote__inputs {
    position: relative;
    gap: 20px;
    display: flex;
}

.form-quote fieldset {
    padding: 0;
    margin: 0;
    border: 0;
}

.form-quote h2 {
    color: var(--c-accent-2);
    font-size: 1.875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.133333em;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.form-quote h2 span {
    color: var(--c-accent-3);
    font-weight: 400;
}

.form-quote__legend {
    color: var(--c-text);
    text-align: center;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.444444em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.form-quote .form-group {
    position: relative;
    margin-bottom: 0;
}

.form-quote .form-group button {
    color: var(--c-muted);
    font-family: var(--font-poppins);
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.715em;
    text-transform: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    font-style: normal;
    padding: 15px 16px;
    border-radius: 6px;
    border: 1px solid var(--c-accent-3);
    background: var(--c-white);
    height: 42px;
    text-align: center;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
    cursor: pointer;
    width: 200px;
    -webkit-box-shadow: none;
    box-shadow: none;
    letter-spacing: normal;
    text-align: left;
    overflow: hidden;
}

.form-quote .form-group button svg {
    margin-top: 7px;
}

.form-quote .form-group button span {
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
}

.form-quote .form-group button.active,
.form-quote .form-group button:hover,
.form-quote .form-group button:focus {
    outline: none;
    color: #fff;
    border-color: var(--c-accent-3);
    background-color: var(--c-accent-3);
}

.form-quote .form-group button.active svg path,
.form-quote .form-group button:hover svg path,
.form-quote .form-group button:focus svg path {
    fill: #fff !important;
}

.form-quote .list-btn {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-quote .next-step button {
    height: 42px;
    padding: 12px 24px;
    width: 200px;
    border: 0;
    border-radius: 6px;
    background: var(--c-accent-3);
    color: var(--c-white);
}

.form-quote .next-step button:hover {
    text-decoration: none;
    background-color: var(--c-accent-2);
    color: var(--c-white);
}
/* listes des avantages : thème via les variables de style.css */

.company-benefit {
    --img-hover-scale: 1.024;
    --grid-columns: 5;
    --grid-rows: 6;
    --grid-gap: 37px;
    --overlay: rgba(0, 0, 0, .20);
    overflow: hidden;
    position: relative;
}

.company-benefit .layer-leave {
    position: absolute;
    bottom: -422px;
    left: 0;
}

.company-benefit .benefit-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    row-gap: var(--grid-gap);
    column-gap: var(--grid-gap);
    padding: 0;
    margin: 40px 0 0;
    list-style: none;
}

.benefit-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid #AAA;
    padding-top: 30px;
}

.benefit-item:after {
    content: "";
    position: absolute;
    top: -2px;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--c-accent);
    transition: all 0.3s ease-in-out;
}

.benefit-item:hover:after {
    width: 100%;
}

.benefit-item .benefit-item-title {
    color: #333;
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.364;
    margin: 0;
}

.benefit-item p {
    margin-bottom: 0;
    color: var(--c-muted);
}

@media screen and (max-width: 1024px) {
    .company-benefit .benefit-list {
        --grid-columns: 3;
    }
}

@media screen and (max-width: 767px) {
    .company-benefit .benefit-list {
        --grid-columns: 2;
    }
}

@media screen and (max-width: 576px) {
    .company-benefit .benefit-list {
        --grid-columns: 1;
    }
}
/* Style responsive */

@media screen and (min-width: 1200px) and (max-height: 800px) {}

@media screen and (min-width: 1200px) {
    .site-logo img {
        width: 180px;
    }
}

@media screen and (min-width: 1400px) {
    .site-logo img {
        width: 247px;
    }

    .site-header-in {
        padding: 0 50px;
    }
}

@media screen and (min-width: 1600px) {}

@media screen and (max-width: 1199px) {
    .form-quote {
        max-width: 470px;
        right: 15px;
        padding: 30px;
    }

    .form-quote .form-group button,
    .form-quote .next-step button {
        width: 195px;
    }

    .hero-actions,
    .hero-text {
        width: 440px;
    }

    .home-about-tab__tabs {
        gap: 16px 35px;
    }

    section {
        padding: 70px 0;
    }
}

@media screen and (max-width: 991px) {

    .hero-actions {
        width: 100%;
    }

    .hero-text {
        width: 535px;
    }

    .home-about-tab__intro {
        margin-top: 50px;
        flex-direction: row;
        max-width: 100%;
    }

    .home-about-tab__intro .bloc-text {
        flex: 1;
    }

    .service-decoration-content,
    .services-list-item .service-title,
    .services-list-item p {
        padding: 30px;
    }

    .service-faq-img figure,
    .service-faq-img {
        height: 500px;
    }

    .service-faq-img {
        margin-top: 70px;
    }

    .footer-logo {
        width: 320px;
        height: auto;
    }

    .home-actus.blog .blog-card-date,
    .home-actus.blog .blog-card-media {
        width: 90px;
        height: 90px;
    }

    .form-quote {
        max-width: 100%;
        right: 0;
        position: relative;
        bottom: 0;
    }

    .simple-devis {
        padding: 70px 0 0;
    }

    [data-page-type="contact"] article {
        margin: 70px auto;
    }

    [data-page-type="contact"] .simple-devis {
        padding: 70px 0;
    }

    .form-quote__inputs {
        flex-direction: column;
    }

    .form-quote .list-btn {
        flex-direction: row;
        justify-content: center;
    }

    .hero-pagination .swiper-pagination-bullet {
        width: 150px;
        height: 4px;
    }

    .intern-about-head,
    .home-about-head {
        padding: 40px 0 0;
    }

    .breadcrumb li:not(:last-child)::after,
    .breadcrumb a {
        font-size: 1.1rem;
    }

    [data-page-type="service"] .service-faq-img figure,
    [data-page-type="service"] .service-faq-img {
        height: 520px;
    }

    [data-page-type="service"] .service-faq-img .layer-logo {
        right: 0;
    }

    .contact-infos-in ul {
        gap: 30px 25px;
    }
}

@media screen and (max-width: 767px) {
    .site-logo img {
        width: 185px;
    }

    .hero-media {
        max-height: 540px;
    }

    .hero-title {
        margin-bottom: 150px;
    }

    .service-faq-item .service-faq-item-ic img {
        width: 9px;
    }

    .hero-pagination .swiper-pagination-bullet {
        width: 120px;
        height: 3px;
    }

    .home-about-tab__intro,
    .form-quote .list-btn {
        flex-direction: column;
        align-items: center;
    }

    .t-eyebrow img,
    #simple-devis-t span>img {
        width: 23px;
        height: auto;
    }

    .footer-inner .footer-col-wrap {
        flex-direction: column;
    }

    .footer-col:nth-child(3) {
        text-align: left;
    }

    .home-actus-head {
        flex-direction: column;
        align-items: start;
    }

    .footer-brand {
        order: -1;
    }

    main {
        padding: 0;
    }

    .breadcrumb li:not(:last-child)::after,
    .breadcrumb a {
        font-size: 1rem;
    }

    .contact-infos-in ul li svg {
        margin-bottom: 10px;
        width: 45px;
        height: auto;
    }

    .form-row.form-consent {
        flex-direction: column;
    }
}

@media screen and (max-width: 576px) {
    .site-logo img {
        width: 160px;
    }

    .site-header {
        padding: 7px 0;
    }

    .hero-text {
        width: 100%;
    }

    html {
        font-size: clamp(15px, 1vw, 16px);
    }

    .hero-btn {
        padding: 12px 23px;
    }

    .services-list-item {
        min-height: 420px;
    }

    .benefit-item-ic img {
        width: 65px;
        height: 65px;
    }

    .home-actus.blog .blog-card-date,
    .home-actus.blog .blog-card-media {
        width: 80px;
        height: 80px;
    }

    .footer-logo {
        width: 300px;
    }

    .service-faq-img .layer-logo img {
        width: 200px;
        height: auto;
    }

    [data-page-type="service"] .service-faq-img figure,
    [data-page-type="service"] .service-faq-img {
        height: 480px;
    }

    .service-faq-img .layer-logo img {
        width: 150px;
    }

 
}
