 
:root {
  --abafg-color-primary: #14854F;
  --abafg-color-lightGrey: #d2d6dd;
  --abafg-color-grey: #747681;
  --abafg-color-darkGrey: #3f4144;
  --abafg-color-lightGrey: #F3F4F6;
  --abafg-color-dark-red: #8E0413;
  --abafg-color-black: #151515;
  --abafg-color-error: #d43939;
  --abafg-color-success: #28bd14;
  --abafg-grid-maxWidth: 120rem;
  --abafg-grid-gutter: 1rem;
  --abafg-font-size: 1rem;
  --abafg-h1-font-size: clamp(2.4rem,calc(2.4rem + ((1vw - 0.32rem) * 7.8351)),10rem);
  --abafg-h1-line-height: 1.3em;
  --abafg-h2-font-size: clamp(2rem,calc(2rem + ((1vw - 0.32rem) * 6.1856)),8rem);
  --abafg-h2-line-height: 1.3em;
  --abafg-h3-font-size: clamp(1.8rem,calc(1.8rem + ((1vw - 0.32rem) * 4.3299)),6rem);
  --abafg-h3-line-height: 1.3em;
  --abafg-h4-font-size: clamp(1.4rem,calc(1.4rem + ((1vw - 0.32rem) * 2.6804)),4rem);
  --abafg-h4-line-height: 1.3em;
  --abafg-h5-font-size: clamp(1.4rem,calc(1.4rem + ((1vw - 0.32rem) * 2.6804)),4rem);
  --abafg-h5-line-height: 1.3em;
  --abafg-h6-font-size: clamp(1.4rem,calc(1.4rem + ((1vw - 0.32rem) * 2.6804)),4rem);
  --abafg-h6-line-height: 1.3em;
  --abafg-p-font-size: clamp(1.4rem,calc(1.4rem + ((1vw - 0.32rem) * 0.4124)),1.8rem);
  --abafg-p-line-height: 1.3em;
  --abafg-font-color: #333333;
  --abafg-spacing-xxs: 4px;
  --abafg-spacing-xs: 8px;
  --abafg-spacing-s: 16px;
  --abafg-spacing-m: 24px;
  --abafg-spacing-l: 32px;
  --abafg-spacing-xl: 40px;
  --abafg-spacing-xxl: 48px;
  --abafg-spacing-xxxl: 64px;
}

/* ─── Container ─────────────────────────────────────────── */
.abafg-container {
  max-width: var(--abafg-grid-maxWidth);
  margin: 0 auto;
  width: 96%;
  padding: 0 calc(var(--abafg-grid-gutter) / 2);
}

/* ─── Flex ─────────────────────────────────────────── */
.abafg-flex-row {
  flex-direction: row !important;
}

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

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

/* ─── Row (griglia 12 colonne) ──────────────────────────── */
.abafg-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--abafg-grid-gutter);
}

.abafg-row.abafg-reverse {
  direction: rtl; /* inverte l'ordine visivo */
}

/* ─── Colonne mobile-first (default) ────────────────────── */
/* Di default ogni colonna occupa tutta la larghezza */
[class*="col-"] {
  grid-column-end: span 12;
}

.abafg-col-1  { grid-column-end: span 1; }
.abafg-col-2  { grid-column-end: span 2; }
.abafg-col-3  { grid-column-end: span 3; }
.abafg-col-4  { grid-column-end: span 4; }
.abafg-col-5  { grid-column-end: span 5; }
.abafg-col-6  { grid-column-end: span 6; }
.abafg-col-7  { grid-column-end: span 7; }
.abafg-col-8  { grid-column-end: span 8; }
.abafg-col-9  { grid-column-end: span 9; }
.abafg-col-10 { grid-column-end: span 10; }
.abafg-col-11 { grid-column-end: span 11; }
.abafg-col-12 { grid-column-end: span 12; }

