
    :root {
        --text: #413939;
--links: #D30628;
--titles: #413939;
--page-background: #FFFFFF;
--highlight: #D30628;
--boxes-background: #FFFFFF;
--boxes-border: #111111;
--section-titles: #1C1D1E;
--section-titles-background: #FFFFFF;
--header-background: #ffffff;
--header-links: #1C1D1E;
--footer-background: #1C1D1E;
--footer-links: #ffffff;
--titles-h1-font-size: 2.2143rem;
--titles-h1-font-weight: 700;
--titles-h1-color: #413939;
--titles-h2-font-size: 1.5714rem;
--titles-h2-font-weight: 700;
--titles-h2-color: #413939;
--titles-h3-font-size: 1.2857rem;
--titles-h3-font-weight: 700;
--titles-h3-color: #413939;
--texts-primary-font-size: 1.1429rem;
--texts-primary-color: #413939;
--texts-secondary-font-size: 1.0000rem;
--texts-secondary-color: #413939;
--texts-link-color: #D30628;
    }
    
/* =====================================================================
   ODWB — thème custom (refonte)
   Mêmes classes que l'ancien thème, style modernisé, header fixe.
   ===================================================================== */

:root {
  --c-primary: #D30628;
  --c-primary-dark: #a1051f;
  --c-primary-soft: #fdeaed;
  --c-secondary: #FFD166;
  --c-secondary-soft: #fff4d6;
  --c-text: #413939;
  --c-text-muted: #707070;
  --c-success: #53AA27;
  --c-error: #e05252;
  --c-grey-100: #F7F7F8;
  --c-grey-200: #EFEFEF;
  --c-grey-300: #DADADA;
  --c-grey-400: #BDBDBD;
  --c-dark: #282828;
  --c-black: #111;
  --c-white: #fff;

  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;

  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(17, 17, 17, .06), 0 1px 3px rgba(17, 17, 17, .04);
  --shadow: 0 4px 16px rgba(17, 17, 17, .08);
  --shadow-lg: 0 16px 40px rgba(17, 17, 17, .12);
  --shadow-header: 0 1px 0 rgba(17, 17, 17, .06), 0 8px 24px rgba(17, 17, 17, .06);

  --ease: cubic-bezier(.2, .7, .2, 1);
  --t: .25s var(--ease);

  --header-h: 72px;
  --z-header: 100000;
  --z-modal: 90000;
  --z-sticky: 500;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { outline: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 3px; border-radius: 4px; }

::selection { background: var(--c-primary); color: #fff; }

html { font-size: 16px; background: #fff; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
html, body { overflow-x: hidden; }
body {
  font-size: 1rem; line-height: 1.6; color: var(--c-text);
  font-family: var(--font); background: #fff; position: relative;
  padding-top: var(--header-h);
}
pre[ng-bind] { color: var(--c-text); text-align: left; }

/* ---------- Helpers ---------- */
.clearfix::after { content: ""; display: table; clear: both; }
.unstyled-list { list-style: none; }
.unstyled-list, .unstyled-list li { margin: 0 !important; padding: 0 !important; }
.unstyled-list::before, .unstyled-list li::before { content: none !important; }
.centered { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.card-image img, .modal__close::before, .modal, .cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.is-hidden { display: none; }
[disabled], [disabled=disabled], .is-disabled,
.is-logged .is-disabled--logged, .is-unlogged .is-disabled--unlogged { opacity: .5; pointer-events: none; }
.aligncenter { margin: 0 auto; display: block; }
.alignright { float: right; margin-left: .5em; }
.alignleft { float: left; margin-right: .5em; }
.display-block { display: block; }
p, p:first-child, p:last-child { margin: 1em 0; }

/* ---------- Containers ---------- */
.container { display: block; padding: 0; }
@media (max-width: 767px) { .container { padding: 0 16px; } }
.container--lg { max-width: 1160px; }
.container--md { max-width: 960px; }
.container--sm { max-width: 740px; }
.container--xs { max-width: 100%; }

.container--scrollable, .scrollable-container { overflow-x: auto; overflow-y: hidden; padding-bottom: 20px !important; scrollbar-width: thin; scrollbar-color: var(--c-grey-400) var(--c-grey-200); }
.container--scrollable::-webkit-scrollbar, .scrollable-container::-webkit-scrollbar { width: 8px; height: 8px; }
.container--scrollable::-webkit-scrollbar-track, .scrollable-container::-webkit-scrollbar-track { background: var(--c-grey-200); border-radius: 8px; }
.container--scrollable::-webkit-scrollbar-thumb, .scrollable-container::-webkit-scrollbar-thumb { background: var(--c-grey-400); border-radius: 8px; }
.scrollable-container { padding: 0 calc(50vw - 580px); }
.scrollable-container::-webkit-scrollbar-track { margin: 0 calc(50vw - 580px); }
@media (max-width: 1199px) { .scrollable-container { padding: 0 calc(50vw - 480px); } .scrollable-container::-webkit-scrollbar-track { margin: 0 calc(50vw - 480px); } }
@media (max-width: 991px) { .scrollable-container { padding: 0 calc(50vw - 370px); } .scrollable-container::-webkit-scrollbar-track { margin: 0 calc(50vw - 370px); } }
@media (max-width: 767px) { .scrollable-container { padding: 0 16px; } .scrollable-container::-webkit-scrollbar-track { margin: 0 16px; } }

/* ---------- Colors / text utilities ---------- */
.color-primary, .color-primary * { color: var(--c-primary) !important; }
.color-hover-primary:hover, .color-hover-primary:hover * { color: var(--c-primary) !important; }
.color-secondary, .color-secondary * { color: var(--c-secondary) !important; }
.color-hover-secondary:hover, .color-hover-secondary:hover * { color: var(--c-secondary) !important; }
.color-text, .color-text * { color: var(--c-text) !important; }
.color-hover-text:hover, .color-hover-text:hover * { color: var(--c-text) !important; }
.color-success, .color-success * { color: var(--c-success) !important; }
.color-hover-success:hover, .color-hover-success:hover * { color: var(--c-success) !important; }
.color-error, .color-error * { color: var(--c-error) !important; }
.color-hover-error:hover, .color-hover-error:hover * { color: var(--c-error) !important; }
.color-light-grey, .color-light-grey * { color: var(--c-grey-200) !important; }
.color-hover-light-grey:hover, .color-hover-light-grey:hover * { color: var(--c-grey-200) !important; }
.color-medium-grey, .color-medium-grey * { color: var(--c-grey-300) !important; }
.color-hover-medium-grey:hover, .color-hover-medium-grey:hover * { color: var(--c-grey-300) !important; }
.color-dark-grey, .color-dark-grey * { color: var(--c-dark) !important; }
.color-hover-dark-grey:hover, .color-hover-dark-grey:hover * { color: var(--c-dark) !important; }
.color-white, .color-white * { color: #fff !important; }
.color-hover-white:hover, .color-hover-white:hover * { color: #fff !important; }
.color-black, .color-black * { color: var(--c-black) !important; }
.color-hover-black:hover, .color-hover-black:hover * { color: var(--c-black) !important; }
.color-primary-contrasted { color: var(--c-primary); }

.bg-primary { background-color: var(--c-primary); }
.bg-secondary { background-color: var(--c-secondary); }
.bg-text { background-color: var(--c-text); }
.bg-success { background-color: var(--c-success); }
.bg-error { background-color: var(--c-error); }
.bg-light-grey { background-color: var(--c-grey-200); }
.bg-medium-grey { background-color: var(--c-grey-300); }
.bg-dark-grey { background-color: var(--c-dark); }
.bg-white { background-color: #fff; }
.bg-black { background-color: var(--c-black); }
.bg-image--cover { background-size: cover !important; }
.bg-image--contain { background-size: contain !important; }
.bg-image--left { background-position-x: left !important; }
.bg-image--right { background-position-x: right !important; }
.bg-image--top { background-position-y: top !important; }
.bg-image--bottom { background-position-y: bottom !important; }
.bg-image--left-top { background-position: left top !important; }
.bg-image--center-top { background-position: center top !important; }
.bg-image--right-top { background-position: right top !important; }
.bg-image--left-center { background-position: left center !important; }
.bg-image--center-center { background-position: center center !important; }
.bg-image--right-center { background-position: right center !important; }
.bg-image--left-bottom { background-position: left bottom !important; }
.bg-image--center-bottom { background-position: center bottom !important; }
.bg-image--right-bottom { background-position: right bottom !important; }

.font-bold { font-weight: 700 !important; }
.font-regular { font-weight: 400 !important; }
.text-align-center { text-align: center !important; }
.text-align-left { text-align: left !important; }
.text-align-right { text-align: right !important; }
.fz-smaller { font-size: 14px; }
.fz-small { font-size: small; }
.fz-x-small { font-size: x-small; }
.fz-xx-small { font-size: xx-small; }
.fz-default { font-size: 1rem; }
.fz-larger { font-size: larger; }
.fz-large { font-size: large; }
.fz-x-large { font-size: x-large; }
.fz-xx-large { font-size: xx-large; }
.lh-0 { line-height: 0 !important; }
.lh-1 { line-height: 1 !important; }
.lh-2 { line-height: 1.2 !important; }
.lh-3 { line-height: 1.5 !important; }
.lh-4 { line-height: 2 !important; }

.text-v-cropped { max-height: 100px; overflow: hidden; position: relative; }
.text-v-cropped::after { content: ""; position: absolute; top: 80px; left: 0; width: 100%; height: 20px; background: linear-gradient(to top, #fff, rgba(255,255,255,0)); }
.text-v-cropped:hover { max-height: none; }
.text-v-cropped:hover::after { content: none; }

/* ---------- Motif de fond ---------- */
.bg-pattern { position: relative; z-index: 10; overflow: hidden; }
.bg-pattern.cover { position: absolute; z-index: -1; }
.bg-pattern__parent { position: relative; z-index: 10; }
.bg-pattern::before, .ods-app-explore-catalog::before {
  content: ""; background: url("https://www.odwb.be/assets/theme_image/bg_pattern_tile.png") center top repeat;
  width: 9999em; height: 100%; position: absolute; top: 0; left: 50%;
  transform: translate(-50%) rotate(-12deg); z-index: -1; opacity: .25;
}
.bg-pattern::after, .ods-app-explore-catalog::after {
  content: ""; width: 100%; height: 100%;
  background: linear-gradient(to bottom, #fff, rgba(255,255,255,0)), linear-gradient(to top, #fff, rgba(255,255,255,0));
  background-size: 100% 300px, 100% 300px; background-position: top center, bottom center; background-repeat: no-repeat;
  position: absolute; top: 0; left: 0; z-index: -1;
}

/* =====================================================================
   HEADER — fixe, au-dessus de tout
   ===================================================================== */
.ods-front-header {
  position: fixed; top: 0; left: 0; right: 0; width: 100%;
  height: var(--header-h); z-index: var(--z-header);
  background: rgba(255, 255, 255, .97);
  /* Pas de backdrop-filter ici : il ferait du header le containing block du menu
     mobile ODS (position: fixed), qui serait alors rogné à la hauteur du header. */
  box-shadow: var(--shadow-header); border: 0;
}
.ods-front-header .container { height: 100%; }
.ods-front-header__portal-brand { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0; }
.ods-front-header__portal-brand__text { font-family: var(--font); color: var(--c-text); font-weight: 700; letter-spacing: -.01em; }

.ods-front-header__menu { width: 100%; height: 100%; display: flex; flex-flow: row nowrap; justify-content: center; align-items: center; gap: 2px; }
.ods-front-header__menu-spacer { flex-grow: 1; }
.ods-front-header__menu-item { position: relative; height: var(--header-h); display: flex; align-items: center; }
.ods-front-header__menu-item-link {
  font-size: .9375rem; font-weight: 500; line-height: 1; color: var(--c-black); opacity: 1; border: 0;
  padding: 10px 14px; border-radius: var(--radius-pill); transition: background var(--t), color var(--t);
}
.ods-front-header__menu-item-link:hover, .ods-front-header__menu-item-link:focus, .ods-front-header__menu-item-link:active { color: var(--c-primary); background: var(--c-primary-soft); border: 0; }
.ods-front-header__menu-item.has-submenu > .ods-front-header__menu-item-link::after { content: "\f107"; font-family: "FontAwesome"; color: var(--c-primary); margin-left: .5em; }

.ods-front-header__submenu {
  position: absolute; top: calc(100% - 10px); left: 0; list-style: none; padding: 8px; margin: 0;
  background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); border: 1px solid rgba(17,17,17,.06);
  z-index: 100; white-space: nowrap; display: flex; flex-flow: column nowrap; min-width: 220px;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--t), transform var(--t), visibility var(--t);
}
.ods-front-header__submenu::before { content: none; }
.ods-front-header__submenu .ods-front-header__menu-item { height: auto; display: block; }
.ods-front-header__submenu .ods-front-header__menu-item-link {
  line-height: 1.4; padding: .6em 1em; border-radius: var(--radius-sm);
  display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center;
}
.ods-front-header__submenu .ods-front-header__menu-item:hover { background: none; }
.ods-front-header__submenu .ods-front-header__menu-item.has-submenu > .ods-front-header__menu-item-link::after { content: "\f105"; font-family: "FontAwesome"; margin-left: 2em; }
.ods-front-header__submenu .ods-front-header__submenu { top: -8px; left: 100%; margin-left: 4px; }
.ods-front-header__menu-item:hover > .ods-front-header__submenu,
.ods-front-header__menu-item:focus-within > .ods-front-header__submenu,
.ods-front-header__menu-item-link:focus + .ods-front-header__submenu { opacity: 1; visibility: visible; transform: translateY(0); }

/* Menu de gestion (Connexion/Inscription ou Back office + compte) : centré verticalement
   à droite, et on réserve sa largeur dans le menu principal pour éviter tout chevauchement. */
.ods-front-header__management-menu-item-link--backoffice { color: #fff; }
@media (min-width: 1000px) {
  .ods-front-header .container { width: 100%; max-width: none; padding: 0 16px; }
  .ods-front-header__management-menu {
    position: absolute; top: 50%; right: 16px; transform: translateY(-50%); margin: 0; padding: 0;
    line-height: normal; font-size: .8125rem; display: flex; align-items: center; gap: 6px; white-space: nowrap; z-index: 2;
  }
  .ods-front-header__management-menu-item { display: flex; align-items: center; margin: 0 4px; line-height: normal; }
  .ods-front-header__management-menu-item--backoffice { background: var(--c-primary); border-radius: var(--radius-pill); padding: .4em .9em; }
  .ods-front-header__management-menu-item-link { padding-bottom: 0; border-bottom: 0 !important; }
  .ods-front-header__menu { padding-right: 240px; }
  .ods-front-header:has(.ods-front-header__management-menu-item--backoffice) .ods-front-header__menu { padding-right: 330px; }
}
/* Largeurs intermédiaires : logo à gauche et menu compact, le logo centré n'a plus la place */
@media (min-width: 1000px) and (max-width: 1299px) {
  .ods-responsive-menu-collapsible__content { display: flex; align-items: center; height: var(--header-h); padding-left: 16px; }
  .ods-front-header__portal-brand { position: static; transform: none; margin: 0 8px 0 0; flex: 0 0 auto; }
  .ods-front-header .container { flex: 1 1 auto; min-width: 0; padding: 0 8px; }
  .ods-front-header__menu { justify-content: flex-start; gap: 0; }
  .ods-front-header__menu-spacer { flex: 0 0 12px; }
  .ods-front-header__menu-item-link { padding: 8px 10px; font-size: .875rem; }
}

/* Header mobile : le panneau ODS (.ods-responsive-menu-collapsible__container, position: fixed)
   gère lui-même le menu plein écran ; on ne contraint ni la hauteur ni l'overflow du header. */
@media (max-width: 999px) {
  .ods-front-header { height: var(--header-h); overflow: visible; }
  .ods-front-header .container { width: 100%; height: auto; }
  .ods-responsive-menu-collapsible__container { z-index: calc(var(--z-header) + 1); }
  .ods-front-header__menu { flex-flow: column; align-items: stretch; height: auto; gap: 0; padding-bottom: 12px; }
  .ods-front-header__menu-item { height: auto; display: block; }
  .ods-front-header__menu-item-link { line-height: 1.5; display: block; padding: 12px 16px; border-radius: var(--radius-sm); }
  .ods-front-header__menu-item-link::after { content: none !important; }
  .ods-front-header__submenu {
    position: static; width: 100%; opacity: 1; visibility: visible; transform: none; min-width: 0;
    background: none; box-shadow: none; border: 0; padding: 0 0 0 16px; white-space: normal;
  }
  .ods-front-header__submenu .ods-front-header__menu-item-link { white-space: normal; padding: 10px 12px; font-size: .9375rem; }
  .ods-front-header .fa-cog { font-size: .9375rem; }
  .ods-front-header .ods-responsive-menu-collapsible__toggle { margin-bottom: 0; }
}

/* =====================================================================
   FOOTER
   ===================================================================== */
.ods-front-footer { border-top: 1px solid var(--c-grey-200); background: var(--c-grey-100); position: relative; padding-bottom: 16px; }
.ods-front-footer__main { display: flex; flex-flow: row nowrap; justify-content: space-between; gap: 24px; }
.ods-front-footer__logos { margin: 0; padding: 0; list-style: none; display: flex; flex-flow: row nowrap; align-items: center; }
.ods-front-footer__logos__item { padding: 10px; margin: 0; width: 120px; }
.ods-front-footer__logos__item--large { width: 200px; }
.ods-front-footer__logos__link { display: block; opacity: .85; transition: opacity var(--t); }
.ods-front-footer__logos__link:hover { opacity: 1; }
.ods-front-footer__logos__link::after { content: none; }
.ods-front-footer__logos__link img { margin: 0; }
.ods-front-footer__bottom { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: flex-end; padding: 0 20px; font-size: .875rem; }
.ods-front-footer__link { color: var(--c-text); }
.ods-front-footer__link:hover { color: var(--c-primary); }
.ods-front-footer__copyright { margin: 0; line-height: 40px; color: var(--c-text-muted); }
.ods-front-footer__logo img { max-width: 210px; margin-bottom: 10px; }
.ods-front-footer__totop {
  width: 48px; height: 48px; position: absolute; top: -72px; right: 20px; background: var(--c-primary);
  border-radius: 50%; box-shadow: var(--shadow); z-index: var(--z-sticky); transition: all var(--t); text-decoration: none !important;
  display: flex; align-items: center; justify-content: center;
}
.ods-front-footer__totop::before { content: "\f106"; font-family: "FontAwesome"; font-size: 1.5rem; line-height: 1; color: #fff; }
.ods-front-footer__totop:hover { background: var(--c-black); transform: translateY(-3px); }
@media (max-width: 991px) { .ods-front-footer__main { flex-flow: column; align-items: center; margin-bottom: 2em; } }
@media (max-width: 1600px) {
  .ods-front-footer__bottom { flex-flow: column-reverse nowrap; position: relative; }
  .ods-front-footer__logo { position: absolute; top: 50%; left: 20px; transform: translateY(-50%); }
  .ods-front-footer__copyright { font-size: .75rem; line-height: 1.4; margin: .5em 0; }
}
@media (max-width: 900px) {
  .ods-front-footer__bottom { flex-flow: column nowrap; align-items: center; }
  .ods-front-footer__logo { position: static; order: 1; transform: none; }
  .ods-front-footer__legals { order: 2; }
  .ods-front-footer__copyright { order: 3; margin-top: 2em; }
}
@media (max-width: 500px) {
  .ods-front-footer__logos { flex-flow: row wrap; justify-content: center; }
  .ods-front-footer__logos__item { width: 80px; }
  .ods-front-footer__logos__item--large { width: 110px; }
}

/* =====================================================================
   MAIN
   ===================================================================== */
main, .main { margin: 0; }
.main--page { padding: 0 0 80px; }
.main--mapbuilder, .main--mapbuilder .ods-mapbuilder__map-container, .main--mapbuilder .ods-mapbuilder__map { min-height: calc(100vh - var(--header-h)); }
.main--chartbuilder .ods-box { border: 1px solid var(--c-grey-200); border-radius: var(--radius); }
@media (max-width: 767px) { .main--catalog > .container-fluid { padding-top: 20px; } }

.site-intro {
  background: #fff url("https://www.odwb.be/assets/theme_image/bg_pattern_tile_h_dimmed.svg") center center/162px 228px repeat-x;
  padding: 40px 0; display: flex; flex-flow: column; justify-content: center; align-items: center;
  min-height: 250px; margin-bottom: 30px; text-align: center; width: 100%;
}
.site-intro > h1, .site-intro > h2, .site-intro > h3, .site-intro__title { background: #fff; display: inline-block; padding: 0 .5em; }
.site-intro--nopattern { background: none; }

/* =====================================================================
   TYPOGRAPHIE
   ===================================================================== */
h1:not([class]), .h1, h2:not([class]), .h2, h3:not([class]), .h3,
h4:not([class]), .h4, h5:not([class]), .h5, h6:not([class]), .h6 {
  font-weight: 700; text-rendering: geometricPrecision; line-height: 1.15; letter-spacing: -.02em;
  color: inherit; font-family: var(--font); margin: 1em 0 .5em;
}
h1:not([class]) small, .h1 small, h2:not([class]) small, .h2 small, h3:not([class]) small, .h3 small,
h4:not([class]) small, .h4 small, h5:not([class]) small, .h5 small, h6:not([class]) small, .h6 small {
  display: block; font-size: .875rem; color: var(--c-primary); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; margin-bottom: .5em;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child,
.h1:first-child, .h2:first-child, .h3:first-child, .h4:first-child, .h5:first-child, .h6:first-child { margin-top: 1em; }
h1:not([class]), .h1 { font-size: 3.5rem; font-weight: 800; margin: 0; }
h2:not([class]), .h2 { font-size: 2.5rem; }
h3:not([class]), .h3 { font-size: 1.75rem; }
h4:not([class]), .h4 { font-size: 1.375rem; }
h4:not([class]) small, .h4 small { font-size: .8125rem; }
h5:not([class]), .h5 { font-size: 1.125rem; }
h6:not([class]), .h6 { font-size: 1rem; }
@media (max-width: 991px) {
  h1:not([class]), .h1 { font-size: 2.75rem; }
  h2:not([class]), .h2 { font-size: 2rem; }
  h3:not([class]), .h3 { font-size: 1.5rem; }
  h4:not([class]), .h4 { font-size: 1.25rem; }
}
@media (max-width: 767px) {
  h1:not([class]), .h1 { font-size: 2.125rem; }
  h2:not([class]), .h2 { font-size: 1.625rem; }
  h3:not([class]), .h3 { font-size: 1.375rem; }
  h4:not([class]), .h4 { font-size: 1.125rem; }
}

a { text-decoration: none; color: inherit; }
a:not([class]), .link {
  position: relative; cursor: pointer; color: var(--c-primary);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(211, 6, 40, .4);
  transition: color var(--t), text-decoration-color var(--t);
}
a:not([class]):hover, .link:hover { text-decoration-color: var(--c-primary); color: var(--c-primary-dark); }
.link-ext { color: var(--c-primary); font-weight: 600; }
.link-ext::after { content: "\f14c"; font-family: "FontAwesome"; margin-left: .5em; }
.link-source { font-size: .875rem; color: var(--c-primary); display: block; font-weight: 600; transition: all var(--t); }
.link-source::after { content: "\f061"; font-family: "FontAwesome"; margin-left: .5em; transition: transform var(--t); display: inline-block; }
.link-source__parent:hover .link-source, .link-source:hover { text-decoration: none; color: var(--c-primary-dark); }
.link-source:hover::after { transform: translateX(3px); }
.link-source--big { text-transform: uppercase; letter-spacing: .06em; }
.link-source--contrasted { color: var(--c-primary); }

.highlight {
  background: var(--c-black); color: #fff; padding: 2em; margin: 2em 0; font-size: 1.25rem; line-height: 1.3;
  text-align: center; font-weight: 700; border-radius: var(--radius-lg);
}
.number {
  display: flex; flex-flow: row nowrap; justify-content: center; align-items: center;
  font-size: 4rem; line-height: 100px; color: var(--c-primary); font-weight: 800; letter-spacing: -.03em; font-style: normal;
  margin: 0 !important; opacity: 0; white-space: nowrap; min-height: 100px; font-variant-numeric: tabular-nums;
}
.number .triangle { margin-right: .25em; }
.number--outline, .number--outline-black { color: #fff; -webkit-text-stroke: 1px var(--c-black); text-shadow: none; }
.number--outline-white { color: var(--c-black); -webkit-text-stroke: 1px #fff; text-shadow: none; }
.number--small { font-size: 3.125rem; }
.number.lh-1 { min-height: 64px; }
.number.ng-binding { opacity: 1; }

dl dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--c-text-muted); font-weight: 700; }
dl dd { margin: 0 0 .75em 0; }

/* =====================================================================
   FORMULAIRES
   ===================================================================== */
input, textarea, .ods-form__control {
  border-radius: var(--radius-sm); border: 1px solid var(--c-grey-300); background: #fff; font-family: var(--font);
  transition: border-color var(--t), box-shadow var(--t);
}
input:focus, textarea:focus, .ods-form__control:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(211, 6, 40, .15); }

input[type=radio], input[type=checkbox] {
  width: 1.1em; height: 1.1em; min-width: 1.1em; appearance: none; position: relative; margin: 0; padding: 0;
  background: #fff; border: 1.5px solid var(--c-grey-400); border-radius: 4px; vertical-align: middle; cursor: pointer;
  transition: border-color var(--t), background var(--t);
}
label:hover input[type=radio], label:hover input[type=checkbox] { border-color: var(--c-primary); }
input[type=checkbox]:checked { background: var(--c-primary); border-color: var(--c-primary); }
input[type=checkbox]::before {
  content: "\f00c"; font-family: "FontAwesome"; position: absolute; top: 50%; left: 50%; font-size: .75em; line-height: 1; color: #fff;
  opacity: 0; transform: translate(-50%, -50%) scale(.5); transition: all .2s var(--ease);
}
input[type=checkbox]:checked::before { opacity: 1; transform: translate(-50%, -50%) scale(1); }
input[type=radio] { border-radius: 50%; }
input[type=radio]:checked { border-color: var(--c-primary); }
input[type=radio]::before {
  content: ""; border-radius: 50%; width: 50%; height: 50%; position: absolute; top: 50%; left: 50%; opacity: 0;
  background: var(--c-primary); transform: translate(-50%, -50%) scale(2); transition: all .2s var(--ease);
}
input[type=radio]:checked::before { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.g-recaptcha { margin-bottom: 20px; }

.archive-filters { display: flex; flex-flow: row nowrap; justify-content: flex-start; margin: 0 -20px 20px; }
.archive-filters__set { flex: 1; padding: 20px; max-width: 350px; }
.archive-filters__set label { font-size: .875rem; font-weight: 600; }
.archive-filters__set select {
  width: 100%; height: 48px; padding: 0 2.5em 0 1em; appearance: none; border: 1px solid var(--c-grey-300); border-radius: var(--radius-sm);
  background: #fff right 12px center no-repeat; font-family: var(--font);
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABhSURBVHgB7dSxDcAgDETR2zjZAEbICNk0AQkahBDmgALdl1zarzOglFKK7ArjwBfv3JYFH+YjcZdueBh7CXwYZXAaHcGnoRZ8OtqDL0Nb+HK0hm9DS3wrmntg/EpKqbP6AT1fJqxpIkOqAAAAAElFTkSuQmCC");
}
@media (max-width: 767px) {
  .archive-filters { flex-flow: column; margin: 0 0 20px; }
  .archive-filters__set { max-width: 100%; width: 100%; padding: 0 0 12px; }
}
.choice-label { padding-left: 1.75em; position: relative; font-family: var(--font); display: block; }
.choice-label input { position: absolute; top: .2em; left: 0; }
.clear-filters {
  display: flex; flex-flow: row nowrap; justify-content: center; align-items: center; color: var(--c-primary); font-weight: 600;
  appearance: none; background: none; border: 0; height: 46px; cursor: pointer; font-family: var(--font);
}
.clear-filters::after { content: "\f057"; font-family: "FontAwesome"; margin-left: .5em; }
.clear-filters:hover { color: var(--c-primary-dark); }

.button-choice { display: flex; flex-flow: row nowrap; padding: 4px; margin: 0; list-style: none; background: var(--c-grey-200); border-radius: var(--radius-sm); gap: 4px; }
.button-choice input { display: none; }
.button-choice__item { flex: 1; }
.button-choice__button {
  border: 0; display: block; padding: .5em; font-size: .9375rem; text-align: center; cursor: pointer; border-radius: 4px;
  transition: all var(--t); font-weight: 500;
}
.button-choice__button:hover { color: var(--c-primary); }
.button-choice__button .fa { margin-left: .5em; }
.button-choice__item:first-child .button-choice__button, .button-choice__item:last-child .button-choice__button { border-radius: 4px; border-left: 0; }
input:checked + .button-choice__button { background: #fff; font-weight: 700; box-shadow: var(--shadow-sm); }

/* ---------- Images, icônes ---------- */
img, .img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
figcaption { font-size: .75rem; color: var(--c-text-muted); }
.triangle { display: block; width: 70px; height: 70px; background-image: url("https://www.odwb.be/assets/theme_image/icn_triangle.svg"); background-size: 280px 140px; background-position: 0 0; }
.triangle--1 { background-position-x: 0; }
.triangle--2 { background-position-x: 70px; }
.triangle--3 { background-position-x: 140px; }
.triangle--4 { background-position-x: 210px; }
.triangle--white { background-position-y: 70px; }
.triangles { display: block; width: 65px; height: 65px; background: url("https://www.odwb.be/assets/theme_image/icn_triangles.svg") center center/contain no-repeat; }
.triangles--2 { transform: rotate(-90deg); }
.triangles--3 { transform: rotate(-180deg); }
.triangles--4 { transform: rotate(90deg); }

.hr, hr { margin: 40px 0; width: 100%; height: 1px; border: 0; background: var(--c-grey-300); position: relative; }
.hr::before, .hr::after, hr::before, hr::after { content: none; }

.embeded-presentation { margin: 2em 0; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--c-grey-200); }
.embeded-presentation img { margin: 0; }
.embeded-presentation__imagewrap { display: block; }
.embeded-presentation__actions { background: var(--c-grey-100); padding: 15px; display: flex; flex-flow: row nowrap; justify-content: center; align-items: center; gap: 12px; }
.embeded-presentation__actions .btn { margin: 0; }

/* ---------- Barre de filtres collante (sous le header) ---------- */
.filter-block {
  position: sticky; top: var(--header-h); z-index: var(--z-sticky); padding: 16px 20px;
  display: flex; flex-flow: row nowrap; align-items: center; gap: 8px; background: var(--c-black); border-radius: 0 0 var(--radius) var(--radius);
}
.filter-block__btn {
  padding: .5em 1.1em; margin: 0; border-radius: var(--radius-pill); background: #fff; color: var(--c-text); border: 0;
  white-space: nowrap; font-weight: 600; cursor: pointer; transition: all var(--t);
}
.filter-block__btn::before { content: "\f0b0"; font-family: "FontAwesome"; margin-right: .35em; }
.filter-block__btn:hover { background: var(--c-secondary); }

/* ---------- Modal ---------- */
.modal {
  position: fixed; background: rgba(17, 17, 17, .6); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); z-index: var(--z-modal);
  display: flex; flex-flow: column; justify-content: center; align-items: center;
  opacity: 0; visibility: hidden; pointer-events: none; transition: all var(--t);
}
.modal__box {
  background: #fff; width: 560px; max-width: calc(100% - 32px); height: auto; max-height: min(800px, 90vh); border-radius: var(--radius-lg);
  position: relative; cursor: default; box-shadow: var(--shadow-lg); transition: all var(--t); transform: translateY(24px) scale(.98);
}
.modal__content { padding: 28px; overflow-y: auto; height: 100%; opacity: 0; transition: all var(--t); }
.modal__close {
  position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; font-size: 1.25rem; line-height: 40px; color: var(--c-text);
  text-align: center; text-indent: -9999px; cursor: pointer; transition: all var(--t); z-index: 100; background: var(--c-grey-200); border: 0; border-radius: 50%;
}
.modal__close:hover { color: var(--c-primary); background: var(--c-primary-soft); }
.modal__close::before { content: "\f00d"; font-family: "FontAwesome"; text-indent: 0; }
.modal.is-active { opacity: 1; visibility: visible; pointer-events: all; }
.modal.is-active .modal__box { transform: none; }
.modal.is-active .modal__content { opacity: 1; }
.modal--right { align-items: flex-end; }
.modal--right .modal__box { height: 100%; max-height: none; width: 400px; max-width: 100%; border-radius: 0; transform: translateX(100%); }
.modal--right.is-active .modal__box { transform: none; }

/* ---------- KPI banner ---------- */
.kpi-banner {
  display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; gap: 16px;
  background: var(--c-secondary-soft); border: 1px solid var(--c-secondary); padding: 1.25em 1.5em; border-radius: var(--radius);
}
.kpi-banner h1, .kpi-banner h2, .kpi-banner h3, .kpi-banner h4, .kpi-banner h5, .kpi-banner h6,
.kpi-banner .h1, .kpi-banner .h2, .kpi-banner .h3, .kpi-banner .h4, .kpi-banner .h5, .kpi-banner .h6 { margin: 0; }
.kpi-banner__kpi { display: flex; flex-flow: row nowrap; align-items: center; font-family: var(--font); font-weight: 700; margin: 0; }
.kpi-banner__kpi .number { display: inline-block; padding-left: 10px; font-size: 2.8125rem; line-height: 1; color: var(--c-text); min-height: 0; }
.kpi-banner a { color: var(--c-primary); }
.kpi-banner a:hover { color: var(--c-primary-dark); }
@media (max-width: 991px) {
  .kpi-banner { flex-flow: column nowrap; align-items: flex-start; }
  .kpi-banner__kpi { margin-bottom: 1em; }
  .kpi-banner__kpi .number { font-size: 1em; }
}

/* ---------- Archive ---------- */
.archive { position: relative; }
.archive__aside { min-width: 380px; padding-right: 40px; }
@media (max-width: 991px) { .archive__aside { min-width: 0; padding-right: 0; } }
.archive__main { flex-grow: 1; }
.archive__filters {
  position: sticky !important; top: calc(var(--header-h) + 20px); left: 0; background: #fff;
  border: 1px solid var(--c-grey-200); border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px;
}
.archive__list { flex-grow: 1; margin: 0 -15px; padding: 0; list-style: none; display: flex; flex-flow: row wrap; }
.archive__arrow {
  appearance: none; border: 0; background: var(--c-primary); border-radius: 50%; width: 45px; height: 45px; font-size: 1.25rem; line-height: 45px;
  text-align: center; color: #fff; cursor: pointer; box-shadow: var(--shadow); transition: all var(--t); margin-top: -23px;
}
.archive__arrow--prev { position: absolute; top: 50%; left: -60px; }
.archive__arrow--next { position: absolute; top: 50%; right: -60px; }
.archive__arrow:hover { background: var(--c-black); }
@media (max-width: 991px) {
  .archive__arrow { top: 100%; margin-top: 1px; }
  .archive__arrow--prev { left: auto; right: 60px; }
  .archive__arrow--next { right: 0; }
}
.archive__item { padding: 15px; }
.archive--news { display: flex; flex-flow: row nowrap; }
@media (max-width: 991px) { .archive--news { flex-flow: column; } }
.archive--news .archive__item { width: 25%; padding: 30px 10px; }
.archive--lightnews .archive__list { list-style: none; margin: 2em 0; padding: 0; }
@media (max-width: 991px) { .archive--lightnews .archive__list { flex-flow: row wrap; margin-bottom: 60px; } }
.archive--lightnews .archive__item { padding: 10px; width: 25%; }
@media (max-width: 991px) { .archive--lightnews .archive__item { width: 50%; margin-bottom: 20px; } }
@media (max-width: 767px) { .archive--lightnews .archive__item { width: 100%; } }

/* ---------- Timeline ---------- */
.timeline { position: relative; margin-top: 120px; display: block; }
.timeline-frame { display: flex; flex-flow: column nowrap; }
.timeline::before { content: ""; width: 2px; height: 100%; background: var(--c-grey-300); position: absolute; top: 0; left: 50%; border-radius: 2px; }
.timeline__item { width: 50%; padding: 20px 0; margin-top: -75px; margin-bottom: 25px; }
.timeline__item:nth-child(odd) { align-self: flex-end; padding-left: 40px; }
.timeline__item:nth-child(even) { padding-right: 40px; }
.timeline .odswidget-infinite-scroll-results__no-results-message { background: #fff; padding: 20px; display: block; color: var(--c-primary); font-weight: 700; position: relative; }
.timeline__card {
  border: 1px solid var(--c-grey-200); background: #fff; padding: 1.5em; border-radius: var(--radius); position: relative; cursor: pointer;
  box-shadow: var(--shadow-sm); transition: all var(--t);
}
.timeline__card:hover { border-color: var(--c-primary); box-shadow: var(--shadow); }
.timeline__card::before { content: ""; position: absolute; top: 50%; right: 100%; width: 80px; height: 2px; background: var(--c-grey-300); }
.timeline__card::after {
  content: ""; width: 12px; height: 12px; background: #fff; border: 2px solid var(--c-primary); position: absolute; top: 50%; right: 100%;
  border-radius: 50%; transform: translate(-34px, -50%);
}
.timeline__card__date {
  position: absolute; top: 50%; right: 100%; transform: translate(-80px, -50%); background: var(--c-secondary); font-size: 1rem; color: var(--c-text);
  font-weight: 700; white-space: nowrap; padding: .4em 1em; border-radius: var(--radius-pill);
}
.timeline__card__type { font-size: .8125rem; color: var(--c-primary); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.timeline__card .show-open { display: none; }
.timeline__card.is-open .show-open { display: block; }
.timeline__item:nth-child(even) .timeline__card__date { right: auto; left: 100%; transform: translate(80px, -50%); }
.timeline__item:nth-child(even) .timeline__card::before { right: auto; left: 100%; }
.timeline__item:nth-child(even) .timeline__card::after { right: auto; left: 100%; transform: translate(34px, -50%); }
@media (max-width: 767px) {
  .timeline { margin-top: 40px; }
  .timeline::before { content: none; }
  .timeline__item { width: 100%; margin: 0; padding: 10px 0 !important; }
  .timeline__card::before, .timeline__card::after { content: none; }
  .timeline__card__date { position: static; display: inline-block; transform: none !important; padding: 0; background: none; margin-bottom: .5em; }
}

/* =====================================================================
   CARTES
   ===================================================================== */
.card {
  display: flex; flex-flow: column nowrap; border: 1px solid var(--c-grey-200); background: #fff; padding: 1.25em; height: 100%;
  border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: all var(--t);
}
.card__image { display: block; width: calc(100% + 2.5em); height: 0; padding-bottom: 62%; margin: -1.25em -1.25em 1.25em; background: var(--c-grey-200) center center/cover no-repeat; }
.card__image--large { padding-bottom: 80%; }
.card img.card__image { width: auto; height: 100px; padding-bottom: 0; margin: 0; background: none; }
.card__content { flex-grow: 1; }
.card__header { font-size: .875rem; }
.card__header h1, .card__header h2, .card__header h3, .card__header h4, .card__header h5, .card__header h6,
.card__header .h1, .card__header .h2, .card__header .h3, .card__header .h4, .card__header .h5, .card__header .h6 { margin-top: 0; }
.card__footer { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; font-size: .875rem; }
.card--grey, .card--gray { background: var(--c-grey-100); border-color: var(--c-grey-100); box-shadow: none; }
.card--primary { border-color: var(--c-primary); }
.card--secondary { border-color: var(--c-secondary); }
.card--heavy-top { border-top-width: 6px; }
.card[href] h1, .card[href] h2, .card[href] h3, .card[href] h4, .card[href] h5, .card[href] h6,
.card[href] .h1, .card[href] .h2, .card[href] .h3, .card[href] .h4, .card[href] .h5, .card[href] .h6 { transition: color var(--t); }
.card[href]:hover { cursor: pointer; border-color: var(--c-primary); text-decoration: none; transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.card[href]:hover h1, .card[href]:hover h2, .card[href]:hover h3, .card[href]:hover h4, .card[href]:hover h5, .card[href]:hover h6,
.card[href]:hover .h1, .card[href]:hover .h2, .card[href]:hover .h3, .card[href]:hover .h4, .card[href]:hover .h5, .card[href]:hover .h6 { color: var(--c-primary); }
.card[href]:hover .btn { background: var(--c-black); }

.card-news {
  display: flex; flex-flow: column nowrap; background: #fff; border: 1px solid var(--c-grey-200); border-radius: var(--radius); box-shadow: var(--shadow-sm);
  height: 100%; padding: 0 16px 16px; overflow: hidden; transition: all var(--t); cursor: pointer; position: relative;
}
.card-news__type {
  background: var(--c-black); font-size: .75rem; text-align: center; color: var(--c-secondary); text-transform: uppercase; letter-spacing: .08em;
  font-weight: 700; padding: .6em 0; margin: 0 -16px 16px !important; transition: all var(--t);
}
.card-news img { width: 100%; height: 130px; object-fit: contain; }
.card-news__title { transition: color var(--t); font-size: 1.125rem; color: var(--c-text); font-weight: 700; line-height: 1.3; }
.card-news__excerpt { font-size: .875rem; flex-grow: 1; color: var(--c-text-muted); }
.card-news__date { font-size: .75rem; color: var(--c-text-muted); font-style: normal; }
.card-news__more {
  text-transform: uppercase; color: var(--c-primary); text-align: center; letter-spacing: .08em; font-weight: 700; font-size: .8125rem; text-decoration: none;
  position: absolute; top: 100%; left: 0; padding: 10px 0; width: 100%; opacity: 0; transform: translateY(-10px); transition: all .4s var(--ease);
}
.card-news:hover { text-decoration: none; border-color: var(--c-primary); transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.card-news:hover .card-news__type { background: var(--c-primary); color: #fff; }
.card-news:hover .card-news__title { color: var(--c-primary); }
.card-news:hover .card-news__more { opacity: 1; transform: translateY(0); }

.card-theme { display: block; }
.card-theme .odswidget-picto {
  width: 100%; height: 72px; background: var(--c-secondary-soft); border: 1px solid var(--c-secondary); display: flex; flex-flow: row nowrap;
  justify-content: center; align-items: center; border-radius: var(--radius); padding: 10px; transition: all var(--t);
}
.card-theme .odswidget-picto > * { max-height: 80px; width: auto; }
.card-theme .odswidget-picto path, .card-theme .odswidget-picto rect { transition: all var(--t); }
.card-theme__title { font-size: .9375rem; line-height: 1.3; text-align: center; font-weight: 600; margin: .6em 0; color: inherit; }
.card-theme:hover { text-decoration: none; color: var(--c-primary); }
.card-theme:hover .odswidget-picto { background: var(--c-primary); border-color: var(--c-primary); transform: translateY(-3px); box-shadow: var(--shadow); }
.card-theme:hover .odswidget-picto path, .card-theme:hover .odswidget-picto rect { fill: #fff !important; }

.card-image { border: 1px solid var(--c-grey-200); position: relative; display: block; width: 100%; height: 0; padding-bottom: 100%; border-radius: var(--radius); background: #fff; transition: all var(--t); }
.card-image img { object-fit: contain; padding: 10px; }
.card-image__tooltip {
  position: absolute; top: 100%; left: 50%; transform: translate(-50%, 10px); background: var(--c-black); z-index: 10; font-size: .8125rem; color: #fff;
  text-align: center; font-weight: 600; text-decoration: none; padding: .5em .75em; border-radius: var(--radius-sm); width: 200px;
  opacity: 0; visibility: hidden; transition: all var(--t); pointer-events: none;
}
.card-image__tooltip::before { content: ""; border-bottom: 8px solid var(--c-black); border-left: 6px solid transparent; border-right: 6px solid transparent; position: absolute; bottom: 100%; left: 50%; margin-left: -6px; }
.card-image:hover { border-color: var(--c-primary); box-shadow: var(--shadow); }
.card-image:hover .card-image__tooltip { opacity: 1; transform: translate(-50%, -10px); visibility: visible; }

.card-welcome { background: var(--c-black); padding: 2em; color: #fff; border-radius: var(--radius-lg); }

/* ---------- Inserts ---------- */
.insert-theme {
  display: flex; flex-flow: row nowrap; border: 1px solid var(--c-grey-200); border-radius: var(--radius-lg); overflow: hidden; background: #fff;
  box-shadow: var(--shadow-sm); transition: all var(--t); margin: 50px 0;
}
.insert-theme__image { flex: 1; min-width: 50%; background: center center/cover no-repeat; }
.insert-theme__content { flex: 1; min-width: 50%; padding: 32px 36px; text-align: center; }
.insert-theme .odswidget-picto { width: 100%; height: 90px; background: #fff; display: flex; flex-flow: row nowrap; justify-content: center; align-items: flex-end; }
.insert-theme .odswidget-picto > * { max-height: 80px; width: auto; }
.insert-theme .odswidget-picto path { transition: all var(--t); }
.insert-theme__count { opacity: .5; }
.insert-theme:nth-child(odd) { flex-flow: row-reverse nowrap; }
.insert-theme:hover { border-color: var(--c-primary); box-shadow: var(--shadow-lg); text-decoration: none; }
.insert-theme:hover path { fill: var(--c-primary) !important; }
@media (max-width: 767px) { .insert-theme, .insert-theme:nth-child(odd) { flex-flow: column; } .insert-theme__image { min-height: 200px; } }

.insert-news { border: 1px solid var(--c-grey-200); border-radius: var(--radius); background: #fff; display: flex; flex-flow: row nowrap; margin-bottom: 1.5em; overflow: hidden; }
@media (max-width: 991px) { .insert-news { flex-flow: column; } }
.insert-news__image { padding: 20px; flex: 1.5; }
.insert-news__image img { width: 100%; height: auto; }
.insert-news__main { flex: 3; padding: 20px 24px; }
.insert-news__title { font-size: 1.125rem; color: var(--c-text); font-weight: 700; }
.insert-news__content { font-size: .875rem; white-space: pre-wrap; }
.insert-news__date { font-size: .75rem; color: var(--c-text-muted); display: block; }
.insert-news__more { text-decoration: none; font-size: .875rem; color: var(--c-primary); font-weight: 700; float: right; }
@media (max-width: 991px) { .insert-news__more { float: none; } }
.insert-news .odswidget-social-buttons { margin-top: 10px; }

/* ---------- KPI ---------- */
.kpi {
  border: 1px solid var(--c-grey-200); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); padding: 0 16px; height: 270px; position: relative;
  display: flex; flex-flow: column nowrap; justify-content: center; align-items: center;
}
.kpi a { color: var(--c-primary); }
.kpi__dataset { font-size: .875rem; color: var(--c-text-muted); position: absolute; top: -22px; left: 0; white-space: nowrap; width: 100%; overflow: hidden; text-overflow: ellipsis; }
.kpi__title { font-size: 1rem; text-align: center; font-family: var(--font); font-weight: 600; color: inherit; margin-top: 0; height: 40px; display: flex; flex-flow: column; justify-content: flex-end; }
.kpi__number { font-size: 3.125rem; line-height: 1; text-align: center; font-weight: 800; letter-spacing: -.03em; margin: 0; font-variant-numeric: tabular-nums; }
.kpi__unit { font-size: 1.25rem; text-align: center; }
.kpi__footer { position: absolute; bottom: 0; left: 0; width: 100%; display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; padding: 8px 14px; font-size: .75rem; }
.kpi__source { text-transform: uppercase; letter-spacing: .06em; }
.kpi__source::after { content: "\f178"; font-family: "FontAwesome"; margin-left: .25em; }
.kpi--primary { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.kpi--primary a { color: inherit; }
.kpi--secondary { background: var(--c-secondary); border-color: var(--c-secondary); }
.kpi--black { background: var(--c-black); border-color: var(--c-black); color: #fff; }
.kpi--black a { color: inherit; }
.kpi--small .kpi__number { font-size: 2.5rem; }

/* =====================================================================
   WIDGETS ODS
   ===================================================================== */
.ods-box { border-radius: var(--radius); border: 0; padding: 30px; }
.ods-box--gray { background: var(--c-grey-100); box-shadow: none; }
.ods-box--border { border: 1px solid var(--c-grey-200); }
ods-theme-picto { background: var(--c-grey-200); }
.odswidget-theme-boxes__picto { width: 56px; height: 56px; display: block; }
.ods-catalog-sort__selector__opt { overflow: hidden; }
.ods-catalog-sort-selected-label { margin: 0 !important; color: var(--c-text); }

.ods-app-explore-catalog { position: relative; overflow: hidden; z-index: 10; }
.ods-app-explore-catalog .ods-filters-placeholder { background: #fff; border: 1px solid var(--c-grey-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 20px 16px; box-sizing: content-box; }
@media (min-width: 768px) { .ods-app-explore-catalog .ods-filters-placeholder { width: 260px; } }
.ods-app-explore-catalog .ods-filters { width: 100%; transform: none !important; position: static !important; }
.ods-app-explore-catalog .ods-filters__count { font-size: 1.375rem; font-weight: 700; margin-bottom: 10px; border-bottom: 1px solid var(--c-grey-200); padding-bottom: 10px; border-radius: 0; }
.ods-app-explore-catalog .ods-filters__count-number { color: var(--c-primary); }
.ods-app-explore-catalog .ods-filters__filters { margin-top: 20px; border-top: 1px solid var(--c-grey-200); padding-top: 10px; font-size: 1.25rem; font-weight: 700; color: var(--c-primary); }
.ods-app-explore-catalog .ods-filters__export-catalog { font-size: .9375rem; }
.ods-app-explore-catalog .ods-filters__export-catalog-title { font-size: 1.125rem; color: var(--c-primary); border-top: 1px solid var(--c-grey-200); padding-top: 10px; margin-bottom: 5px; }
.ods-app-explore-catalog .odswidget-facet__category--refined { color: var(--c-text); font-weight: 700; }
.ods-app-explore-catalog .odswidget-facet__category--refined:hover { color: var(--c-primary); }
.ods-app-explore-catalog .ods-catalog-sort-labels { font-size: .875rem; }
.ods-app-explore-catalog .odswidget-facet__facet-title,
.ods-app-explore-catalog .odswidget-geo-navigation__header,
.ods-app-explore-catalog .ods-filter__filter-summary-title { font-size: 1rem; font-weight: 700; color: var(--c-primary); }
.ods-app-explore-catalog .odswidget-facet__category-list { font-size: .9375rem; }
.ods-app-explore-catalog .odswidget-clear-all-filters { font-size: .875rem; }
.swagger-ui .info a, .swagger-ui .info a:hover { color: var(--c-primary); }

.ods-catalog-card { border: 1px solid var(--c-grey-200); border-radius: var(--radius); background: #fff; padding: 1.25em 1.25em 1.25em 64px; box-shadow: var(--shadow-sm); transition: all var(--t); }
.ods-catalog-card__body { flex-grow: 1; padding-right: 1em; }
.ods-catalog-card__theme-icon, .ods-catalog-card .odswidget-theme-picto { position: absolute; top: 1.25em; left: 1.25em; width: 32px; height: 32px; }
.ods-catalog-card__title { font-size: 1.25rem; color: var(--c-primary); font-weight: 700; margin-top: 0 !important; padding: 0; margin-left: 0; }
.ods-catalog-card__description { font-size: .875rem; }
.ods-catalog-card__metadata { margin-left: 0; }
.ods-catalog-card__keywords { margin-left: 0; clear: both; }
.ods-catalog-card__keyword { background: var(--c-secondary-soft); border: 1px solid var(--c-secondary); color: var(--c-text); font-weight: 600; border-radius: var(--radius-pill); }
.ods-catalog-card__keyword:hover { background: var(--c-secondary); }
.ods-catalog-card__keyword--nohover { cursor: default; }
.ods-catalog-card__keyword--nohover:hover { background: var(--c-secondary-soft); }
.ods-catalog-card__visualizations { width: 160px; padding-bottom: 70px; border-left-color: var(--c-grey-200); padding-left: 1em; }
.ods-catalog-card__visualization:hover { color: var(--c-primary); }
.ods-catalog-card:hover { text-decoration: none; border-color: var(--c-primary); box-shadow: var(--shadow); }
.ods-catalog-card:hover::before { background: var(--c-primary); }
.ods-catalog-card .catalog-card-logo { position: absolute; right: 10px; bottom: 10px; width: 65px; max-width: 100px; max-height: 100px; }
@media (max-width: 767px) { .ods-catalog-card__visualizations { margin-left: 0; padding-left: 0; } }

.ods-filters__filters, .ods-filters__count, .ods-filters h1 { color: var(--c-text); padding: 0; margin-bottom: 0; }
.ods-dataset-visualization__edit-dataset-link { color: #fff; }
.ods-dataset-visualization__edit-dataset-link:hover, .ods-dataset-visualization__edit-dataset-link:focus { background: var(--c-text); }

/* ---------- Menus internes, onglets, boutons ---------- */
.inner-menu { display: flex; flex-flow: row wrap; justify-content: center; align-items: center; gap: 8px; }
.inner-menu__link {
  margin: 0; background: var(--c-secondary); font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; padding: .75em 2em;
  display: flex; flex-flow: row nowrap; justify-content: center; align-items: center; flex: 1; border-radius: var(--radius-pill); transition: all var(--t);
}
.inner-menu__link .triangle { margin-right: .5em; }
.inner-menu__link.is-current { background: var(--c-black); color: #fff; }
.inner-menu__link.is-current .triangle { background-position-y: 70px; }
.inner-menu__link:hover { background: var(--c-primary); color: #fff; text-decoration: none; }
.inner-menu__link:hover .triangle { background-position-y: 70px; }
.inner-menu--light { gap: 0; border-bottom: 1px solid var(--c-grey-200); }
.inner-menu--light .inner-menu__link {
  font-size: .9375rem; text-transform: none; letter-spacing: 0; white-space: nowrap; padding: .6em 1.25em; background: none; border-radius: 0;
  border-bottom: 2px solid transparent; margin-bottom: -1px; font-weight: 500; color: var(--c-text-muted);
}
.inner-menu--light .inner-menu__link.is-current { color: var(--c-primary); border-bottom-color: var(--c-primary); background: none; font-weight: 700; }
.inner-menu--light .inner-menu__link:hover { color: var(--c-text); border-bottom-color: var(--c-grey-300); background: none; }

.tabs { display: flex; flex-flow: row wrap; list-style: none; padding: 0; border-bottom: 1px solid var(--c-grey-200); margin-top: -2.5em; gap: 4px; }
.tabs__item { border: 0; border-bottom: 2px solid transparent; padding: .6em 1.25em; margin: 0 0 -1px; background: none; transition: all var(--t); font-weight: 500; color: var(--c-text-muted); cursor: pointer; }
.tabs__item:hover { color: var(--c-text); border-bottom-color: var(--c-grey-300); }
.tabs__item.is-current { color: var(--c-primary); border-bottom-color: var(--c-primary); font-weight: 700; }

.btn, .ods-button--primary {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  color: #fff; font-weight: 600; background: var(--c-primary); border: 1px solid var(--c-primary); margin: 0; padding: .6em 1.4em;
  border-radius: var(--radius-pill); cursor: pointer; font-family: var(--font); line-height: 1.3;
  transition: background var(--t), border-color var(--t), transform var(--t), box-shadow var(--t);
}
.btn:hover, .btn__parent:hover .btn, .ods-button--primary:hover {
  text-decoration: none; background: var(--c-black); border-color: var(--c-black); color: #fff; transform: translateY(-1px); box-shadow: var(--shadow);
}

/* ---------- Full map ---------- */
.fullmap { display: flex; flex-flow: row nowrap; height: calc(100vh - var(--header-h)); }
.fullmap__wrap { flex-grow: 1; }
.fullmap__wrap > *, .fullmap__wrap .odswidget-map { height: 100%; }
.fullmap__filters { flex-shrink: 0; padding: 20px; width: 300px; min-height: 100%; }
.fullmap__results { background: #fff; overflow-y: auto; width: 400px; height: 100%; border-left: 1px solid var(--c-grey-200); }
.fullmap__results__back { padding: 16px 20px; font-weight: 700; margin: 0 !important; color: var(--c-primary); background: var(--c-grey-100); display: block; }
.fullmap__results__back:hover { color: var(--c-text); }
.fullmap__results__back::before { content: "\f060"; font-family: "FontAwesome"; margin-right: .5em; }
.fullmap__card { background: #fff; padding: 20px; border-bottom: 1px solid var(--c-grey-200); display: block; transition: all var(--t); cursor: pointer; }
.fullmap__card:last-child { border-bottom: none; }
.fullmap__card:hover { background: var(--c-grey-100); }
.fullmap__card__title { font-size: 1.125rem; color: var(--c-primary); font-weight: 700; }
.fullmap__card__description { font-size: .875rem; }
.fullmap__card__contact { position: relative; padding-left: 22px; font-size: .875rem; font-weight: 500; }
.fullmap__card__contact .fa { position: absolute; top: 0; left: 0; color: var(--c-primary); text-align: center; line-height: 1.5; width: 1em; display: inline-block; }
.fullmap__results__back + .fullmap__card:hover { background: #fff; cursor: default; }
@media (max-width: 1400px) {
  .fullmap { flex-flow: row wrap; height: auto; }
  .fullmap__filters { width: 100%; min-height: 0; order: 1; }
  .fullmap__results { order: 2; height: 600px; border-left: 0; }
  .fullmap__wrap { height: 600px; order: 3; }
}
@media (max-width: 1000px) { .fullmap__filters, .fullmap__results { width: 50%; } .fullmap__wrap { width: 100%; height: 600px; margin-top: 20px; } }
@media (max-width: 700px) { .fullmap__filters, .fullmap__results { width: 100%; } }

/* ---------- Searchbox / select / filtres / slider / map / pagination ---------- */
.odswidget-searchbox { max-width: 520px; margin: 40px auto; position: relative; text-shadow: none; }
.odswidget-searchbox::before { content: "\f002"; font-family: "FontAwesome"; font-size: 1.125rem; line-height: 54px; text-align: center; color: var(--c-text-muted); position: absolute; top: 0; left: 0; width: 56px; height: 54px; pointer-events: none; }
.odswidget-searchbox__box {
  font-size: 1rem; color: var(--c-black); text-align: left; width: 100%; height: 54px; border: 1px solid var(--c-grey-300); padding: 0 24px 0 56px;
  border-radius: var(--radius-pill) !important; box-shadow: var(--shadow-sm); transition: border-color var(--t), box-shadow var(--t);
}
.odswidget-searchbox__box:focus { border-color: var(--c-primary); box-shadow: 0 0 0 4px rgba(211, 6, 40, .12); }
.odswidget-searchbox__box::placeholder { color: var(--c-text-muted); }

.odswidget-select, .odswidget-select-dropdown { max-width: 100%; }
.odswidget-select-dropdown-menu { border-radius: var(--radius-sm); box-shadow: var(--shadow-lg); border: 1px solid var(--c-grey-200); box-sizing: border-box; margin-top: 4px; max-width: 100%; }
.odswidget-select-dropdown-label { white-space: normal; }
.odswidget-select-dropdown .fa { color: var(--c-primary); }
.odswidget-select-button { padding: .65em 1em; height: 46px; background: #fff; border: 1px solid var(--c-grey-300); font-size: 1rem; color: var(--c-text); border-radius: var(--radius-sm); max-width: 100%; }
.odswidget-select-button:hover { border-color: var(--c-text); }
.odswidget-select-button-dropdown-close { line-height: 48px; display: block; margin-right: .75em; }
.odswidget-select-button-label { white-space: normal; text-align: left; display: block; line-height: 24px; height: 24px; overflow: hidden; }
.odswidget-select-input { height: 46px; padding: .65em 1em; border-radius: 0; max-width: 100%; }
.odswidget-select-input-container { border: 0; }
.odswidget-select__wrap { width: 300px; max-width: 100%; }
.odswidget-select__wrap .odswidget-select-dropdown-menu { width: 100%; }

.odswidget-filter-summary--horizontal { display: flex; flex-flow: row wrap; align-items: center; gap: 6px; }
.odswidget-filter-summary--horizontal .odswidget-filter-summary__active-filter, .odswidget-filter-summary--horizontal .odswidget-filter-summary__clear-all { margin: 0; color: #fff; }
.odswidget-filter-summary--horizontal .odswidget-filter-summary__active-filter-link { border: 0; display: flex; flex-flow: row nowrap; align-items: center; }
.odswidget-filter-summary--horizontal .odswidget-filter-summary__active-filter-label { background: #fff; font-size: .9375rem; color: var(--c-text); }
.odswidget-filter-summary__active-filter-label { background: var(--c-text); color: #fff; padding: .2em .7em; border-radius: var(--radius-pill); }
.odswidget-filter-summary__active-filter-value { font-size: .875rem; }
.odswidget-filter-summary--white { color: #fff; }

.odswidget-date-range-slider .irs--flat .irs::before, .odswidget-date-range-slider .irs--flat .irs::after { content: none; }
.odswidget-date-range-slider .irs--flat .irs-line { background: var(--c-grey-300); height: 4px; border-radius: 4px; top: 29px; }
.odswidget-date-range-slider .irs--flat .irs-from, .odswidget-date-range-slider .irs--flat .irs-to, .odswidget-date-range-slider .irs--flat .irs-single { background: var(--c-primary); border-radius: 4px; }
.odswidget-date-range-slider .irs--flat .irs-from::before, .odswidget-date-range-slider .irs--flat .irs-to::before, .odswidget-date-range-slider .irs--flat .irs-single::before { border-top-color: var(--c-primary); }
.odswidget-date-range-slider .irs--flat .irs-bar { background: var(--c-primary); height: 4px; border-radius: 4px; top: 29px; }
.odswidget-date-range-slider .irs--flat .irs-handle > i:first-child, .odswidget-date-range-slider .irs--flat .irs-handle.state_hover > i:first-child, .odswidget-date-range-slider .irs--flat .irs-handle:hover > i:first-child { background: var(--c-primary); }
@media (max-width: 767px) { .odswidget-date-range-slider { padding-left: 20px; padding-right: 20px; } }

.odswidget-text-search__search-box { padding-left: .75em; height: 46px; border-radius: var(--radius-sm); font-size: 1rem; }
.odswidget-text-search__submit, .odswidget-text-search__reset { padding-right: 10px; }

.odswidget-map { height: 500px; border-radius: var(--radius); overflow: hidden; }
.odswidget-map img { display: unset; }
.odswidget-map--fullheight { height: calc(100vh - var(--header-h)); border-radius: 0; }
.card .odswidget-map .map-timezone-caption { display: none; }
.flex-row .odswidget-map { height: 100%; }

.odswidget-pagination__page-list { display: flex; flex-flow: row wrap; justify-content: center; gap: 4px; }
.odswidget-pagination__page-link { width: 2.25em; height: 2.25em; display: block; font-size: 1rem; line-height: 2.25; text-align: center; padding: 0; font-weight: 600; border-radius: 50%; transition: all var(--t); }
.odswidget-pagination__page-link:hover { color: var(--c-primary); background: var(--c-primary-soft); }
.odswidget-pagination__page-link--active { background: var(--c-primary); color: #fff; }
.odswidget-pagination__page-link--active:hover { background: var(--c-primary-dark); color: #fff; }
.odswidget-social-buttons__button:hover, .odswidget-social-buttons__button:focus { color: #fff; }

/* =====================================================================
   HOMEPAGE
   ===================================================================== */
.homepage .h2, .homepage h2:not([class]) { font-size: 2.5rem; }
@media (max-width: 991px) { .homepage .h2, .homepage h2:not([class]) { font-size: 2.125rem; } }
@media (max-width: 767px) { .homepage .h2, .homepage h2:not([class]) { font-size: 1.75rem; } }

.homepage__intro { background: #000 url("https://www.odwb.be/assets/theme_image/odwb_intro_video_cover.jpg") center center/cover no-repeat; position: relative; text-align: center; color: #fff; padding: 120px 0; }
.homepage__intro::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.55)); z-index: 1; }
.homepage__intro__content { position: relative; z-index: 10; text-shadow: 0 2px 12px rgba(0, 0, 0, .35); }
.homepage__intro p { background: rgba(65, 57, 57, .85); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); padding: .5em 1.5em; display: inline-block; border-radius: var(--radius-pill); }
.homepage__intro h1 { font-size: 4.375rem; font-weight: 800; letter-spacing: -.03em; }
.homepage__intro h1 small { display: block; font-size: 1.125rem; color: #fff; letter-spacing: .12em; }
.homepage__intro video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) { .homepage__intro { padding: 80px 0; } .homepage__intro h1 { font-size: 2.5rem; } }

.homepage__themes { padding: 60px 0; }
.homepage__themes__list { display: flex; flex-flow: row wrap; justify-content: center; margin: 20px -15px; padding: 0; list-style: none; }
.homepage__themes__item { padding: 15px; margin: 0; width: 20%; }
@media (max-width: 991px) { .homepage__themes__item { width: 33%; } }
@media (max-width: 767px) { .homepage__themes__item { width: 50%; } }

.homepage__news { padding-bottom: 100px; background: url("https://www.odwb.be/assets/theme_image/bg_pattern_tile_h.svg") center center/162px 228px repeat-x; }
.homepage__news .container { position: relative; }
.homepage__news h2 { text-align: center; }
.homepage__news__all { margin-top: 20px; }
.homepage__news__all::after { content: "\f178"; font-family: "FontAwesome"; margin-left: .5em; }

.homepage__local { padding-bottom: 80px; display: flex; flex-flow: row nowrap; justify-content: center; align-items: flex-end; }
.homepage__local__content { font-size: 1.25rem; position: relative; left: 100px; border: 1px solid var(--c-secondary); background: var(--c-secondary-soft); border-radius: var(--radius-lg); padding: 24px 64px 24px 32px; float: right; }
.homepage__local__content p { margin: .5em 0 1em; }
.homepage__local img { position: relative; z-index: 10; top: -30px; left: -130px; pointer-events: none; }
@media (max-width: 991px) {
  .homepage__local { flex-flow: column nowrap; }
  .homepage__local__content { left: 0; float: none; font-size: 1rem; padding-bottom: 50px; }
  .homepage__local img { left: 0; top: -50px; }
}

.homepage__numbers { background: var(--c-black); background: radial-gradient(60% 80% at 50% 40%, #2a2a2a 0%, #0b0b0b 100%); padding: 80px 0; text-align: center; color: #fff; }
.homepage__number { margin: 2em 0; }
.homepage__more { padding: 80px 0; }
.homepage__more h2 { text-align: center; margin-bottom: 40px; }
.homepage__more h3 { color: var(--c-primary); text-transform: uppercase; letter-spacing: .08em; font-size: 1rem; }
.homepage__more__intro { text-align: center; }
.homepage__more .card { height: 100%; }

/* ---------- Spacing utilities (p-*, m-*, 0..9 ; responsive -md/-sm/-xs) ---------- */
.p-0 { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pr-0 { padding-right: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.m-0 { margin: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.ml-0 { margin-left: 0 !important; }
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.p-1 { padding: 6px !important; }
.pt-1 { padding-top: 6px !important; }
.pb-1 { padding-bottom: 6px !important; }
.pr-1 { padding-right: 6px !important; }
.pl-1 { padding-left: 6px !important; }
.px-1 { padding-left: 6px !important; padding-right: 6px !important; }
.py-1 { padding-top: 6px !important; padding-bottom: 6px !important; }
.m-1 { margin: 6px !important; }
.mt-1 { margin-top: 6px !important; }
.mb-1 { margin-bottom: 6px !important; }
.mr-1 { margin-right: 6px !important; }
.ml-1 { margin-left: 6px !important; }
.mx-1 { margin-left: 6px !important; margin-right: 6px !important; }
.my-1 { margin-top: 6px !important; margin-bottom: 6px !important; }
.p-2 { padding: 12px !important; }
.pt-2 { padding-top: 12px !important; }
.pb-2 { padding-bottom: 12px !important; }
.pr-2 { padding-right: 12px !important; }
.pl-2 { padding-left: 12px !important; }
.px-2 { padding-left: 12px !important; padding-right: 12px !important; }
.py-2 { padding-top: 12px !important; padding-bottom: 12px !important; }
.m-2 { margin: 12px !important; }
.mt-2 { margin-top: 12px !important; }
.mb-2 { margin-bottom: 12px !important; }
.mr-2 { margin-right: 12px !important; }
.ml-2 { margin-left: 12px !important; }
.mx-2 { margin-left: 12px !important; margin-right: 12px !important; }
.my-2 { margin-top: 12px !important; margin-bottom: 12px !important; }
.p-3 { padding: 16px !important; }
.pt-3 { padding-top: 16px !important; }
.pb-3 { padding-bottom: 16px !important; }
.pr-3 { padding-right: 16px !important; }
.pl-3 { padding-left: 16px !important; }
.px-3 { padding-left: 16px !important; padding-right: 16px !important; }
.py-3 { padding-top: 16px !important; padding-bottom: 16px !important; }
.m-3 { margin: 16px !important; }
.mt-3 { margin-top: 16px !important; }
.mb-3 { margin-bottom: 16px !important; }
.mr-3 { margin-right: 16px !important; }
.ml-3 { margin-left: 16px !important; }
.mx-3 { margin-left: 16px !important; margin-right: 16px !important; }
.my-3 { margin-top: 16px !important; margin-bottom: 16px !important; }
.p-4 { padding: 24px !important; }
.pt-4 { padding-top: 24px !important; }
.pb-4 { padding-bottom: 24px !important; }
.pr-4 { padding-right: 24px !important; }
.pl-4 { padding-left: 24px !important; }
.px-4 { padding-left: 24px !important; padding-right: 24px !important; }
.py-4 { padding-top: 24px !important; padding-bottom: 24px !important; }
.m-4 { margin: 24px !important; }
.mt-4 { margin-top: 24px !important; }
.mb-4 { margin-bottom: 24px !important; }
.mr-4 { margin-right: 24px !important; }
.ml-4 { margin-left: 24px !important; }
.mx-4 { margin-left: 24px !important; margin-right: 24px !important; }
.my-4 { margin-top: 24px !important; margin-bottom: 24px !important; }
.p-5 { padding: 32px !important; }
.pt-5 { padding-top: 32px !important; }
.pb-5 { padding-bottom: 32px !important; }
.pr-5 { padding-right: 32px !important; }
.pl-5 { padding-left: 32px !important; }
.px-5 { padding-left: 32px !important; padding-right: 32px !important; }
.py-5 { padding-top: 32px !important; padding-bottom: 32px !important; }
.m-5 { margin: 32px !important; }
.mt-5 { margin-top: 32px !important; }
.mb-5 { margin-bottom: 32px !important; }
.mr-5 { margin-right: 32px !important; }
.ml-5 { margin-left: 32px !important; }
.mx-5 { margin-left: 32px !important; margin-right: 32px !important; }
.my-5 { margin-top: 32px !important; margin-bottom: 32px !important; }
.p-6 { padding: 48px !important; }
.pt-6 { padding-top: 48px !important; }
.pb-6 { padding-bottom: 48px !important; }
.pr-6 { padding-right: 48px !important; }
.pl-6 { padding-left: 48px !important; }
.px-6 { padding-left: 48px !important; padding-right: 48px !important; }
.py-6 { padding-top: 48px !important; padding-bottom: 48px !important; }
.m-6 { margin: 48px !important; }
.mt-6 { margin-top: 48px !important; }
.mb-6 { margin-bottom: 48px !important; }
.mr-6 { margin-right: 48px !important; }
.ml-6 { margin-left: 48px !important; }
.mx-6 { margin-left: 48px !important; margin-right: 48px !important; }
.my-6 { margin-top: 48px !important; margin-bottom: 48px !important; }
.p-7 { padding: 64px !important; }
.pt-7 { padding-top: 64px !important; }
.pb-7 { padding-bottom: 64px !important; }
.pr-7 { padding-right: 64px !important; }
.pl-7 { padding-left: 64px !important; }
.px-7 { padding-left: 64px !important; padding-right: 64px !important; }
.py-7 { padding-top: 64px !important; padding-bottom: 64px !important; }
.m-7 { margin: 64px !important; }
.mt-7 { margin-top: 64px !important; }
.mb-7 { margin-bottom: 64px !important; }
.mr-7 { margin-right: 64px !important; }
.ml-7 { margin-left: 64px !important; }
.mx-7 { margin-left: 64px !important; margin-right: 64px !important; }
.my-7 { margin-top: 64px !important; margin-bottom: 64px !important; }
.p-8 { padding: 96px !important; }
.pt-8 { padding-top: 96px !important; }
.pb-8 { padding-bottom: 96px !important; }
.pr-8 { padding-right: 96px !important; }
.pl-8 { padding-left: 96px !important; }
.px-8 { padding-left: 96px !important; padding-right: 96px !important; }
.py-8 { padding-top: 96px !important; padding-bottom: 96px !important; }
.m-8 { margin: 96px !important; }
.mt-8 { margin-top: 96px !important; }
.mb-8 { margin-bottom: 96px !important; }
.mr-8 { margin-right: 96px !important; }
.ml-8 { margin-left: 96px !important; }
.mx-8 { margin-left: 96px !important; margin-right: 96px !important; }
.my-8 { margin-top: 96px !important; margin-bottom: 96px !important; }
.p-9 { padding: 140px !important; }
.pt-9 { padding-top: 140px !important; }
.pb-9 { padding-bottom: 140px !important; }
.pr-9 { padding-right: 140px !important; }
.pl-9 { padding-left: 140px !important; }
.px-9 { padding-left: 140px !important; padding-right: 140px !important; }
.py-9 { padding-top: 140px !important; padding-bottom: 140px !important; }
.m-9 { margin: 140px !important; }
.mt-9 { margin-top: 140px !important; }
.mb-9 { margin-bottom: 140px !important; }
.mr-9 { margin-right: 140px !important; }
.ml-9 { margin-left: 140px !important; }
.mx-9 { margin-left: 140px !important; margin-right: 140px !important; }
.my-9 { margin-top: 140px !important; margin-bottom: 140px !important; }
@media (max-width: 991px) {
.p-0 { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pr-0 { padding-right: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.m-0 { margin: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.ml-0 { margin-left: 0 !important; }
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.p-1 { padding: 4.5px !important; }
.pt-1 { padding-top: 4.5px !important; }
.pb-1 { padding-bottom: 4.5px !important; }
.pr-1 { padding-right: 4.5px !important; }
.pl-1 { padding-left: 4.5px !important; }
.px-1 { padding-left: 4.5px !important; padding-right: 4.5px !important; }
.py-1 { padding-top: 4.5px !important; padding-bottom: 4.5px !important; }
.m-1 { margin: 4.5px !important; }
.mt-1 { margin-top: 4.5px !important; }
.mb-1 { margin-bottom: 4.5px !important; }
.mr-1 { margin-right: 4.5px !important; }
.ml-1 { margin-left: 4.5px !important; }
.mx-1 { margin-left: 4.5px !important; margin-right: 4.5px !important; }
.my-1 { margin-top: 4.5px !important; margin-bottom: 4.5px !important; }
.p-2 { padding: 9px !important; }
.pt-2 { padding-top: 9px !important; }
.pb-2 { padding-bottom: 9px !important; }
.pr-2 { padding-right: 9px !important; }
.pl-2 { padding-left: 9px !important; }
.px-2 { padding-left: 9px !important; padding-right: 9px !important; }
.py-2 { padding-top: 9px !important; padding-bottom: 9px !important; }
.m-2 { margin: 9px !important; }
.mt-2 { margin-top: 9px !important; }
.mb-2 { margin-bottom: 9px !important; }
.mr-2 { margin-right: 9px !important; }
.ml-2 { margin-left: 9px !important; }
.mx-2 { margin-left: 9px !important; margin-right: 9px !important; }
.my-2 { margin-top: 9px !important; margin-bottom: 9px !important; }
.p-3 { padding: 12px !important; }
.pt-3 { padding-top: 12px !important; }
.pb-3 { padding-bottom: 12px !important; }
.pr-3 { padding-right: 12px !important; }
.pl-3 { padding-left: 12px !important; }
.px-3 { padding-left: 12px !important; padding-right: 12px !important; }
.py-3 { padding-top: 12px !important; padding-bottom: 12px !important; }
.m-3 { margin: 12px !important; }
.mt-3 { margin-top: 12px !important; }
.mb-3 { margin-bottom: 12px !important; }
.mr-3 { margin-right: 12px !important; }
.ml-3 { margin-left: 12px !important; }
.mx-3 { margin-left: 12px !important; margin-right: 12px !important; }
.my-3 { margin-top: 12px !important; margin-bottom: 12px !important; }
.p-4 { padding: 18px !important; }
.pt-4 { padding-top: 18px !important; }
.pb-4 { padding-bottom: 18px !important; }
.pr-4 { padding-right: 18px !important; }
.pl-4 { padding-left: 18px !important; }
.px-4 { padding-left: 18px !important; padding-right: 18px !important; }
.py-4 { padding-top: 18px !important; padding-bottom: 18px !important; }
.m-4 { margin: 18px !important; }
.mt-4 { margin-top: 18px !important; }
.mb-4 { margin-bottom: 18px !important; }
.mr-4 { margin-right: 18px !important; }
.ml-4 { margin-left: 18px !important; }
.mx-4 { margin-left: 18px !important; margin-right: 18px !important; }
.my-4 { margin-top: 18px !important; margin-bottom: 18px !important; }
.p-5 { padding: 24px !important; }
.pt-5 { padding-top: 24px !important; }
.pb-5 { padding-bottom: 24px !important; }
.pr-5 { padding-right: 24px !important; }
.pl-5 { padding-left: 24px !important; }
.px-5 { padding-left: 24px !important; padding-right: 24px !important; }
.py-5 { padding-top: 24px !important; padding-bottom: 24px !important; }
.m-5 { margin: 24px !important; }
.mt-5 { margin-top: 24px !important; }
.mb-5 { margin-bottom: 24px !important; }
.mr-5 { margin-right: 24px !important; }
.ml-5 { margin-left: 24px !important; }
.mx-5 { margin-left: 24px !important; margin-right: 24px !important; }
.my-5 { margin-top: 24px !important; margin-bottom: 24px !important; }
.p-6 { padding: 36px !important; }
.pt-6 { padding-top: 36px !important; }
.pb-6 { padding-bottom: 36px !important; }
.pr-6 { padding-right: 36px !important; }
.pl-6 { padding-left: 36px !important; }
.px-6 { padding-left: 36px !important; padding-right: 36px !important; }
.py-6 { padding-top: 36px !important; padding-bottom: 36px !important; }
.m-6 { margin: 36px !important; }
.mt-6 { margin-top: 36px !important; }
.mb-6 { margin-bottom: 36px !important; }
.mr-6 { margin-right: 36px !important; }
.ml-6 { margin-left: 36px !important; }
.mx-6 { margin-left: 36px !important; margin-right: 36px !important; }
.my-6 { margin-top: 36px !important; margin-bottom: 36px !important; }
.p-7 { padding: 48px !important; }
.pt-7 { padding-top: 48px !important; }
.pb-7 { padding-bottom: 48px !important; }
.pr-7 { padding-right: 48px !important; }
.pl-7 { padding-left: 48px !important; }
.px-7 { padding-left: 48px !important; padding-right: 48px !important; }
.py-7 { padding-top: 48px !important; padding-bottom: 48px !important; }
.m-7 { margin: 48px !important; }
.mt-7 { margin-top: 48px !important; }
.mb-7 { margin-bottom: 48px !important; }
.mr-7 { margin-right: 48px !important; }
.ml-7 { margin-left: 48px !important; }
.mx-7 { margin-left: 48px !important; margin-right: 48px !important; }
.my-7 { margin-top: 48px !important; margin-bottom: 48px !important; }
.p-8 { padding: 72px !important; }
.pt-8 { padding-top: 72px !important; }
.pb-8 { padding-bottom: 72px !important; }
.pr-8 { padding-right: 72px !important; }
.pl-8 { padding-left: 72px !important; }
.px-8 { padding-left: 72px !important; padding-right: 72px !important; }
.py-8 { padding-top: 72px !important; padding-bottom: 72px !important; }
.m-8 { margin: 72px !important; }
.mt-8 { margin-top: 72px !important; }
.mb-8 { margin-bottom: 72px !important; }
.mr-8 { margin-right: 72px !important; }
.ml-8 { margin-left: 72px !important; }
.mx-8 { margin-left: 72px !important; margin-right: 72px !important; }
.my-8 { margin-top: 72px !important; margin-bottom: 72px !important; }
.p-9 { padding: 105px !important; }
.pt-9 { padding-top: 105px !important; }
.pb-9 { padding-bottom: 105px !important; }
.pr-9 { padding-right: 105px !important; }
.pl-9 { padding-left: 105px !important; }
.px-9 { padding-left: 105px !important; padding-right: 105px !important; }
.py-9 { padding-top: 105px !important; padding-bottom: 105px !important; }
.m-9 { margin: 105px !important; }
.mt-9 { margin-top: 105px !important; }
.mb-9 { margin-bottom: 105px !important; }
.mr-9 { margin-right: 105px !important; }
.ml-9 { margin-left: 105px !important; }
.mx-9 { margin-left: 105px !important; margin-right: 105px !important; }
.my-9 { margin-top: 105px !important; margin-bottom: 105px !important; }
}
@media (max-width: 767px) {
.p-0 { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pr-0 { padding-right: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.m-0 { margin: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.ml-0 { margin-left: 0 !important; }
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.p-1 { padding: 3px !important; }
.pt-1 { padding-top: 3px !important; }
.pb-1 { padding-bottom: 3px !important; }
.pr-1 { padding-right: 3px !important; }
.pl-1 { padding-left: 3px !important; }
.px-1 { padding-left: 3px !important; padding-right: 3px !important; }
.py-1 { padding-top: 3px !important; padding-bottom: 3px !important; }
.m-1 { margin: 3px !important; }
.mt-1 { margin-top: 3px !important; }
.mb-1 { margin-bottom: 3px !important; }
.mr-1 { margin-right: 3px !important; }
.ml-1 { margin-left: 3px !important; }
.mx-1 { margin-left: 3px !important; margin-right: 3px !important; }
.my-1 { margin-top: 3px !important; margin-bottom: 3px !important; }
.p-2 { padding: 6px !important; }
.pt-2 { padding-top: 6px !important; }
.pb-2 { padding-bottom: 6px !important; }
.pr-2 { padding-right: 6px !important; }
.pl-2 { padding-left: 6px !important; }
.px-2 { padding-left: 6px !important; padding-right: 6px !important; }
.py-2 { padding-top: 6px !important; padding-bottom: 6px !important; }
.m-2 { margin: 6px !important; }
.mt-2 { margin-top: 6px !important; }
.mb-2 { margin-bottom: 6px !important; }
.mr-2 { margin-right: 6px !important; }
.ml-2 { margin-left: 6px !important; }
.mx-2 { margin-left: 6px !important; margin-right: 6px !important; }
.my-2 { margin-top: 6px !important; margin-bottom: 6px !important; }
.p-3 { padding: 8px !important; }
.pt-3 { padding-top: 8px !important; }
.pb-3 { padding-bottom: 8px !important; }
.pr-3 { padding-right: 8px !important; }
.pl-3 { padding-left: 8px !important; }
.px-3 { padding-left: 8px !important; padding-right: 8px !important; }
.py-3 { padding-top: 8px !important; padding-bottom: 8px !important; }
.m-3 { margin: 8px !important; }
.mt-3 { margin-top: 8px !important; }
.mb-3 { margin-bottom: 8px !important; }
.mr-3 { margin-right: 8px !important; }
.ml-3 { margin-left: 8px !important; }
.mx-3 { margin-left: 8px !important; margin-right: 8px !important; }
.my-3 { margin-top: 8px !important; margin-bottom: 8px !important; }
.p-4 { padding: 12px !important; }
.pt-4 { padding-top: 12px !important; }
.pb-4 { padding-bottom: 12px !important; }
.pr-4 { padding-right: 12px !important; }
.pl-4 { padding-left: 12px !important; }
.px-4 { padding-left: 12px !important; padding-right: 12px !important; }
.py-4 { padding-top: 12px !important; padding-bottom: 12px !important; }
.m-4 { margin: 12px !important; }
.mt-4 { margin-top: 12px !important; }
.mb-4 { margin-bottom: 12px !important; }
.mr-4 { margin-right: 12px !important; }
.ml-4 { margin-left: 12px !important; }
.mx-4 { margin-left: 12px !important; margin-right: 12px !important; }
.my-4 { margin-top: 12px !important; margin-bottom: 12px !important; }
.p-5 { padding: 16px !important; }
.pt-5 { padding-top: 16px !important; }
.pb-5 { padding-bottom: 16px !important; }
.pr-5 { padding-right: 16px !important; }
.pl-5 { padding-left: 16px !important; }
.px-5 { padding-left: 16px !important; padding-right: 16px !important; }
.py-5 { padding-top: 16px !important; padding-bottom: 16px !important; }
.m-5 { margin: 16px !important; }
.mt-5 { margin-top: 16px !important; }
.mb-5 { margin-bottom: 16px !important; }
.mr-5 { margin-right: 16px !important; }
.ml-5 { margin-left: 16px !important; }
.mx-5 { margin-left: 16px !important; margin-right: 16px !important; }
.my-5 { margin-top: 16px !important; margin-bottom: 16px !important; }
.p-6 { padding: 24px !important; }
.pt-6 { padding-top: 24px !important; }
.pb-6 { padding-bottom: 24px !important; }
.pr-6 { padding-right: 24px !important; }
.pl-6 { padding-left: 24px !important; }
.px-6 { padding-left: 24px !important; padding-right: 24px !important; }
.py-6 { padding-top: 24px !important; padding-bottom: 24px !important; }
.m-6 { margin: 24px !important; }
.mt-6 { margin-top: 24px !important; }
.mb-6 { margin-bottom: 24px !important; }
.mr-6 { margin-right: 24px !important; }
.ml-6 { margin-left: 24px !important; }
.mx-6 { margin-left: 24px !important; margin-right: 24px !important; }
.my-6 { margin-top: 24px !important; margin-bottom: 24px !important; }
.p-7 { padding: 32px !important; }
.pt-7 { padding-top: 32px !important; }
.pb-7 { padding-bottom: 32px !important; }
.pr-7 { padding-right: 32px !important; }
.pl-7 { padding-left: 32px !important; }
.px-7 { padding-left: 32px !important; padding-right: 32px !important; }
.py-7 { padding-top: 32px !important; padding-bottom: 32px !important; }
.m-7 { margin: 32px !important; }
.mt-7 { margin-top: 32px !important; }
.mb-7 { margin-bottom: 32px !important; }
.mr-7 { margin-right: 32px !important; }
.ml-7 { margin-left: 32px !important; }
.mx-7 { margin-left: 32px !important; margin-right: 32px !important; }
.my-7 { margin-top: 32px !important; margin-bottom: 32px !important; }
.p-8 { padding: 48px !important; }
.pt-8 { padding-top: 48px !important; }
.pb-8 { padding-bottom: 48px !important; }
.pr-8 { padding-right: 48px !important; }
.pl-8 { padding-left: 48px !important; }
.px-8 { padding-left: 48px !important; padding-right: 48px !important; }
.py-8 { padding-top: 48px !important; padding-bottom: 48px !important; }
.m-8 { margin: 48px !important; }
.mt-8 { margin-top: 48px !important; }
.mb-8 { margin-bottom: 48px !important; }
.mr-8 { margin-right: 48px !important; }
.ml-8 { margin-left: 48px !important; }
.mx-8 { margin-left: 48px !important; margin-right: 48px !important; }
.my-8 { margin-top: 48px !important; margin-bottom: 48px !important; }
.p-9 { padding: 70px !important; }
.pt-9 { padding-top: 70px !important; }
.pb-9 { padding-bottom: 70px !important; }
.pr-9 { padding-right: 70px !important; }
.pl-9 { padding-left: 70px !important; }
.px-9 { padding-left: 70px !important; padding-right: 70px !important; }
.py-9 { padding-top: 70px !important; padding-bottom: 70px !important; }
.m-9 { margin: 70px !important; }
.mt-9 { margin-top: 70px !important; }
.mb-9 { margin-bottom: 70px !important; }
.mr-9 { margin-right: 70px !important; }
.ml-9 { margin-left: 70px !important; }
.mx-9 { margin-left: 70px !important; margin-right: 70px !important; }
.my-9 { margin-top: 70px !important; margin-bottom: 70px !important; }
}
@media (max-width: 1199px) {
.p-0-md { padding: 0 !important; }
.pt-0-md { padding-top: 0 !important; }
.pb-0-md { padding-bottom: 0 !important; }
.pr-0-md { padding-right: 0 !important; }
.pl-0-md { padding-left: 0 !important; }
.px-0-md { padding-left: 0 !important; padding-right: 0 !important; }
.py-0-md { padding-top: 0 !important; padding-bottom: 0 !important; }
.m-0-md { margin: 0 !important; }
.mt-0-md { margin-top: 0 !important; }
.mb-0-md { margin-bottom: 0 !important; }
.mr-0-md { margin-right: 0 !important; }
.ml-0-md { margin-left: 0 !important; }
.mx-0-md { margin-left: 0 !important; margin-right: 0 !important; }
.my-0-md { margin-top: 0 !important; margin-bottom: 0 !important; }
.p-1-md { padding: 6px !important; }
.pt-1-md { padding-top: 6px !important; }
.pb-1-md { padding-bottom: 6px !important; }
.pr-1-md { padding-right: 6px !important; }
.pl-1-md { padding-left: 6px !important; }
.px-1-md { padding-left: 6px !important; padding-right: 6px !important; }
.py-1-md { padding-top: 6px !important; padding-bottom: 6px !important; }
.m-1-md { margin: 6px !important; }
.mt-1-md { margin-top: 6px !important; }
.mb-1-md { margin-bottom: 6px !important; }
.mr-1-md { margin-right: 6px !important; }
.ml-1-md { margin-left: 6px !important; }
.mx-1-md { margin-left: 6px !important; margin-right: 6px !important; }
.my-1-md { margin-top: 6px !important; margin-bottom: 6px !important; }
.p-2-md { padding: 12px !important; }
.pt-2-md { padding-top: 12px !important; }
.pb-2-md { padding-bottom: 12px !important; }
.pr-2-md { padding-right: 12px !important; }
.pl-2-md { padding-left: 12px !important; }
.px-2-md { padding-left: 12px !important; padding-right: 12px !important; }
.py-2-md { padding-top: 12px !important; padding-bottom: 12px !important; }
.m-2-md { margin: 12px !important; }
.mt-2-md { margin-top: 12px !important; }
.mb-2-md { margin-bottom: 12px !important; }
.mr-2-md { margin-right: 12px !important; }
.ml-2-md { margin-left: 12px !important; }
.mx-2-md { margin-left: 12px !important; margin-right: 12px !important; }
.my-2-md { margin-top: 12px !important; margin-bottom: 12px !important; }
.p-3-md { padding: 16px !important; }
.pt-3-md { padding-top: 16px !important; }
.pb-3-md { padding-bottom: 16px !important; }
.pr-3-md { padding-right: 16px !important; }
.pl-3-md { padding-left: 16px !important; }
.px-3-md { padding-left: 16px !important; padding-right: 16px !important; }
.py-3-md { padding-top: 16px !important; padding-bottom: 16px !important; }
.m-3-md { margin: 16px !important; }
.mt-3-md { margin-top: 16px !important; }
.mb-3-md { margin-bottom: 16px !important; }
.mr-3-md { margin-right: 16px !important; }
.ml-3-md { margin-left: 16px !important; }
.mx-3-md { margin-left: 16px !important; margin-right: 16px !important; }
.my-3-md { margin-top: 16px !important; margin-bottom: 16px !important; }
.p-4-md { padding: 24px !important; }
.pt-4-md { padding-top: 24px !important; }
.pb-4-md { padding-bottom: 24px !important; }
.pr-4-md { padding-right: 24px !important; }
.pl-4-md { padding-left: 24px !important; }
.px-4-md { padding-left: 24px !important; padding-right: 24px !important; }
.py-4-md { padding-top: 24px !important; padding-bottom: 24px !important; }
.m-4-md { margin: 24px !important; }
.mt-4-md { margin-top: 24px !important; }
.mb-4-md { margin-bottom: 24px !important; }
.mr-4-md { margin-right: 24px !important; }
.ml-4-md { margin-left: 24px !important; }
.mx-4-md { margin-left: 24px !important; margin-right: 24px !important; }
.my-4-md { margin-top: 24px !important; margin-bottom: 24px !important; }
.p-5-md { padding: 32px !important; }
.pt-5-md { padding-top: 32px !important; }
.pb-5-md { padding-bottom: 32px !important; }
.pr-5-md { padding-right: 32px !important; }
.pl-5-md { padding-left: 32px !important; }
.px-5-md { padding-left: 32px !important; padding-right: 32px !important; }
.py-5-md { padding-top: 32px !important; padding-bottom: 32px !important; }
.m-5-md { margin: 32px !important; }
.mt-5-md { margin-top: 32px !important; }
.mb-5-md { margin-bottom: 32px !important; }
.mr-5-md { margin-right: 32px !important; }
.ml-5-md { margin-left: 32px !important; }
.mx-5-md { margin-left: 32px !important; margin-right: 32px !important; }
.my-5-md { margin-top: 32px !important; margin-bottom: 32px !important; }
.p-6-md { padding: 48px !important; }
.pt-6-md { padding-top: 48px !important; }
.pb-6-md { padding-bottom: 48px !important; }
.pr-6-md { padding-right: 48px !important; }
.pl-6-md { padding-left: 48px !important; }
.px-6-md { padding-left: 48px !important; padding-right: 48px !important; }
.py-6-md { padding-top: 48px !important; padding-bottom: 48px !important; }
.m-6-md { margin: 48px !important; }
.mt-6-md { margin-top: 48px !important; }
.mb-6-md { margin-bottom: 48px !important; }
.mr-6-md { margin-right: 48px !important; }
.ml-6-md { margin-left: 48px !important; }
.mx-6-md { margin-left: 48px !important; margin-right: 48px !important; }
.my-6-md { margin-top: 48px !important; margin-bottom: 48px !important; }
.p-7-md { padding: 64px !important; }
.pt-7-md { padding-top: 64px !important; }
.pb-7-md { padding-bottom: 64px !important; }
.pr-7-md { padding-right: 64px !important; }
.pl-7-md { padding-left: 64px !important; }
.px-7-md { padding-left: 64px !important; padding-right: 64px !important; }
.py-7-md { padding-top: 64px !important; padding-bottom: 64px !important; }
.m-7-md { margin: 64px !important; }
.mt-7-md { margin-top: 64px !important; }
.mb-7-md { margin-bottom: 64px !important; }
.mr-7-md { margin-right: 64px !important; }
.ml-7-md { margin-left: 64px !important; }
.mx-7-md { margin-left: 64px !important; margin-right: 64px !important; }
.my-7-md { margin-top: 64px !important; margin-bottom: 64px !important; }
.p-8-md { padding: 96px !important; }
.pt-8-md { padding-top: 96px !important; }
.pb-8-md { padding-bottom: 96px !important; }
.pr-8-md { padding-right: 96px !important; }
.pl-8-md { padding-left: 96px !important; }
.px-8-md { padding-left: 96px !important; padding-right: 96px !important; }
.py-8-md { padding-top: 96px !important; padding-bottom: 96px !important; }
.m-8-md { margin: 96px !important; }
.mt-8-md { margin-top: 96px !important; }
.mb-8-md { margin-bottom: 96px !important; }
.mr-8-md { margin-right: 96px !important; }
.ml-8-md { margin-left: 96px !important; }
.mx-8-md { margin-left: 96px !important; margin-right: 96px !important; }
.my-8-md { margin-top: 96px !important; margin-bottom: 96px !important; }
.p-9-md { padding: 140px !important; }
.pt-9-md { padding-top: 140px !important; }
.pb-9-md { padding-bottom: 140px !important; }
.pr-9-md { padding-right: 140px !important; }
.pl-9-md { padding-left: 140px !important; }
.px-9-md { padding-left: 140px !important; padding-right: 140px !important; }
.py-9-md { padding-top: 140px !important; padding-bottom: 140px !important; }
.m-9-md { margin: 140px !important; }
.mt-9-md { margin-top: 140px !important; }
.mb-9-md { margin-bottom: 140px !important; }
.mr-9-md { margin-right: 140px !important; }
.ml-9-md { margin-left: 140px !important; }
.mx-9-md { margin-left: 140px !important; margin-right: 140px !important; }
.my-9-md { margin-top: 140px !important; margin-bottom: 140px !important; }
}
@media (max-width: 991px) {
.p-0-sm { padding: 0 !important; }
.pt-0-sm { padding-top: 0 !important; }
.pb-0-sm { padding-bottom: 0 !important; }
.pr-0-sm { padding-right: 0 !important; }
.pl-0-sm { padding-left: 0 !important; }
.px-0-sm { padding-left: 0 !important; padding-right: 0 !important; }
.py-0-sm { padding-top: 0 !important; padding-bottom: 0 !important; }
.m-0-sm { margin: 0 !important; }
.mt-0-sm { margin-top: 0 !important; }
.mb-0-sm { margin-bottom: 0 !important; }
.mr-0-sm { margin-right: 0 !important; }
.ml-0-sm { margin-left: 0 !important; }
.mx-0-sm { margin-left: 0 !important; margin-right: 0 !important; }
.my-0-sm { margin-top: 0 !important; margin-bottom: 0 !important; }
.p-1-sm { padding: 4.5px !important; }
.pt-1-sm { padding-top: 4.5px !important; }
.pb-1-sm { padding-bottom: 4.5px !important; }
.pr-1-sm { padding-right: 4.5px !important; }
.pl-1-sm { padding-left: 4.5px !important; }
.px-1-sm { padding-left: 4.5px !important; padding-right: 4.5px !important; }
.py-1-sm { padding-top: 4.5px !important; padding-bottom: 4.5px !important; }
.m-1-sm { margin: 4.5px !important; }
.mt-1-sm { margin-top: 4.5px !important; }
.mb-1-sm { margin-bottom: 4.5px !important; }
.mr-1-sm { margin-right: 4.5px !important; }
.ml-1-sm { margin-left: 4.5px !important; }
.mx-1-sm { margin-left: 4.5px !important; margin-right: 4.5px !important; }
.my-1-sm { margin-top: 4.5px !important; margin-bottom: 4.5px !important; }
.p-2-sm { padding: 9px !important; }
.pt-2-sm { padding-top: 9px !important; }
.pb-2-sm { padding-bottom: 9px !important; }
.pr-2-sm { padding-right: 9px !important; }
.pl-2-sm { padding-left: 9px !important; }
.px-2-sm { padding-left: 9px !important; padding-right: 9px !important; }
.py-2-sm { padding-top: 9px !important; padding-bottom: 9px !important; }
.m-2-sm { margin: 9px !important; }
.mt-2-sm { margin-top: 9px !important; }
.mb-2-sm { margin-bottom: 9px !important; }
.mr-2-sm { margin-right: 9px !important; }
.ml-2-sm { margin-left: 9px !important; }
.mx-2-sm { margin-left: 9px !important; margin-right: 9px !important; }
.my-2-sm { margin-top: 9px !important; margin-bottom: 9px !important; }
.p-3-sm { padding: 12px !important; }
.pt-3-sm { padding-top: 12px !important; }
.pb-3-sm { padding-bottom: 12px !important; }
.pr-3-sm { padding-right: 12px !important; }
.pl-3-sm { padding-left: 12px !important; }
.px-3-sm { padding-left: 12px !important; padding-right: 12px !important; }
.py-3-sm { padding-top: 12px !important; padding-bottom: 12px !important; }
.m-3-sm { margin: 12px !important; }
.mt-3-sm { margin-top: 12px !important; }
.mb-3-sm { margin-bottom: 12px !important; }
.mr-3-sm { margin-right: 12px !important; }
.ml-3-sm { margin-left: 12px !important; }
.mx-3-sm { margin-left: 12px !important; margin-right: 12px !important; }
.my-3-sm { margin-top: 12px !important; margin-bottom: 12px !important; }
.p-4-sm { padding: 18px !important; }
.pt-4-sm { padding-top: 18px !important; }
.pb-4-sm { padding-bottom: 18px !important; }
.pr-4-sm { padding-right: 18px !important; }
.pl-4-sm { padding-left: 18px !important; }
.px-4-sm { padding-left: 18px !important; padding-right: 18px !important; }
.py-4-sm { padding-top: 18px !important; padding-bottom: 18px !important; }
.m-4-sm { margin: 18px !important; }
.mt-4-sm { margin-top: 18px !important; }
.mb-4-sm { margin-bottom: 18px !important; }
.mr-4-sm { margin-right: 18px !important; }
.ml-4-sm { margin-left: 18px !important; }
.mx-4-sm { margin-left: 18px !important; margin-right: 18px !important; }
.my-4-sm { margin-top: 18px !important; margin-bottom: 18px !important; }
.p-5-sm { padding: 24px !important; }
.pt-5-sm { padding-top: 24px !important; }
.pb-5-sm { padding-bottom: 24px !important; }
.pr-5-sm { padding-right: 24px !important; }
.pl-5-sm { padding-left: 24px !important; }
.px-5-sm { padding-left: 24px !important; padding-right: 24px !important; }
.py-5-sm { padding-top: 24px !important; padding-bottom: 24px !important; }
.m-5-sm { margin: 24px !important; }
.mt-5-sm { margin-top: 24px !important; }
.mb-5-sm { margin-bottom: 24px !important; }
.mr-5-sm { margin-right: 24px !important; }
.ml-5-sm { margin-left: 24px !important; }
.mx-5-sm { margin-left: 24px !important; margin-right: 24px !important; }
.my-5-sm { margin-top: 24px !important; margin-bottom: 24px !important; }
.p-6-sm { padding: 36px !important; }
.pt-6-sm { padding-top: 36px !important; }
.pb-6-sm { padding-bottom: 36px !important; }
.pr-6-sm { padding-right: 36px !important; }
.pl-6-sm { padding-left: 36px !important; }
.px-6-sm { padding-left: 36px !important; padding-right: 36px !important; }
.py-6-sm { padding-top: 36px !important; padding-bottom: 36px !important; }
.m-6-sm { margin: 36px !important; }
.mt-6-sm { margin-top: 36px !important; }
.mb-6-sm { margin-bottom: 36px !important; }
.mr-6-sm { margin-right: 36px !important; }
.ml-6-sm { margin-left: 36px !important; }
.mx-6-sm { margin-left: 36px !important; margin-right: 36px !important; }
.my-6-sm { margin-top: 36px !important; margin-bottom: 36px !important; }
.p-7-sm { padding: 48px !important; }
.pt-7-sm { padding-top: 48px !important; }
.pb-7-sm { padding-bottom: 48px !important; }
.pr-7-sm { padding-right: 48px !important; }
.pl-7-sm { padding-left: 48px !important; }
.px-7-sm { padding-left: 48px !important; padding-right: 48px !important; }
.py-7-sm { padding-top: 48px !important; padding-bottom: 48px !important; }
.m-7-sm { margin: 48px !important; }
.mt-7-sm { margin-top: 48px !important; }
.mb-7-sm { margin-bottom: 48px !important; }
.mr-7-sm { margin-right: 48px !important; }
.ml-7-sm { margin-left: 48px !important; }
.mx-7-sm { margin-left: 48px !important; margin-right: 48px !important; }
.my-7-sm { margin-top: 48px !important; margin-bottom: 48px !important; }
.p-8-sm { padding: 72px !important; }
.pt-8-sm { padding-top: 72px !important; }
.pb-8-sm { padding-bottom: 72px !important; }
.pr-8-sm { padding-right: 72px !important; }
.pl-8-sm { padding-left: 72px !important; }
.px-8-sm { padding-left: 72px !important; padding-right: 72px !important; }
.py-8-sm { padding-top: 72px !important; padding-bottom: 72px !important; }
.m-8-sm { margin: 72px !important; }
.mt-8-sm { margin-top: 72px !important; }
.mb-8-sm { margin-bottom: 72px !important; }
.mr-8-sm { margin-right: 72px !important; }
.ml-8-sm { margin-left: 72px !important; }
.mx-8-sm { margin-left: 72px !important; margin-right: 72px !important; }
.my-8-sm { margin-top: 72px !important; margin-bottom: 72px !important; }
.p-9-sm { padding: 105px !important; }
.pt-9-sm { padding-top: 105px !important; }
.pb-9-sm { padding-bottom: 105px !important; }
.pr-9-sm { padding-right: 105px !important; }
.pl-9-sm { padding-left: 105px !important; }
.px-9-sm { padding-left: 105px !important; padding-right: 105px !important; }
.py-9-sm { padding-top: 105px !important; padding-bottom: 105px !important; }
.m-9-sm { margin: 105px !important; }
.mt-9-sm { margin-top: 105px !important; }
.mb-9-sm { margin-bottom: 105px !important; }
.mr-9-sm { margin-right: 105px !important; }
.ml-9-sm { margin-left: 105px !important; }
.mx-9-sm { margin-left: 105px !important; margin-right: 105px !important; }
.my-9-sm { margin-top: 105px !important; margin-bottom: 105px !important; }
}
@media (max-width: 767px) {
.p-0-xs { padding: 0 !important; }
.pt-0-xs { padding-top: 0 !important; }
.pb-0-xs { padding-bottom: 0 !important; }
.pr-0-xs { padding-right: 0 !important; }
.pl-0-xs { padding-left: 0 !important; }
.px-0-xs { padding-left: 0 !important; padding-right: 0 !important; }
.py-0-xs { padding-top: 0 !important; padding-bottom: 0 !important; }
.m-0-xs { margin: 0 !important; }
.mt-0-xs { margin-top: 0 !important; }
.mb-0-xs { margin-bottom: 0 !important; }
.mr-0-xs { margin-right: 0 !important; }
.ml-0-xs { margin-left: 0 !important; }
.mx-0-xs { margin-left: 0 !important; margin-right: 0 !important; }
.my-0-xs { margin-top: 0 !important; margin-bottom: 0 !important; }
.p-1-xs { padding: 3px !important; }
.pt-1-xs { padding-top: 3px !important; }
.pb-1-xs { padding-bottom: 3px !important; }
.pr-1-xs { padding-right: 3px !important; }
.pl-1-xs { padding-left: 3px !important; }
.px-1-xs { padding-left: 3px !important; padding-right: 3px !important; }
.py-1-xs { padding-top: 3px !important; padding-bottom: 3px !important; }
.m-1-xs { margin: 3px !important; }
.mt-1-xs { margin-top: 3px !important; }
.mb-1-xs { margin-bottom: 3px !important; }
.mr-1-xs { margin-right: 3px !important; }
.ml-1-xs { margin-left: 3px !important; }
.mx-1-xs { margin-left: 3px !important; margin-right: 3px !important; }
.my-1-xs { margin-top: 3px !important; margin-bottom: 3px !important; }
.p-2-xs { padding: 6px !important; }
.pt-2-xs { padding-top: 6px !important; }
.pb-2-xs { padding-bottom: 6px !important; }
.pr-2-xs { padding-right: 6px !important; }
.pl-2-xs { padding-left: 6px !important; }
.px-2-xs { padding-left: 6px !important; padding-right: 6px !important; }
.py-2-xs { padding-top: 6px !important; padding-bottom: 6px !important; }
.m-2-xs { margin: 6px !important; }
.mt-2-xs { margin-top: 6px !important; }
.mb-2-xs { margin-bottom: 6px !important; }
.mr-2-xs { margin-right: 6px !important; }
.ml-2-xs { margin-left: 6px !important; }
.mx-2-xs { margin-left: 6px !important; margin-right: 6px !important; }
.my-2-xs { margin-top: 6px !important; margin-bottom: 6px !important; }
.p-3-xs { padding: 8px !important; }
.pt-3-xs { padding-top: 8px !important; }
.pb-3-xs { padding-bottom: 8px !important; }
.pr-3-xs { padding-right: 8px !important; }
.pl-3-xs { padding-left: 8px !important; }
.px-3-xs { padding-left: 8px !important; padding-right: 8px !important; }
.py-3-xs { padding-top: 8px !important; padding-bottom: 8px !important; }
.m-3-xs { margin: 8px !important; }
.mt-3-xs { margin-top: 8px !important; }
.mb-3-xs { margin-bottom: 8px !important; }
.mr-3-xs { margin-right: 8px !important; }
.ml-3-xs { margin-left: 8px !important; }
.mx-3-xs { margin-left: 8px !important; margin-right: 8px !important; }
.my-3-xs { margin-top: 8px !important; margin-bottom: 8px !important; }
.p-4-xs { padding: 12px !important; }
.pt-4-xs { padding-top: 12px !important; }
.pb-4-xs { padding-bottom: 12px !important; }
.pr-4-xs { padding-right: 12px !important; }
.pl-4-xs { padding-left: 12px !important; }
.px-4-xs { padding-left: 12px !important; padding-right: 12px !important; }
.py-4-xs { padding-top: 12px !important; padding-bottom: 12px !important; }
.m-4-xs { margin: 12px !important; }
.mt-4-xs { margin-top: 12px !important; }
.mb-4-xs { margin-bottom: 12px !important; }
.mr-4-xs { margin-right: 12px !important; }
.ml-4-xs { margin-left: 12px !important; }
.mx-4-xs { margin-left: 12px !important; margin-right: 12px !important; }
.my-4-xs { margin-top: 12px !important; margin-bottom: 12px !important; }
.p-5-xs { padding: 16px !important; }
.pt-5-xs { padding-top: 16px !important; }
.pb-5-xs { padding-bottom: 16px !important; }
.pr-5-xs { padding-right: 16px !important; }
.pl-5-xs { padding-left: 16px !important; }
.px-5-xs { padding-left: 16px !important; padding-right: 16px !important; }
.py-5-xs { padding-top: 16px !important; padding-bottom: 16px !important; }
.m-5-xs { margin: 16px !important; }
.mt-5-xs { margin-top: 16px !important; }
.mb-5-xs { margin-bottom: 16px !important; }
.mr-5-xs { margin-right: 16px !important; }
.ml-5-xs { margin-left: 16px !important; }
.mx-5-xs { margin-left: 16px !important; margin-right: 16px !important; }
.my-5-xs { margin-top: 16px !important; margin-bottom: 16px !important; }
.p-6-xs { padding: 24px !important; }
.pt-6-xs { padding-top: 24px !important; }
.pb-6-xs { padding-bottom: 24px !important; }
.pr-6-xs { padding-right: 24px !important; }
.pl-6-xs { padding-left: 24px !important; }
.px-6-xs { padding-left: 24px !important; padding-right: 24px !important; }
.py-6-xs { padding-top: 24px !important; padding-bottom: 24px !important; }
.m-6-xs { margin: 24px !important; }
.mt-6-xs { margin-top: 24px !important; }
.mb-6-xs { margin-bottom: 24px !important; }
.mr-6-xs { margin-right: 24px !important; }
.ml-6-xs { margin-left: 24px !important; }
.mx-6-xs { margin-left: 24px !important; margin-right: 24px !important; }
.my-6-xs { margin-top: 24px !important; margin-bottom: 24px !important; }
.p-7-xs { padding: 32px !important; }
.pt-7-xs { padding-top: 32px !important; }
.pb-7-xs { padding-bottom: 32px !important; }
.pr-7-xs { padding-right: 32px !important; }
.pl-7-xs { padding-left: 32px !important; }
.px-7-xs { padding-left: 32px !important; padding-right: 32px !important; }
.py-7-xs { padding-top: 32px !important; padding-bottom: 32px !important; }
.m-7-xs { margin: 32px !important; }
.mt-7-xs { margin-top: 32px !important; }
.mb-7-xs { margin-bottom: 32px !important; }
.mr-7-xs { margin-right: 32px !important; }
.ml-7-xs { margin-left: 32px !important; }
.mx-7-xs { margin-left: 32px !important; margin-right: 32px !important; }
.my-7-xs { margin-top: 32px !important; margin-bottom: 32px !important; }
.p-8-xs { padding: 48px !important; }
.pt-8-xs { padding-top: 48px !important; }
.pb-8-xs { padding-bottom: 48px !important; }
.pr-8-xs { padding-right: 48px !important; }
.pl-8-xs { padding-left: 48px !important; }
.px-8-xs { padding-left: 48px !important; padding-right: 48px !important; }
.py-8-xs { padding-top: 48px !important; padding-bottom: 48px !important; }
.m-8-xs { margin: 48px !important; }
.mt-8-xs { margin-top: 48px !important; }
.mb-8-xs { margin-bottom: 48px !important; }
.mr-8-xs { margin-right: 48px !important; }
.ml-8-xs { margin-left: 48px !important; }
.mx-8-xs { margin-left: 48px !important; margin-right: 48px !important; }
.my-8-xs { margin-top: 48px !important; margin-bottom: 48px !important; }
.p-9-xs { padding: 70px !important; }
.pt-9-xs { padding-top: 70px !important; }
.pb-9-xs { padding-bottom: 70px !important; }
.pr-9-xs { padding-right: 70px !important; }
.pl-9-xs { padding-left: 70px !important; }
.px-9-xs { padding-left: 70px !important; padding-right: 70px !important; }
.py-9-xs { padding-top: 70px !important; padding-bottom: 70px !important; }
.m-9-xs { margin: 70px !important; }
.mt-9-xs { margin-top: 70px !important; }
.mb-9-xs { margin-bottom: 70px !important; }
.mr-9-xs { margin-right: 70px !important; }
.ml-9-xs { margin-left: 70px !important; }
.mx-9-xs { margin-left: 70px !important; margin-right: 70px !important; }
.my-9-xs { margin-top: 70px !important; margin-bottom: 70px !important; }
}
/* ---------- Flex utilities ---------- */
.flex-row { display: flex; flex-flow: row nowrap; }
.flex-row-wrap { display: flex; flex-flow: row wrap; }
.flex-row-reverse { display: flex; flex-flow: row-reverse nowrap; }
.flex-row-reverse-wrap { display: flex; flex-flow: row-reverse wrap; }
.flex-column { display: flex; flex-flow: column nowrap; }
.flex-column-wrap { display: flex; flex-flow: column wrap; }
.flex-column-reverse { display: flex; flex-flow: column-reverse nowrap; }
.flex-column-reverse-wrap { display: flex; flex-flow: column-reverse wrap; }
.flex-justify-start { justify-content: flex-start !important; }
.flex-justify-end { justify-content: flex-end !important; }
.flex-justify-center { justify-content: center !important; }
.flex-justify-space-between { justify-content: space-between !important; }
.flex-justify-space-around { justify-content: space-around !important; }
.flex-justify-none { justify-content: unset !important; }
.flex-align-start { align-items: flex-start !important; }
.flex-align-end { align-items: flex-end !important; }
.flex-align-center { align-items: center !important; }
.flex-align-baseline { align-items: baseline !important; }
.flex-align-stretch { align-items: stretch !important; }
.flex-align-none { align-items: unset !important; }
@media (max-width: 1199px) {
.flex-row-md { display: flex; flex-flow: row nowrap; }
.flex-row-wrap-md { display: flex; flex-flow: row wrap; }
.flex-row-reverse-md { display: flex; flex-flow: row-reverse nowrap; }
.flex-row-reverse-wrap-md { display: flex; flex-flow: row-reverse wrap; }
.flex-column-md { display: flex; flex-flow: column nowrap; }
.flex-column-wrap-md { display: flex; flex-flow: column wrap; }
.flex-column-reverse-md { display: flex; flex-flow: column-reverse nowrap; }
.flex-column-reverse-wrap-md { display: flex; flex-flow: column-reverse wrap; }
.flex-justify-start-md { justify-content: flex-start !important; }
.flex-justify-end-md { justify-content: flex-end !important; }
.flex-justify-center-md { justify-content: center !important; }
.flex-justify-space-between-md { justify-content: space-between !important; }
.flex-justify-space-around-md { justify-content: space-around !important; }
.flex-justify-none-md { justify-content: unset !important; }
.flex-align-start-md { align-items: flex-start !important; }
.flex-align-end-md { align-items: flex-end !important; }
.flex-align-center-md { align-items: center !important; }
.flex-align-baseline-md { align-items: baseline !important; }
.flex-align-stretch-md { align-items: stretch !important; }
.flex-align-none-md { align-items: unset !important; }
}
@media (max-width: 991px) {
.flex-row-sm { display: flex; flex-flow: row nowrap; }
.flex-row-wrap-sm { display: flex; flex-flow: row wrap; }
.flex-row-reverse-sm { display: flex; flex-flow: row-reverse nowrap; }
.flex-row-reverse-wrap-sm { display: flex; flex-flow: row-reverse wrap; }
.flex-column-sm { display: flex; flex-flow: column nowrap; }
.flex-column-wrap-sm { display: flex; flex-flow: column wrap; }
.flex-column-reverse-sm { display: flex; flex-flow: column-reverse nowrap; }
.flex-column-reverse-wrap-sm { display: flex; flex-flow: column-reverse wrap; }
.flex-justify-start-sm { justify-content: flex-start !important; }
.flex-justify-end-sm { justify-content: flex-end !important; }
.flex-justify-center-sm { justify-content: center !important; }
.flex-justify-space-between-sm { justify-content: space-between !important; }
.flex-justify-space-around-sm { justify-content: space-around !important; }
.flex-justify-none-sm { justify-content: unset !important; }
.flex-align-start-sm { align-items: flex-start !important; }
.flex-align-end-sm { align-items: flex-end !important; }
.flex-align-center-sm { align-items: center !important; }
.flex-align-baseline-sm { align-items: baseline !important; }
.flex-align-stretch-sm { align-items: stretch !important; }
.flex-align-none-sm { align-items: unset !important; }
}
@media (max-width: 767px) {
.flex-row-xs { display: flex; flex-flow: row nowrap; }
.flex-row-wrap-xs { display: flex; flex-flow: row wrap; }
.flex-row-reverse-xs { display: flex; flex-flow: row-reverse nowrap; }
.flex-row-reverse-wrap-xs { display: flex; flex-flow: row-reverse wrap; }
.flex-column-xs { display: flex; flex-flow: column nowrap; }
.flex-column-wrap-xs { display: flex; flex-flow: column wrap; }
.flex-column-reverse-xs { display: flex; flex-flow: column-reverse nowrap; }
.flex-column-reverse-wrap-xs { display: flex; flex-flow: column-reverse wrap; }
.flex-justify-start-xs { justify-content: flex-start !important; }
.flex-justify-end-xs { justify-content: flex-end !important; }
.flex-justify-center-xs { justify-content: center !important; }
.flex-justify-space-between-xs { justify-content: space-between !important; }
.flex-justify-space-around-xs { justify-content: space-around !important; }
.flex-justify-none-xs { justify-content: unset !important; }
.flex-align-start-xs { align-items: flex-start !important; }
.flex-align-end-xs { align-items: flex-end !important; }
.flex-align-center-xs { align-items: center !important; }
.flex-align-baseline-xs { align-items: baseline !important; }
.flex-align-stretch-xs { align-items: stretch !important; }
.flex-align-none-xs { align-items: unset !important; }
}
.flex-row > [class^=col] { flex-shrink: 0; }
.col-flex { flex: 1; padding-left: 10px; padding-right: 10px; }
.flex-grow { flex-grow: 1; }
.flex-left-top { justify-content: flex-start; align-items: flex-start; }
.flex-left-center { justify-content: flex-start; align-items: center; }
.flex-left-bottom { justify-content: flex-start; align-items: flex-end; }
.flex-center-top { justify-content: center; align-items: flex-start; }
.flex-center-center { justify-content: center; align-items: center; }
.flex-center-bottom { justify-content: center; align-items: flex-end; }
.flex-right-top { justify-content: flex-end; align-items: flex-start; }
.flex-right-center { justify-content: flex-end; align-items: center; }
.flex-right-bottom { justify-content: flex-end; align-items: flex-end; }
/* ---------- Grid list ---------- */
.grid-list { display: flex; flex-flow: row wrap; margin: 0 -10px; list-style: none; padding: 0; }
.grid-list__item { padding: 10px; }
.grid-list--2 .grid-list__item { width: 50%; }
.grid-list--3 .grid-list__item { width: 33.3333%; }
.grid-list--4 .grid-list__item { width: 25%; }
.grid-list--5 .grid-list__item { width: 20%; }
.grid-list--6 .grid-list__item { width: 16.6667%; }
.grid-list--7 .grid-list__item { width: 14.2857%; }
.grid-list--8 .grid-list__item { width: 12.5%; }
.grid-list--9 .grid-list__item { width: 11.1111%; }
.grid-list--10 .grid-list__item { width: 10%; }
@media (max-width: 1199px) {
.grid-list--2-md .grid-list__item { width: 50%; }
.grid-list--3-md .grid-list__item { width: 33.3333%; }
.grid-list--4-md .grid-list__item { width: 25%; }
.grid-list--5-md .grid-list__item { width: 20%; }
.grid-list--6-md .grid-list__item { width: 16.6667%; }
.grid-list--7-md .grid-list__item { width: 14.2857%; }
.grid-list--8-md .grid-list__item { width: 12.5%; }
.grid-list--9-md .grid-list__item { width: 11.1111%; }
.grid-list--10-md .grid-list__item { width: 10%; }
}
@media (max-width: 991px) {
.grid-list--2-sm .grid-list__item { width: 50%; }
.grid-list--3-sm .grid-list__item { width: 33.3333%; }
.grid-list--4-sm .grid-list__item { width: 25%; }
.grid-list--5-sm .grid-list__item { width: 20%; }
.grid-list--6-sm .grid-list__item { width: 16.6667%; }
.grid-list--7-sm .grid-list__item { width: 14.2857%; }
.grid-list--8-sm .grid-list__item { width: 12.5%; }
.grid-list--9-sm .grid-list__item { width: 11.1111%; }
.grid-list--10-sm .grid-list__item { width: 10%; }
}
@media (max-width: 767px) {
.grid-list--2-xs .grid-list__item { width: 50%; }
.grid-list--3-xs .grid-list__item { width: 33.3333%; }
.grid-list--4-xs .grid-list__item { width: 25%; }
.grid-list--5-xs .grid-list__item { width: 20%; }
.grid-list--6-xs .grid-list__item { width: 16.6667%; }
.grid-list--7-xs .grid-list__item { width: 14.2857%; }
.grid-list--8-xs .grid-list__item { width: 12.5%; }
.grid-list--9-xs .grid-list__item { width: 11.1111%; }
.grid-list--10-xs .grid-list__item { width: 10%; }
}