/* ─── Tablet (min 900px) ─────────────────────────────────── */
@media screen and (min-width: 900px) {
  .abafg-col-1-md  { grid-column-end: span 1; }
  .abafg-col-2-md  { grid-column-end: span 2; }
  .abafg-col-3-md  { grid-column-end: span 3; }
  .abafg-col-4-md  { grid-column-end: span 4; }
  .abafg-col-5-md  { grid-column-end: span 5; }
  .abafg-col-6-md  { grid-column-end: span 6; }
  .abafg-col-7-md  { grid-column-end: span 7; }
  .abafg-col-8-md  { grid-column-end: span 8; }
  .abafg-col-9-md  { grid-column-end: span 9; }
  .abafg-col-10-md { grid-column-end: span 10; }
  .abafg-col-11-md { grid-column-end: span 11; }
  .abafg-col-12-md { grid-column-end: span 12; }
}

/* ─── Desktop (min 1200px) ───────────────────────────────── */
@media screen and (min-width: 1200px) {
  .abafg-col-1-lg  { grid-column-end: span 1; }
  .abafg-col-2-lg  { grid-column-end: span 2; }
  .abafg-col-3-lg  { grid-column-end: span 3; }
  .abafg-col-4-lg  { grid-column-end: span 4; }
  .abafg-col-5-lg  { grid-column-end: span 5; }
  .abafg-col-6-lg  { grid-column-end: span 6; }
  .abafg-col-7-lg  { grid-column-end: span 7; }
  .abafg-col-8-lg  { grid-column-end: span 8; }
  .abafg-col-9-lg  { grid-column-end: span 9; }
  .abafg-col-10-lg { grid-column-end: span 10; }
  .abafg-col-11-lg { grid-column-end: span 11; }
  .abafg-col-12-lg { grid-column-end: span 12; }
}

@media screen and (min-width: 1200px) {
  .abafg-abafg-offset-1-lg { grid-column-start: 2; }
  .abafg-abafg-offset-2-lg { grid-column-start: 3; }
  .abafg-abafg-offset-3-lg { grid-column-start: 4; }
  .abafg-abafg-offset-4-lg { grid-column-start: 5; }
  .abafg-abafg-offset-5-lg { grid-column-start: 6; }
  .abafg-abafg-offset-6-lg { grid-column-start: 7; }
  .abafg-abafg-offset-7-lg { grid-column-start: 8; }
  .abafg-abafg-offset-8-lg { grid-column-start: 9; }
  .abafg-abafg-offset-9-lg { grid-column-start: 10; }
  .abafg-abafg-offset-10-lg { grid-column-start: 11; }
  .abafg-abafg-offset-11-lg { grid-column-start: 12; }
}

/* ─── Mobile: tutto full width sotto 599px ───────────────── */
@media screen and (max-width: 599px) {
  .abafg-container {
    width: 100%;
  }

  [class*="col-"] {
    grid-column-end: span 12;
  }
}


.abafg-text-white {
    color: #fff !important;
}

/**
Position & alignment 
*/
.abafg-pull-right {
    float: right !important;
}
.abafg-pull-left {
    float: left !important;
}
.abafg-text-center {
    text-align: center;
}
.abafg-text-left {
    text-align: left;
}
.abafg-text-right {
    text-align: right;
}
.abafg-text-justify {
    text-align: justify;
}
.abafg-text-uppercase {
    text-transform: uppercase;
}
.abafg-text-lowercase {
    text-transform: lowercase;
}
.abafg-text-capitalize {
    text-transform: capitalize;
}
.abafg-is-full-screen {
    width: 100%;
    min-height: 100vh;
}
.abafg-is-full-width {
    width: 100% !important;
}
.abafg-is-vertical-align {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.abafg-is-horizontal-align {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.abafg-is-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.abafg-is-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}
.abafg-is-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}
.abafg-is-fixed {
    position: fixed;
    width: 100%;
}
.abafg-is-paddingless {
    padding: 0 !important;
}
.abafg-is-marginless {
    margin: 0 !important;
}
.abafg-is-pointer {
    cursor: pointer !important;
}
.abafg-is-rounded {
    border-radius: 100%;
}
.abafg-clearfix {
    content: "";
    display: table;
    clear: both;
}
.abafg-is-hidden {
    display: none !important;
}
@media screen and (max-width: 599px) {
    .abafg-hide-xs {
        display: none !important;
    }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
    .abafg-hide-sm {
        display: none !important;
    }
}
@media screen and (min-width: 900px) and (max-width: 1199px) {
    .abafg-hide-md {
        display: none !important;
    }
}
@media screen and (min-width: 1200px) {
    .abafg-hide-lg {
        display: none !important;
    }
}
@media print {
    .abafg-hide-pr {
        display: none !important;
    }
}

/**
Typography
*/
.abafg-p {
  font-size: var(--abafg-p-font-size);
  line-height: var(--abafg-p-line-height);
}
.abafg-h1 {
  font-size: var(--abafg-h1-font-size);
  line-height: var(--abafg-h1-line-height);
}
.abafg-h2 {
  font-size: var(--abafg-h2-font-size);
  line-height: var(--abafg-h2-line-height);
}
.abafg-h3 {
  font-size: var(--abafg-h3-font-size);
  line-height: var(--abafg-h3-line-height);
}
.abafg-h4 {
  font-size: var(--abafg-h4-font-size);
  line-height: var(--abafg-h4-line-height);
}
.abafg-h5 {
  font-size: var(--abafg-h5-font-size);
  line-height: var(--abafg-h5-line-height);
}
.abafg-h6 {
  font-size: var(--abafg-h6-font-size);
  line-height: var(--abafg-h6-line-height);
}

/**
Margin & Padding
*/
.abafg-m-0 {
  margin: 0;
}
.abafg-m-xs {
  margin: var(--abafg-spacing-xs);
}
.abafg-m-s {
  margin: var(--abafg-spacing-s);
}
.abafg-m-m {
  margin: var(--abafg-spacing-m);
}
.abafg-m-l {
  margin: var(--abafg-spacing-l);
}
.abafg-m-xl {
  margin: var(--abafg-spacing-xl);
}
.abafg-m-xxl {
  margin: var(--abafg-spacing-xxl);
}

.abafg-mt-0 {
  margin-top: 0;
}
.abafg-mt-xs {
  margin-top: var(--abafg-spacing-xs);
}
.abafg-mt-s {
  margin-top: var(--abafg-spacing-s);
}
.abafg-mt-m {
  margin-top: var(--abafg-spacing-m);
}
.abafg-mt-l {
  margin-top: var(--abafg-spacing-l);
}
.abafg-mt-xl {
  margin-top: var(--abafg-spacing-xl);
}
.abafg-mt-xxl {
  margin-top: var(--abafg-spacing-xxl);
}

.abafg-mr-0 {
  margin-right: 0;
}
.abafg-mr-xs {
  margin-right: var(--abafg-spacing-xs);
}
.abafg-mr-s {
  margin-right: var(--abafg-spacing-s);
}
.abafg-mr-m {
  margin-right: var(--abafg-spacing-m);
}
.abafg-mr-l {
  margin-right: var(--abafg-spacing-l);
}
.abafg-mr-xl {
  margin-right: var(--abafg-spacing-xl);
}
.abafg-mr-xxl {
  margin-right: var(--abafg-spacing-xxl);
}

.abafg-mb-0 {
  margin-bottom: 0;
}
.abafg-mb-xs {
  margin-bottom: var(--abafg-spacing-xs);
}
.abafg-mb-s {
  margin-bottom: var(--abafg-spacing-s);
}
.abafg-mb-m {
  margin-bottom: var(--abafg-spacing-m);
}
.abafg-mb-l {
  margin-bottom: var(--abafg-spacing-l);
}
.abafg-mb-xl {
  margin-bottom: var(--abafg-spacing-xl);
}
.abafg-mb-xxl {
  margin-bottom: var(--abafg-spacing-xxl);
}
.abafg-mb-xxxl {
  margin-bottom: var(--abafg-spacing-xxxl);
}

.abafg-ml-0 {
  margin-left: 0;
}
.abafg-ml-xs {
  margin-left: var(--abafg-spacing-xs);
}
.abafg-ml-s {
  margin-left: var(--abafg-spacing-s);
}
.abafg-ml-m {
  margin-left: var(--abafg-spacing-m);
}
.abafg-ml-l {
  margin-left: var(--abafg-spacing-l);
}
.abafg-ml-xl {
  margin-left: var(--abafg-spacing-xl);
}
.abafg-ml-xxl {
  margin-left: var(--abafg-spacing-xxl);
}
.abafg-ml-xxl {
  margin-left: var(--abafg-spacing-xxxl);
}

.abafg-p-0 {
  padding: 0;
}
.abafg-p-xs {
  padding: var(--abafg-spacing-xs);
}
.abafg-p-s {
  padding: var(--abafg-spacing-s);
}
.abafg-p-m {
  padding: var(--abafg-spacing-m);
}
.abafg-p-l {
  padding: var(--abafg-spacing-l);
}
.abafg-p-xl {
  padding: var(--abafg-spacing-xl);
}
.abafg-p-xxl {
  padding: var(--abafg-spacing-xxl);
}
.abafg-p-xxl {
  padding: var(--abafg-spacing-xxxl);
}

.abafg-pt-0 {
  padding-top: 0;
}
.abafg-pt-xs {
  padding-top: var(--abafg-spacing-xs);
}
.abafg-pt-s {
  padding-top: var(--abafg-spacing-s);
}
.abafg-pt-m {
  padding-top: var(--abafg-spacing-m);
}
.abafg-pt-l {
  padding-top: var(--abafg-spacing-l);
}
.abafg-pt-xl {
  padding-top: var(--abafg-spacing-xl);
}
.abafg-pt-xxl {
  padding-top: var(--abafg-spacing-xxl);
}
.abafg-pt-xxl {
  padding-top: var(--abafg-spacing-xxxl);
}

.abafg-pr-0 {
  padding-right: 0;
}
.abafg-pr-xs {
  padding-right: var(--abafg-spacing-xs);
}
.abafg-pr-s {
  padding-right: var(--abafg-spacing-s);
}
.abafg-pr-m {
  padding-right: var(--abafg-spacing-m);
}
.abafg-pr-l {
  padding-right: var(--abafg-spacing-l);
}
.abafg-pr-xl {
  padding-right: var(--abafg-spacing-xl);
}
.abafg-pr-xxl {
  padding-right: var(--abafg-spacing-xxl);
}
.abafg-pr-xxl {
  padding-right: var(--abafg-spacing-xxxl);
}

.abafg-pb-0 {
  padding-bottom: 0;
}
.abafg-pb-xs {
  padding-bottom: var(--abafg-spacing-xs);
}
.abafg-pb-s {
  padding-bottom: var(--abafg-spacing-s);
}
.abafg-pb-m {
  padding-bottom: var(--abafg-spacing-m);
}
.abafg-pb-l {
  padding-bottom: var(--abafg-spacing-l);
}
.abafg-pb-xl {
  padding-bottom: var(--abafg-spacing-xl);
}
.abafg-pb-xxl {
  padding-bottom: var(--abafg-spacing-xxl);
}
.abafg-pb-xxl {
  padding-bottom: var(--abafg-spacing-xxxl);
}

.abafg-pl-0 {
  padding-left: 0;
}
.abafg-pl-xs {
  padding-left: var(--abafg-spacing-xs);
}
.abafg-pl-s {
  padding-left: var(--abafg-spacing-s);
}
.abafg-pl-m {
  padding-left: var(--abafg-spacing-m);
}
.abafg-pl-l {
  padding-left: var(--abafg-spacing-l);
}
.abafg-pl-xl {
  padding-left: var(--abafg-spacing-xl);
}
.abafg-pl-xxl {
  padding-left: var(--abafg-spacing-xxl);
}
.abafg-pl-xxxl {
  padding-left: var(--abafg-spacing-xxxl);
}


.abafg-gap-xs {
  --gap-value: var(--abafg-spacing-xs);
  gap: var(--abafg-spacing-xs);
}
.abafg-gap-s {
  --gap-value: var(--abafg-spacing-s);
  gap: var(--abafg-spacing-s);
}
.abafg-gap-m {
  --gap-value: var(--abafg-spacing-m);
  gap: var(--abafg-spacing-m);
}
.abafg-gap-l {
  --gap-value: var(--abafg-spacing-l);
  gap: var(--abafg-spacing-l);
}
.abafg-gap-xl {
  --gap-value: var(--abafg-spacing-xl);
  gap: var(--abafg-spacing-xl);
}
.abafg-gap-xxl {
  --gap-value: var(--abafg-spacing-xxl);
  gap: var(--abafg-spacing-xxl);
}
.abafg-gap-xxxl {
  --gap-value: var(--abafg-spacing-xxxl);
  gap: var(--abafg-spacing-xxxl);
}

.abafg-grid-gap-xxs{
      grid-gap: var(--abafg-spacing-xxs) !important;
}

.abafg-row-gap-xxs {
  --gap-value: var(--abafg-spacing-xxs);
  row-gap: var(--abafg-spacing-xxs);
}

.abafg-row-gap-xs {
  --gap-value: var(--abafg-spacing-xs);
  row-gap: var(--abafg-spacing-xs);
}
.abafg-row-gap-s {
  --gap-value: var(--abafg-spacing-s);
  row-gap: var(--abafg-spacing-s);
}
.abafg-row-gap-m {
  --gap-value: var(--abafg-spacing-m);
  row-gap: var(--abafg-spacing-m);
}
.abafg-row-gap-l {
  --gap-value: var(--abafg-spacing-l);
  row-gap: var(--abafg-spacing-l);
}
.abafg-row-gap-xl {
  --gap-value: var(--abafg-spacing-xl);
  row-gap: var(--abafg-spacing-xl);
}
.abafg-row-gap-xxl {
  --gap-value: var(--abafg-spacing-xxl);
  row-gap: var(--abafg-spacing-xxl);
}
.abafg-row-gap-xxxl {
  --gap-value: var(--abafg-spacing-xxxl);
  row-gap: var(--abafg-spacing-xxxl);
}

.abafg-column-gap-xs {
  --gap-value: var(--abafg-spacing-xs);
  column-gap: var(--abafg-spacing-xs);
}
.abafg-column-gap-s {
  --gap-value: var(--abafg-spacing-s);
  column-gap: var(--abafg-spacing-s);
}
.abafg-column-gap-m {
  --gap-value: var(--abafg-spacing-m);
  column-gap: var(--abafg-spacing-m);
}
.abafg-column-gap-l {
  --gap-value: var(--abafg-spacing-l);
  column-gap: var(--abafg-spacing-l);
}
.abafg-column-gap-xl {
  --gap-value: var(--abafg-spacing-xl);
  column-gap: var(--abafg-spacing-xl);
}
.abafg-column-gap-xxl {
  --gap-value: var(--abafg-spacing-xxl);
  column-gap: var(--abafg-spacing-xxl);
}
.abafg-column-gap-xxxl {
  --gap-value: var(--abafg-spacing-xxxl);
  column-gap: var(--abafg-spacing-xxxl);
}
