@import url("components.scss");
@import url("blog.css");
@import url("accrediti.css");


.section-inside-tree{
  ul{
    width:100%;
    li{
      width:100%;
    }
  }
}


@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 800;
    font-style: normal;
}

.container-header {
    display: none !important;
}

.sppb-addon-text-block, .sppb-addon-raw-html {
    overflow: auto;
}

.com_sppagebuilder .site-grid {
    overflow: hidden !important;
}

.footer {
    background-image: none !important;
    background-color: white !important;
    color: unset;
    overflow: hidden !important;
    position: relative;
    z-index: 0;
}

.footer .grid-child {
    max-width: none;
    padding-left: 2rem;
    padding-right: 2rem;
    display: block;
    padding: 0rem .5em !important;
}

.wrapper_index {
    position: relative !important;
    z-index: 0 !important;
}

main,
.container-banner {
    margin: 0 !important;
}


a {
    text-decoration: none !important;
}


/*menu quick che si apre*/
/* ===== PRIMO LIVELLO ===== */
.mod-menu.menu-custom-fgi > .nav-item > a {
    color: #0b2a4a; /* blu scuro */
    font-weight: 600;
}

/* Hover primo livello */
.mod-menu.menu-custom-fgi > .nav-item > a:hover,
.mod-menu.menu-custom-fgi > .nav-item.active > a {
    color: #123e6a;
}

/* ===== DAL SECONDO LIVELLO IN POI ===== */
.mod-menu.menu-custom-fgi .mod-menu__sub a {
    color: #8a8f96; /* grigio chiaro leggibile */
    font-weight: 400;
}

/* Hover livelli secondari */
.mod-menu.menu-custom-fgi .mod-menu__sub a:hover {
    color: #4f5660; /* grigio più scuro per feedback */
}

/* Voce attiva nei sottomenu */
.mod-menu.menu-custom-fgi .mod-menu__sub .active > a {
    color: #4f5660;
    font-weight: 500;
}

.menu-custom-fgi li {
    padding: 0 !important;

}

.menu-custom-fgi li a {
    width: 200px;

}

.menu-custom-fgi li.parent > a {
    display: inline-flex;
    align-items: center;
    gap: 6px; /* distanza testo ↔ freccia */
    position: relative;
}

/* Base */
.menu-custom-fgi li.parent > a::after {
    content: "";
    display: inline-block;
    width: 11px;
    height: 7px;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Primo livello – blu */
.menu-custom-fgi > .nav-item.parent > a::after {
    background: url("data:image/svg+xml;utf8,\
<svg style='transform: rotate(-90deg);' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7'>\
<path fill='%230b2a4a' d='M0.289401 0.31088C0.380541 0.212332 0.488798 0.134148 0.607975 0.0808034C0.727152 0.0274585 0.854909 0 0.983933 0C1.11296 0 1.24071 0.0274585 1.35989 0.0808034C1.47907 0.134148 1.58733 0.212332 1.67847 0.31088L5.50086 4.43547L9.32325 0.31088C9.50745 0.112115 9.75728 0.000450125 10.0178 0.000450125C10.2783 0.000450125 10.5281 0.112115 10.7123 0.31088C10.8965 0.509645 11 0.779227 11 1.06032C11 1.34142 10.8965 1.611 10.7123 1.80977L6.19046 6.68912C6.09932 6.78767 5.99107 6.86585 5.87189 6.9192C5.75271 6.97254 5.62496 7 5.49593 7C5.36691 7 5.23915 6.97254 5.11997 6.9192C5.0008 6.86585 4.89254 6.78767 4.8014 6.68912L0.279549 1.80977C-0.094809 1.40581 -0.0948088 0.725466 0.289401 0.31088Z'/>\
</svg>") no-repeat center;
}

/* Secondo livello e oltre – grigio */
.menu-custom-fgi .mod-menu__sub .parent > a::after {
    background: url("data:image/svg+xml;utf8,\
<svg  style='transform: rotate(-90deg);' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7'>\
<path fill='%238a8f96' d='M0.289401 0.31088C0.380541 0.212332 0.488798 0.134148 0.607975 0.0808034C0.727152 0.0274585 0.854909 0 0.983933 0C1.11296 0 1.24071 0.0274585 1.35989 0.0808034C1.47907 0.134148 1.58733 0.212332 1.67847 0.31088L5.50086 4.43547L9.32325 0.31088C9.50745 0.112115 9.75728 0.000450125 10.0178 0.000450125C10.2783 0.000450125 10.5281 0.112115 10.7123 0.31088C10.8965 0.509645 11 0.779227 11 1.06032C11 1.34142 10.8965 1.611 10.7123 1.80977L6.19046 6.68912C6.09932 6.78767 5.99107 6.86585 5.87189 6.9192C5.75271 6.97254 5.62496 7 5.49593 7C5.36691 7 5.23915 6.97254 5.11997 6.9192C5.0008 6.86585 4.89254 6.78767 4.8014 6.68912L0.279549 1.80977C-0.094809 1.40581 -0.0948088 0.725466 0.289401 0.31088Z'/>\
</svg>") no-repeat center;
}


.central-column-menu .mod-menu {
    flex-direction: row !important;
    gap: 38px;
    font-size: 14px;
}

/* FONT GLOBALE SITO */
html, body {
    font-family: 'Dosis', sans-serif;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Dosis', sans-serif;
}

.sppb-addon-title {
    font-family: 'Dosis', sans-serif !important;
}

:root {
    /* Primary Colors */
    --color-primary: #0069B4;

    /* Neutral Colors */
    --color-black: #2F2F2F;
    --color-white: #FFFFFF;

    /* Background Colors */
    --color-bg-dark: #263E73;
    --color-bg-gray: #F8F8F8;
}

/* ============================================
   COLOR UTILITY CLASSES
   ============================================ */

/* Text Colors */
.text-primary {
    color: var(--color-primary);
}

.text-black {
    color: var(--color-black);
}

.text-white {
    color: var(--color-white);
}

/* Background Colors */
.bg-primary {
    background-color: var(--color-primary);
}

.bg-black {
    background-color: var(--color-black);
}

.bg-white {
    background-color: var(--color-white);
}

.bg-dark {
    background-color: var(--color-bg-dark);
}

.bg-gray {
    background-color: var(--color-bg-gray);
}

/* Border Colors */
.border-primary {
    border-color: var(--color-primary);
}

.border-black {
    border-color: var(--color-black);
}

.border-white {
    border-color: var(--color-white);
}

.border-dark {
    border-color: var(--color-bg-dark);
}

.border-gray {
    border-color: var(--color-bg-gray);
}

/* ============================================
   BASE STYLES (Mobile First)
   ============================================ */

/* H1 */
h1 {
    font-family: 'Dosis', sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: -0.04em !important;
    line-height: 1.05em !important;
    font-size: 54px !important;
}

h1 strong, h1 b {
    font-weight: 700 !important;
}

h1 em, h1 i {
    font-style: italic !important;
}

/* H2 30 */
.h2-30, h2.size-30 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 24px;
}

.h2-30 strong, .h2-30 b, h2.size-30 strong, h2.size-30 b {
    font-weight: 700;
}

.h2-30 em, .h2-30 i, h2.size-30 em, h2.size-30 i {
    font-style: italic;
}

/* H2 36 */
.h2-36, h2.size-36 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 24px;
}

.h2-36 strong, .h2-36 b, h2.size-36 strong, h2.size-36 b {
    font-weight: 700;
}

.h2-36 em, .h2-36 i, h2.size-36 em, h2.size-36 i {
    font-style: italic;
}

/* H2 60 */
.h2-60, h2.size-60 {
    font-family: 'Dosis', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.1;
    font-size: 32px;
}

.h2-60 strong, .h2-60 b, h2.size-60 strong, h2.size-60 b {
    font-weight: 700;
}

.h2-60 em, .h2-60 i, h2.size-60 em, h2.size-60 i {
    font-style: italic;
}

/* H2 90 */
.h2-90, h2.size-90 {
    font-family: 'Dosis', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.1;
    font-size: 40px;
}

.h2-90 strong, .h2-90 b, h2.size-90 strong, h2.size-90 b {
    font-weight: 700;
}

.h2-90 em, .h2-90 i, h2.size-90 em, h2.size-90 i {
    font-style: italic;
}

/* H2 96 */
.h2-96, h2.size-96 {
    font-family: 'Dosis', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.05em;
    line-height: 1;
    font-size: 40px;
}

.h2-96 strong, .h2-96 b, h2.size-96 strong, h2.size-96 b {
    font-weight: 700;
}

.h2-96 em, .h2-96 i, h2.size-96 em, h2.size-96 i {
    font-style: italic;
}

/* H3 22 */
.h3-22, h3.size-22 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1;
    font-size: 18px;
}

.h3-22 strong, .h3-22 b, h3.size-22 strong, h3.size-22 b {
    font-weight: 700;
}

.h3-22 em, .h3-22 i, h3.size-22 em, h3.size-22 i {
    font-style: italic;
}

/* H3 24 */
.h3-24, h3.size-24 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0;
    line-height: 23px;
    font-size: 22px;
}

.h3-24 strong, .h3-24 b, h3.size-24 strong, h3.size-24 b {
    font-weight: 700;
}

.h3-24 em, .h3-24 i, h3.size-24 em, h3.size-24 i {
    font-style: italic;
}

/* H3 30 */
.h3-30, h3.size-30 {
    font-family: 'Dosis', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.2;
    font-size: 26px;
}

.h3-30 strong, .h3-30 b, h3.size-30 strong, h3.size-30 b {
    font-weight: 700;
}

.h3-30 em, .h3-30 i, h3.size-30 em, h3.size-30 i {
    font-style: italic;
}

/* H3 78 Regular (Manrope - Deprecated) */
.h3-78-regular, h3.size-78-regular {
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1;
    font-size: 50px;
}

.h3-78-regular strong, .h3-78-regular b, h3.size-78-regular strong, h3.size-78-regular b {
    font-weight: 700;
}

.h3-78-regular em, .h3-78-regular i, h3.size-78-regular em, h3.size-78-regular i {
    font-style: italic;
}

/* H3 Blog */
.h3-blog, h3.size-blog {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 19px;
}

.h3-blog strong, .h3-blog b, h3.size-blog strong, h3.size-blog b {
    font-weight: 700;
}

.h3-blog em, .h3-blog i, h3.size-blog em, h3.size-blog i {
    font-style: italic;
}


    /* P 14 */
.p-14, p.size-14 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.03em;
    line-height: 20px;
    font-size: 14px;
}

.p-14 strong, .p-14 b, p.size-14 strong, p.size-14 b {
    font-weight: 700;
}

.p-14 em, .p-14 i, p.size-14 em, p.size-14 i {
    font-style: italic;
}

/* P 15 */
.p-15, p.size-15 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.3;
    font-size: 14px;
}

.p-15 strong, .p-15 b, p.size-15 strong, p.size-15 b {
    font-weight: 700;
}

.p-15 em, .p-15 i, p.size-15 em, p.size-15 i {
    font-style: italic;
}

/* P 17 */
.p-17, p.size-17 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.03em;
    line-height: 1.4;
    font-size: 15px;
}

.p-17 strong, .p-17 b, p.size-17 strong, p.size-17 b {
    font-weight: 700;
}

.p-17 em, .p-17 i, p.size-17 em, p.size-17 i {
    font-style: italic;
}

/* P 20 */
.p-20, p.size-20 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 16px;
}

.p-20 strong, .p-20 b, p.size-20 strong, p.size-20 b {
    font-weight: 700;
}

.p-20 em, .p-20 i, p.size-20 em, p.size-20 i {
    font-style: italic;
}

/* P 24 */
.p-24, p.size-24 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 24px;
    font-size: 20px;
}

.p-24 strong, .p-24 b, p.size-24 strong, p.size-24 b {
    font-weight: 700;
}

.p-24 em, .p-24 i, p.size-24 em, p.size-24 i {
    font-style: italic;
}

/* P 26 */
.p-26, p.size-26 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 18px;
}

.p-26 strong, .p-26 b, p.size-26 strong, p.size-26 b {
    font-weight: 700;
}

.p-26 em, .p-26 i, p.size-26 em, p.size-26 i {
    font-style: italic;
}

/* P 32 */
.p-32, p.size-32 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1;
    font-size: 24px;
}

.p-32 strong, .p-32 b, p.size-32 strong, p.size-32 b {
    font-weight: 700;
}

.p-32 em, .p-32 i, p.size-32 em, p.size-32 i {
    font-style: italic;
}

/* P 36 */
.p-36, p.size-36 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1;
    font-size: 34px;
}

.p-36 strong, .p-36 b, p.size-36 strong, p.size-36 b {
    font-weight: 700;
}

.p-36 em, .p-36 i, p.size-36 em, p.size-36 i {
    font-style: italic;
}

/* P 40 */
.p-40, p.size-40 {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.03em;
    line-height: 1;
    font-size: 30px;
}

.p-40 strong, .p-40 b, p.size-40 strong, p.size-40 b {
    font-weight: 700;
}

.p-40 em, .p-40 i, p.size-40 em, p.size-40 i {
    font-style: italic;
}

/* P Blog Paragraph */
.p-blog-paragraph, p.blog-paragraph {
    font-family: 'Dosis', sans-serif;
    font-weight: 600 !important;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 18px;
}

.p-blog-paragraph strong, .p-blog-paragraph b, p.blog-paragraph strong, p.blog-paragraph b {
    font-weight: 700;
}

.p-blog-paragraph em, .p-blog-paragraph i, p.blog-paragraph em, p.blog-paragraph i {
    font-style: italic;
}

/* P Copyright */
.p-copyright, p.copyright {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.03em;
    line-height: 0.9;
    font-size: 14px;
}

.p-copyright strong, .p-copyright b, p.copyright strong, p.copyright b {
    font-weight: 700;
}

.p-copyright em, .p-copyright i, p.copyright em, p.copyright i {
    font-style: italic;
}

/* P Category Light */
.p-category-light, p.category-light {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1;
    font-size: 19px;
}

.p-category-light strong, .p-category-light b, p.category-light strong, p.category-light b {
    font-weight: 700;
}

.p-category-light em, .p-category-light i, p.category-light em, p.category-light i {
    font-style: italic;
}

/* P Date */
.p-date, p.date {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1;
    font-size: 14px;
}

.p-date strong, .p-date b, p.date strong, p.date b {
    font-weight: 700;
}

.p-date em, .p-date i, p.date em, p.date i {
    font-style: italic;
}

/* P Hero Heading */
.p-hero-heading, p.hero-heading {
    font-family: 'Dosis', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 0.95;
    font-size: 51px;
}

.p-hero-heading strong, .p-hero-heading b, p.hero-heading strong, p.hero-heading b {
    font-weight: 700;
}

.p-hero-heading em, .p-hero-heading i, p.hero-heading em, p.hero-heading i {
    font-style: italic;
}

/* P Paragraph */
.p-paragraph, p.paragraph {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 17px;
}

.p-paragraph strong, .p-paragraph b, p.paragraph strong, p.paragraph b {
    font-weight: 700;
}

.p-paragraph em, .p-paragraph i, p.paragraph em, p.paragraph i {
    font-style: italic;
}

/* P Pill Text */
.p-pill-text, p.pill-text {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 22px;
    font-size: 23px;
}

.p-pill-text strong, .p-pill-text b, p.pill-text strong, p.pill-text b {
    font-weight: 700;
}

.p-pill-text em, .p-pill-text i, p.pill-text em, p.pill-text i {
    font-style: italic;
}

/* P Pre Heading */
.p-pre-heading, p.pre-heading {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1;
    font-size: 13px;
}

.p-pre-heading strong, .p-pre-heading b, p.pre-heading strong, p.pre-heading b {
    font-weight: 700;
}

.p-pre-heading em, .p-pre-heading i, p.pre-heading em, p.pre-heading i {
    font-style: italic;
}

/* P Question */
.p-question, p.question {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 16px;
}

.p-question strong, .p-question b, p.question strong, p.question b {
    font-weight: 700;
}

.p-question em, .p-question i, p.question em, p.question i {
    font-style: italic;
}

/* P Menu Email */
.p-menu-email, p.menu-email {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 17px;
}

.p-menu-email strong, .p-menu-email b, p.menu-email strong, p.menu-email b {
    font-weight: 700;
}

.p-menu-email em, .p-menu-email i, p.menu-email em, p.menu-email i {
    font-style: italic;
}

/* P Menu Item */
.p-menu-item, p.menu-item {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 20px;
    font-size: 20px;
}

.p-menu-item strong, .p-menu-item b, p.menu-item strong, p.menu-item b {
    font-weight: 700;
}

.p-menu-item em, .p-menu-item i, p.menu-item em, p.menu-item i {
    font-style: italic;
}

/* ============================================
   MEDIA QUERIES - 810px (Tablet)
   ============================================ */

@media (min-width: 810px) {
    h1 {
        font-size: 58px !important;
    }

    .h2-30, h2.size-30 {
        font-size: 22px;
    }

    .h2-36, h2.size-36 {
        font-size: 32px;
    }

    .h2-60, h2.size-60 {
        font-size: 46px;
    }

    .h2-90, h2.size-90 {
        font-size: 50px;
    }

    .h2-96, h2.size-96 {
        font-size: 70px;
    }

    .h3-22, h3.size-22 {
        font-size: 20px;
    }

    .h3-24, h3.size-24 {
        font-size: 22px;
    }

    .h3-30, h3.size-30 {
        font-size: 30px;
    }

    .h3-78-regular, h3.size-78-regular {
        font-size: 54px;
    }

    .h3-blog, h3.size-blog {
        font-size: 18px;
    }

    .p-15, p.size-15 {
        font-size: 15px;
    }

    .p-17, p.size-17 {
        font-size: 17px;
    }

    .p-20, p.size-20 {
        font-size: 18px;
    }

    .p-24, p.size-24 {
        font-size: 21px;
        line-height: 1.41;
    }

    .p-26, p.size-26 {
        font-size: 21px;
    }

    .p-32, p.size-32 {
        font-size: 30px;
    }

    .p-36, p.size-36 {
        font-size: 36px;
    }

    .p-40, p.size-40 {
        font-size: 36px;
    }

    .p-blog-paragraph, p.blog-paragraph {
        font-size: 18px;
    }

    .p-copyright, p.copyright {
        font-size: 14px;
        line-height: 1;
    }

    .p-category-light, p.category-light {
        font-size: 16px;
    }

    .p-date, p.date {
        font-size: 16px;
    }

    .p-hero-heading, p.hero-heading {
        font-size: 79px;
        line-height: 78px;
    }

    .p-paragraph, p.paragraph {
        font-size: 22px;
        line-height: 1.5;
    }

    .p-pill-text, p.pill-text {
        font-size: 34px;
    }

    .p-pre-heading, p.pre-heading {
        font-size: 14px;
    }

    .p-question, p.question {
        font-size: 18px;
    }

    .p-menu-email, p.menu-email {
        font-size: 14px;
        line-height: 1.44;
    }

    .p-menu-item, p.menu-item {
        font-size: 15px;
    }
}

/* ============================================
   MEDIA QUERIES - 1024px (Medium Desktop)
   ============================================ */

@media (min-width: 1024px) {
    .h2-30, h2.size-30 {
        font-size: 26px;
    }

    .h3-blog, h3.size-blog {
        font-size: 22px;
    }

    .p-category-light, p.category-light {
        font-size: 17px;
    }

    .p-date, p.date {
        font-size: 16px;
    }
}

/* ============================================
   MEDIA QUERIES - 1200px (Large Desktop)
   ============================================ */

@media (min-width: 1200px) {
    h1 {
        font-size: 86px !important;
    }

    .h2-36, h2.size-36 {
        font-size: 36px;
    }

    .h2-60, h2.size-60 {
        font-size: 60px;
    }

    .h2-90, h2.size-90 {
        font-size: 90px;
    }

    .h2-96, h2.size-96 {
        font-size: 96px;
    }

    .h3-22, h3.size-22 {
        font-size: 22px;
    }

    .h3-24, h3.size-24 {
        font-size: 24px;
    }

    .h3-30, h3.size-30 {
        font-size: 30px;
    }

    .h3-78-regular, h3.size-78-regular {
        font-size: 78px;
    }

    .p-15, p.size-15 {
        font-size: 15px;
    }

    .p-17, p.size-17 {
        font-size: 17px;
    }

    .p-20, p.size-20 {
        font-size: 20px;
    }

    .p-24, p.size-24 {
        font-size: 24px;
        line-height: 1.41;
    }

    .p-26, p.size-26 {
        font-size: 26px;
    }

    .p-32, p.size-32 {
        font-size: 32px;
    }

    .p-36, p.size-36 {
        font-size: 36px;
    }

    .p-40, p.size-40 {
        font-size: 40px;
    }

    .p-blog-paragraph, p.blog-paragraph {
        font-size: 20px;
    }

    .p-copyright, p.copyright {
        font-size: 15px;
        line-height: 1;
    }

    .p-hero-heading, p.hero-heading {
        font-size: 92px;
        line-height: 1;
    }

    .p-paragraph, p.paragraph {
        font-size: 24px;
        line-height: 1.5;
    }

    .p-pill-text, p.pill-text {
        font-size: 42px;
    }

    .p-pre-heading, p.pre-heading {
        font-size: 18px;
    }

    .p-question, p.question {
        font-size: 20px;
    }

    .p-menu-email, p.menu-email {
        font-size: 15px;
        line-height: 1.44;
    }

    .p-menu-item, p.menu-item {
        font-size: 15px;
    }
}

/* ============================================
   MEDIA QUERIES - 1400px (Extra Large)
   ============================================ */

@media (min-width: 1400px) {
    .h3-blog, h3.size-blog {
        font-size: 24px;
    }

    .p-category-light, p.category-light {
        font-size: 17px;
    }

    .p-date, p.date {
        font-size: 17px;
    }
}


.wrapper-news-mod-articles {
    width: 100%;
    height: min-content;
    /*display: grid;*/
    z-index: 1;
    /*grid-template-columns: repeat(3, minmax(50px, 1fr));*/
    justify-content: center;
    /*grid-auto-rows: minmax(0, 1fr);*/
    padding: 0px;
    gap: 0px;
    border-radius: 0px 0px 0px 0px;
}

.small-card-news {
    box-sizing: border-box;
    height: min-content;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 70px 22px 22px 22px;
    background-color: #ffffff;
    overflow: hidden;
    align-content: flex-start;
    flex-wrap: wrap;
    border-radius: 0px 0px 0px 0px;
    border-color: rgba(0, 0, 0, 0.1);
    border-style: solid;
    border-top-width: 1px;
    border-bottom-width: 0px;
    border-left-width: 1px;
    border-right-width: 1px;
}

.small-card-news:hover {
    background: var(--color-bg-gray);
}

.small-card-news .first-section {
    /*height: 50%;*/
    /*padding: 0px 0px 20px 50px;*/
    /*gap: 20px;*/
    /*display: flex;*/
    /*flex-direction: column;*/
    /*justify-content: start;*/
    box-sizing: border-box;
    width: 100%;
    height: min-content;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0px 0px 20px 50px;
    align-content: flex-start;
    flex-wrap: nowrap;
    gap: 20px;
    border-radius: 0px 0px 0px 0px;
}

.small-card-news .info-up {
    width: min-content;
    height: min-content;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    padding: 0px;
    align-content: center;
    flex-wrap: nowrap;
    gap: 24px;
    border-radius: 0px 0px 0px 0px;
}

.small-card-news .info-category {
    width: min-content;
    height: min-content;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    padding: 0px;
    align-content: center;
    flex-wrap: nowrap;
    gap: 3px;
    border-radius: 0px 0px 0px 0px;
}

.small-card-news .title-news {
    width: 100%;
    height: auto;
    max-width: 90%;
    color: var(--color-black, #2f2f2f);
}

.small-card-news .altre-info {
    width: auto;
    height: auto;
    white-space: pre;
    color: rgba(0, 0, 0, 0.5);
}

.small-card-news .first-section .parentesi {
    width: auto;
    height: auto;
    white-space: pre;
    color: #0069b4;
    line-height: 1.2;
}

.small-card-news .second-section {
    width: 100%;
    height: min-content;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0px;
    align-content: center;
    flex-wrap: nowrap;
    gap: 10px;
    border-radius: 10px;
}

.small-card-news .second-section img {
    border-radius: 10px;
    height: 310px;
    object-fit: cover;

    opacity: 0;
    transform: scale(0.8);
    transition: all 0.8s ease-out;
}

.small-card-news .second-section img.zoom-in {
    opacity: 1;
    transform: scale(1);
}

.articlefgi-title:hover {
    color: unset !important;
}

.articlefgi-title {
    color: var(--color-black);
}

.menu-columns .menu-link {
    width: auto;
    height: auto;
    white-space: pre;
    font-weight: 700;
    font-style: normal;
    /*color: var(--color-black, #2f2f2f)!important;*/
    font-size: 18px;
    letter-spacing: -0.04em;
    line-height: 20px;
    font-feature-settings: normal;
}

.mobile-menu-wrapper .mobile-link {
    width: auto;
    height: auto;
    white-space: pre;
    font-weight: 700;
    font-style: normal;
    color: var(--color-black, #2f2f2f) !important;
    font-size: 16px;
    letter-spacing: -0.04em;
    line-height: 20px;
    font-feature-settings: normal;
}

.menu-columns .menu-column:not([data-level="1"]) .menu-link {
    width: auto;
    height: auto;
    white-space: pre;
    font-weight: 600 !important;
    font-style: normal;
    /*font-family: "Manrope", "Manrope Placeholder", sans-serif;*/
    /*color: rgba(47, 47, 47, 0.5)!important;*/
    font-size: 16px;
    letter-spacing: -0.04em;
    line-height: 1.44;
    font-feature-settings: normal;
}

.menu-columns .menu-item {
    padding-bottom: 5px;
}

.arrow-toggle:hover {
    background: none !important;
}

.menu-item:hover .menu-link,
.menu-item:hover .arrow-toggle {
    color: var(--color-primary) !important;
}


.menu-item.is-ancestor > .menu-link,
.menu-item.is-active > .menu-link {
    font-weight: 700 !important;
    color: var(--color-primary) !important;
}

.menu-column[data-level="1"] .menu-link {
    color: var(--color-black, #2f2f2f) !important;
}


.mobile-item {
    padding-left: 10px;
    padding-right: 10px;
}

.mobile-item {
    border-bottom: none !important;
}

.mobile-items-list {
    overflow: unset !important;
}

.mobile-level, .mobile-menu-wrapper {
    background: unset !important;
}


.mobile-menu-wrapper .btn-back {
    transform: scaleX(-1);
}

input[type="password"],
input[type="email"],
input[type="text"],
input[type="search"] {
    box-sizing: border-box;
    width: 100%;
    height: 60px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 30px 11px 30px 28px;
    background-color: #f8f8f8;
    overflow: visible;
    flex-wrap: nowrap;
    border-radius: 35px;
    border: 2px solid var(--color-primary, #0069b4);;
    white-space: pre;
    font-weight: 600;
    font-style: normal;
    font-family: "Dosis", "Dosis Placeholder", sans-serif;
    color: var(--color-primary, #0069b4);
    font-size: 19px;
    letter-spacing: -0.04em;
    line-height: 20px;
    font-feature-settings: normal;
}


select:focus,
a:focus,
input:focus,
a:active,
button:focus,
button:active {
    outline: none;
    box-shadow: none;
}

.sppb-btn.focus, .sppb-btn:focus {
    outline: 0;
    box-shadow: none !important;
}


.btn-dark-small.btn-accrediti {
    width: 78px !important;
    height: 42px !important;
}


/*card docman*/


.container-document-docman {
    box-sizing: border-box;
    width: 100%;
    height: min-content;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 40px 40px 40px 40px;
    box-shadow: 0px 0.6021873017743928px 0.6021873017743928px -1.25px rgba(0, 0, 0, 0.07), 0px 2.288533303243457px 2.288533303243457px -2.5px rgba(0, 0, 0, 0.06), 0px 10px 10px -3.75px rgba(0, 0, 0, 0.03);
    background-color: #ffffff;
    overflow: visible;
    z-index: 1;
    align-content: flex-start;
    flex-wrap: nowrap;
    gap: 20px;
    border-radius: 28px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

.container-document-docman {


    .data-section {
        box-sizing: border-box;
        width: 100%;
        height: min-content;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        padding-bottom: 8px;
        color: rgba(47, 47, 47, 0.5);
        overflow: hidden;
        align-content: center;
        flex-wrap: nowrap;
        gap: 10px;
        border-radius: 0px 0px 0px 0px;

        svg {
            width: 17px;
            height: 17px;
        }
    }

    .title-section {
        height: min-content;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        overflow: hidden;
        padding: 0px;
        align-content: flex-start;
        flex-wrap: nowrap;
        gap: 10px;
        border-radius: 0px 0px 0px 0px;
        text-align: start;
    }

    .btn-section {
        box-sizing: border-box;
        width: min-content;
        height: min-content;
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
        overflow: visible;
        align-content: center;
        flex-wrap: nowrap;
        gap: 6px;
        border-radius: 0px 0px 0px 0px;
    }
}


/*card docman*/


/*carousel-card home*/

.carousel-card-fgi .sppb-carousel-extended-item {
    width: 100px;

}

.carousel-card-fgi .sppb-carousel-extended-item .sppb-carousel-extended-heading {
    width: 100%;
    text-align: start;
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1;
    font-size: 78px;
    margin-bottom: 100px;
}

.carousel-card-fgi .sppb-carousel-extended-item .sppb-carousel-extended-subheading {
    width: 100%;
    text-align: end;
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.03em;
    line-height: 1.4;
    margin-bottom: 0px;
    font-size: 17px;
    color: rgba(255, 255, 255, 0.6);
}

.carousel-card-fgi .sppb-carousel-extended-item .sppb-carousel-extended-description {
    width: 100%;
    text-align: end;
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 24px;
    font-size: 24px;
}

.carousel-card-fgi .sppb-carousel-extended-item:has(img[alt="white"]) .sppb-carousel-extended-heading {
    color: #000000; /* o il colore che preferisci */
}

.carousel-card-fgi .sppb-carousel-extended-item:has(img[alt="white"]) .sppb-carousel-extended-subheading {
    color: rgba(0, 0, 0, 0.6);
}

.carousel-card-fgi .sppb-carousel-extended-item:has(img[alt="white"]) .sppb-carousel-extended-description {
    color: #000000;
}

@media (max-width: 1140px) {
    .carousel-card-fgi {
        .prev-control.nav-control,
        .next-control.nav-control {
            display: none !important;
        }
    }
}


/* Tutti gli item partono VISIBILI di default */
.sppb-carousel-extended-outer-stage .sppb-carousel-extended-item {
    opacity: 1;
    transition: opacity 0.8s ease-in-out;
}

/* Solo quelli NON active sono nascosti */
.sppb-carousel-extended-outer-stage .sppb-carousel-extended-item:not(.active) {
    opacity: 0.3;
}

/* I cloni non active restano nascosti */
.sppb-carousel-extended-outer-stage .sppb-carousel-extended-item.clone:not(.active) {
    opacity: 0.3;
}

/*carousel-card home*/

.social-icon svg {
    transition: transform 0.5s ease;
    cursor: pointer;
}

/*.social-icon svg:hover {
    transform: rotate(180deg);
}*/


@media (max-width: 767px) {


    .mod-eventi-fgi {
        .section-pre-title {
            padding: 0px;

            .buttons-change {
                gap: 15px;
            }
        }

        .card-body {
            padding: 64px 0px 64px 0px;
        }
    }

    .component-calendari-risultati {
        .buttons-change {
            gap: 15px;
        }
    }


}


/*card docman slider*/


.container-document-docman-slider {
    box-sizing: border-box;
    width: 100%;
    height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 40px 0px 40px 40px;
    box-shadow: 0px 0.6021873017743928px 0.6021873017743928px -1.25px rgba(0, 0, 0, 0.07), 0px 2.288533303243457px 2.288533303243457px -2.5px rgba(0, 0, 0, 0.06), 0px 10px 10px -3.75px rgba(0, 0, 0, 0.03);
    background-color: #F8F8F8;
    overflow: visible;
    z-index: 1;
    align-content: flex-start;
    flex-wrap: nowrap;
    gap: 20px;
    border-radius: 28px;
    /*border:1px solid rgba(0, 0, 0, 0.1);*/
    margin-bottom: 30px;


    .data-section {
        box-sizing: border-box;
        width: 100%;
        height: min-content;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        padding-bottom: 8px;
        color: rgba(47, 47, 47, 0.5);
        overflow: hidden;
        align-content: center;
        flex-wrap: nowrap;
        gap: 10px;
        border-radius: 0px 0px 0px 0px;

        svg {
            width: 17px;
            height: 17px;
        }
    }

    .title-section {
        height: min-content;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        overflow: hidden;
        padding: 0px;
        align-content: flex-start;
        flex-wrap: nowrap;
        gap: 10px;
        border-radius: 0px 0px 0px 0px;


        .content-title-section {
            box-sizing: border-box;
            width: 100%;
            height: min-content;
            display: flex;
            flex-direction: row;
            justify-content: flex-start;
            align-items: flex-start;
            padding: 0px 0px 0px 20px;
            overflow: visible;
            align-content: flex-start;
            flex-wrap: nowrap;
            gap: 56px;

            .content-title-section-stack {
                width: min-content;
                height: min-content;
                display: flex;
                flex-direction: row;
                justify-content: flex-start;
                align-items: center;
                overflow: visible;
                padding: 0px;
                align-content: center;
                flex-wrap: nowrap;
                gap: 1px;
            }

            h3 {
                margin: 0;
                margin: 0;
                box-sizing: border-box;
                width: 98%;
                height: min-content;
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 18px 10px 18px 0px;
                overflow: visible;
                align-content: flex-start;
                flex-wrap: wrap;
                gap: 26px;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 3;
                text-overflow: ellipsis;
                overflow: hidden;
            }
        }

    }

    .btn-section {
        box-sizing: border-box;
        width: min-content;
        height: min-content;
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
        overflow: visible;
        align-content: center;
        flex-wrap: nowrap;
        gap: 6px;
        border-radius: 0px 0px 0px 0px;
    }
}

/*card docman slider*/


@media (min-width: 992px) {
    .modulo-ignite-gallery .card-category-igallery-wrapper[data-index="0"] {

        width: 66.6666% !important;
      img{
        aspect-ratio:16/9;
      }
    }
   .modulo-ignite-gallery .card-category-igallery-wrapper[data-index="1"] {
     .card-category-igallery{
       height:100%;
     }
   }
}

.section-slider-sponsor img {
    max-width: unset !important;
}


/*slider banners
quando si istanzia un modulo banner per categoria, bisogna dare al modulo in page builder la classe .mod-banner-slider
*/


/* 1. CONTENITORE ESTERNO (La Maschera)
   Serve a nascondere i loghi che escono dai bordi e isolare lo slider dal resto della pagina */
.mod-banner-slider {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 10px 0;
    background: transparent; /* Cambia se serve uno sfondo */
    clear: both; /* Evita che elementi flottanti finiscano dentro lo slider */
}

/* 2. IL BINARIO (L'anima dello scorrimento)
   Deve essere largo quanto la somma di tutti i loghi e separatori */
.mod-banner-slider .mod-banners.bannergroup {
    display: flex;
    align-items: center; /* Centra verticalmente tutto il contenuto */
    width: max-content; /* Impedisce ai loghi di andare a capo */
    flex-wrap: nowrap;
    animation: scroll-infinite linear infinite;
    gap: 50px;
    will-change: transform; /* Ottimizza le prestazioni della GPU */
}

/* 3. GLI ELEMENTI BANNER
   Gestisce lo spazio dei singoli loghi */
.mod-banner-slider .mod-banners__item {
    flex: 0 0 auto; /* Impedisce ai loghi di rimpicciolirsi */
    display: flex;
    align-items: center;
}

.mod-banner-slider .mod-banners__item img {
    display: block;
}

@media (max-width: 767px) {
    .mod-banner-slider .mod-banners__item img {
        max-width: 70%;
    }

    .mod-banner-slider .mod-banners.bannergroup {
        gap: 0px;
    }
}

.mod-banner-slider .mod-banners__item a {
    display: flex;
    align-items: center;
    justify-content: center;
}


/* 4. IL SEPARATORE (Palla e Contenitore)
   Garantisce la centratura orizzontale e verticale perfetta */
.separator-container {
    display: flex;
    justify-content: center; /* Centro orizzontale */
    align-items: center; /* Centro verticale */
    width: 100px; /* Distanza totale tra i loghi */
    flex-shrink: 0; /* Non deve mai schiacciarsi */
}

.dot-separator {
    width: 32px; /* Dimensione palla */
    height: 32px;
    background-color: #A4C5FE; /* Colore palla */
    border-radius: 50%; /* La rende tonda */
}

/* 5. ANIMAZIONE E CONTROLLO */
@keyframes scroll-infinite {
    0% {
        transform: translateX(0);
    }
    100% {

        transform: translateX(-50%);
    }
}


.mod-banner-slider:hover .mod-banners.bannergroup {
    animation-play-state: paused;
}


/*Gym legend*/
.card-gym-legend {
    display: flex;
    flex-direction: column;
    gap: 20px;

    .overlay-image-title {
        .sppb-addon-title {
            font-weight: 400 !important;
            font-style: normal !important;
            letter-spacing: -0.04em !important;
            line-height: 1 !important;
            font-size: 78px !important;
        }

        .sppb-addon-subtitle {
            font-family: 'Dosis';
            font-weight: 700;
            font-style: normal;
            letter-spacing: -0.04em;
            line-height: 24px;
            font-size: 20px;
            width: 100%;
            text-align: start;
        }
    }
}

/*Banner wall marketing*/
.banner-wall {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    gap: 50px;
    padding: 20px;
}

.sp-pagebuilder-row, .sppb-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.first-image-details-article {
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 40px !important;
}


.view-flat.layout-gallery {
    .section-tree.row.big-card {
        justify-content: center;
    }

    .section-inside-tree {
        display: none;
    }

}





#jmap_sitemap {
    min-height: 100vh;

    h1 {
        text-align: center;
        padding-bottom: 50px;
    }

    .jmapcolumn {
        text-align: center;
    }
}


@media (max-width: 992px) {

    .container-document-docman-slider {
        padding: 20px 12px 10px 12px;

        .title-section {
            .content-title-section {
                flex-direction: column;
                gap: 5px;

                .content-title-section-stack {
                }
            }

        }
    }
}


.intestazione-page-contatti {
    border-radius: 20px 20px 0 0;
}


body.com_contact {
    background-color: var(--color-bg-gray);

    .com-contact.contact {
        h1 {
            text-align: center;
            padding: 60px 0;
        }

        h2 {
            display: none;
        }

        legend {
            text-align: center;
            margin-bottom: 40px;
        }

        .com-contact__form.contact-form {
            border-radius: 14px;
            background: white;
            padding: 35px;

            input {
                border: 0px;
                background-color: var(--color-bg-gray);
                border-radius: 8px;
            }

            textarea {
                border: 0px;
                background-color: var(--color-bg-gray);
                border-radius: 8px;
            }

            .control-group .controls {
                text-align: center;

                .validate {
                    box-sizing: border-box;
                    width: 240px;
                    height: min-content;
                    padding: 16px 24px 16px 24px;
                    background-color: #2f2f2f;
                    overflow: visible;
                    border-radius: 30px;
                }
            }
        }
    }

}


.input-group-fgi {
    position: relative;

    .icon {
        position: absolute;
        right: 4%;
    }

    .button-eye {
        position: absolute;
        right: 4%;
        padding: 0;
        border: 0;
        background-color: transparent;
    }
}


.extra-button-login {
    border-radius: 30px;
}


table.orari tbody tr:first-child td {
    background: #03a9f4;
    color: #fff;
    text-align: center;
    padding: 10px 5px;
}

table.orari tbody tr:first-child td p {
    margin: 0;
}

table.orari {
    width: 100% !important;
}

table.orari tbody tr:first-child {
    border: none;
}

table.orari tbody tr td {
    font-size: 16px;
    line-height: 18px;
    padding: 10px 5px;
    border: 1px solid #eceff1;
}


@media (min-width: 768px) {
    table.orari tbody tr td {
        font-size: 14px !important;
        line-height: 16px !important;
        padding: 10px 5px !important;
    }
}

@media (min-width: 1024px) {
    table.orari tbody tr td {
        font-size: 16px !important;
        line-height: 18px !important;
    }
}

.testo-discipline p {
    font-size: 20px;
    line-height: 28px;
}

table.orari.fgi ul {
    padding: 20px 20px 20px 40px;
    background: #eceff1;
    color: #01579b;
}

table.orari.fgi ul li {
    padding: 5px 0;
}


.statici-card {
    h1 {
        font-size: 45px !important;
        color: #218cc3 !important;
        text-align: center;
    }

    .bottone.amm-tras {
        background: #f7f7f7;
        padding: 8px 12px;

        a {
            font-size: 20px;
            line-height: 28px;
        }

        a::before {
            --fa: "\f019";
            content: var(--fa);
            font-family: "Font Awesome 6 Free";
            display: inline-block;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-style: normal;
            font-variant: normal;
            line-height: 1;
            text-rendering: auto;
            margin-right: 8px;
            text-decoration: none;
        }
    }

    .documenti-statici {
        p {
            background: #f7f7f7;
            padding: 8px 12px;

            a {
                font-size: 20px;
                line-height: 28px;
            }

            a::before {
                --fa: "\f019";
                content: var(--fa);
                font-family: "Font Awesome 6 Free";
                display: inline-block;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
                font-style: normal;
                font-variant: normal;
                line-height: 1;
                text-rendering: auto;
                margin-right: 8px;
                text-decoration: none;
            }
        }
    }
}


.com_igallery {
    .igallery_title {
        margin-bottom: 54px;
    }

    .card-category-igallery {
        height: 535px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        background-color: #ffffff;
        overflow: hidden;
        padding: 0px;
        align-content: flex-start;
        flex-wrap: nowrap;
        gap: 0px;
        border-radius: 15px;
    }

    .custom-wrapper-image {
        width: 100%;
        height: 100%;

        img {
            width: 100%;
            height: 100%;
            aspect-ratio: 16 / 9;
            object-fit: cover;
        }
    }

    .igui-lightbox {
        background: white;
    }

    .igui-lightbox-toolbar {
        background: white;
    }

    .ig-lightbox-left-wrapper, .ig-lightbox-right-wrapper, .ig-thumb-scroller-lbox-below {
        background-color: white;
    }

    .igui-lightbox-items li {
        background-color: white;
    }

    .igui-transition-slide-top {
        transform: none;
    }

    .ig-close-modal {

        all: unset;
    }

    .ig-lightbox-buttons svg {
        width: 52px !important;
        height: 52px !important;
        background: var(--color-primary);
        border-radius: 50px;
        padding: 20px;
    }


    .igui-icon {
        fill: none !important;
    }

    .ig-lightbox-button svg {
        background: transparent !important;
        height: 52px !important;
        width: 52px !important;
    }

    .igui-slidenav {
        color: unset !important;
    }

    .igui-icon,
    .igui-icon [FILL*='#']:not(.igui-preserve),
    .igui-icon [fill*='#']:not(.igui-preserve),
    .igui-svg,
    .igui-svg:not(.igui-preserve) [FILL*='#']:not(.igui-preserve),
    .igui-svg:not(.igui-preserve) [fill*='#']:not(.igui-preserve) {
        fill: #0069B4 !important;
    }

    a.ig-lightbox-button svg:last-of-type {
        display: none;
    }
}


.com_tags {
    .h3-list-tag {
        margin: 0;
        width: 90%;
    }

    @media (max-width: 768px) {
        .h3-list-tag {
            width: 100%;
        }
    }
}


.wrapper-mod-news-slider {
    position: relative;
}

/* EFFETTO FADE LATERALE sul wrapper fisso */
.wrapper-mod-news-slider::before,
.wrapper-mod-news-slider::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 150px;
    z-index: 2;
    pointer-events: none;
}

.wrapper-mod-news-slider::before {
    left: 0;
    background: linear-gradient(to right,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%);
}

.wrapper-mod-news-slider::after {
    right: 0;
    background: linear-gradient(to left,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%);
}

.wrapper-mod-news-slider {
    .mod-news-slider {
        position: relative;
        width: 100%;
        padding: 40px 0;
        overflow: hidden;
    }

    .mod-news-slider.dragging {
        cursor: grabbing;
        user-select: none;
    }

    .mod-news-slider.dragging .carousel-track {
        animation-play-state: paused !important;
    }

    .mod-news-slider {
        cursor: grab;
    }

    .mod-news-slider .carousel-track {
        display: flex;
        gap: 20px;
        width: max-content;
        animation: scroll-infinite 70s linear infinite;
        cursor: grab;
        user-select: none;
        -webkit-user-select: none;
    }

    .mod-news-slider .carousel-track:hover {
        animation-play-state: paused;
    }

    /* Blocca drag nativo su immagini e link */
    .mod-news-slider .carousel-track img {
        pointer-events: none;
        -webkit-user-drag: none;
        user-drag: none;
    }

    .mod-news-slider .carousel-track a {
        -webkit-user-drag: none;
        user-drag: none;
    }

    @keyframes scroll-infinite {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(-50%);
        }
    }

    /* CARD */
    .mod-news-slider .small-card-news {
        box-sizing: border-box;
        height: 600px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        padding: 70px 22px 22px 22px;
        background-color: #ffffff;
        overflow: hidden;
        align-content: flex-start;
        flex-wrap: wrap;
        border-radius: 0px 0px 0px 0px;
        border-color: rgba(0, 0, 0, 0.1);
        border-style: solid;
        border-top-width: 1px;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-right-width: 1px;
        transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
        min-width: calc((100vw - 240px) / 3);
        max-width: calc((100vw - 240px) / 3);
        min-height: 600px;
        flex-shrink: 0;
    }

    .mod-news-slider .small-card-news:hover {
        background: var(--color-bg-gray);
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    }

    .mod-news-slider .small-card-news .first-section {
        box-sizing: border-box;
        width: 100%;
        height: min-content;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding: 0px 0px 20px 50px;
        align-content: flex-start;
        flex-wrap: nowrap;
        gap: 20px;
        border-radius: 0px 0px 0px 0px;
    }

    .mod-news-slider .small-card-news .info-up {
        width: max-content;
        height: min-content;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        padding: 0px;
        align-content: center;
        flex-wrap: nowrap;
        gap: 24px;
        border-radius: 0px 0px 0px 0px;
    }

    .mod-news-slider .small-card-news .info-category {
        width: max-content;
        height: min-content;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        padding: 0px;
        align-content: center;
        flex-wrap: nowrap;
        gap: 3px;
        border-radius: 0px 0px 0px 0px;
    }

    .mod-news-slider .small-card-news .title-news {
        width: 100%;
        height: auto;
        max-width: 90%;
        color: var(--color-black, #2f2f2f);
    }

    .mod-news-slider .small-card-news .articlefgi-title {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .mod-news-slider .small-card-news .first-section .parentesi {
        width: auto;
        height: auto;
        white-space: pre;
        color: #0069b4;
        line-height: 1.2;
    }

    .mod-news-slider .small-card-news .second-section {
        width: 100%;
        height: min-content;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0px;
        align-content: center;
        flex-wrap: nowrap;
        gap: 10px;
        border-radius: 10px;
    }

    /* Fix per figure Joomla */
    .mod-news-slider .small-card-news .second-section figure,
    .mod-news-slider .small-card-news .second-section .mod-articles-image,
    .mod-news-slider .small-card-news .second-section .item-image {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        height: 330px !important;
        display: block !important;
    }

    .mod-news-slider .small-card-news .second-section img {
        border-radius: 10px !important;
        height: 330px !important;
        width: 100% !important;
        object-fit: cover !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: scale(1) !important;
        transition: all 0.8s ease-out !important;
    }

    .mod-news-slider .small-card-news .second-section img.zoom-in {
        opacity: 1 !important;
        transform: scale(1) !important;
    }

    .mod-news-slider .small-card-news:hover .second-section img {
        transform: scale(1.05) !important;
    }

    /* Responsive tablet - 2 card visibili */
    @media (max-width: 992px) {
        .mod-news-slider .small-card-news {
            min-width: calc((100vw - 160px) / 2);
            max-width: calc((100vw - 160px) / 2);
        }

        .mod-news-slider .carousel-track {
            gap: 20px;
        }

        .mod-news-slider .small-card-news .second-section img {
            height: 280px;
        }

        .wrapper-mod-news-slider::before,
        .wrapper-mod-news-slider::after {
            width: 80px;
        }
    }

    /* Responsive mobile - 1 card visibile */
    @media (max-width: 576px) {
        .mod-news-slider .small-card-news {
            min-width: calc(100vw - 120px);
            max-width: calc(100vw - 120px);
        }

        .mod-news-slider .carousel-track {
            gap: 20px;
        }

        .mod-news-slider .small-card-news .second-section img {
            height: 220px;
        }

        .mod-news-slider .small-card-news {
            padding: 40px 15px 15px 15px;
        }

        .mod-news-slider .small-card-news .first-section {
            padding: 0px 0px 15px 20px;
        }

        .wrapper-mod-news-slider::before,
        .wrapper-mod-news-slider::after {
            width: 60px;
        }
    }
}

.dots-container {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 20px 0;
}

.dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(0, 105, 180, 0.4);
    border: 2px solid rgba(0, 105, 180, 0.6);
    cursor: pointer;
    transition: all 0.3s ease;
}

.dot.active,
.dot:hover {
    background: #0069B4;
    border-color: #0069B4;
    transform: scale(1.3);
    box-shadow: 0 4px 12px rgba(0, 105, 180, 0.4);
}



/*pagination*/
@media (max-width: 991.98px) {
        .pag-hide-mobile {
            display: none !important;
        }

        .com-content-category-blog__counter {
            display: none !important;
        }

        .pagination__wrapper {
            display: flex;
            justify-content: center;
        }

        .pagination__wrapper .pagination {
            justify-content: center;
        }
    }




    .pagination .page-link {
        color: var(--color-primary);
    }

    .pagination .active .page-link,
    .pagination .active .page-link:hover,
    .pagination .active .page-link:focus {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        color: #fff;
    }

.section-pre-title-docman{
  padding-top:68px;
}

@media (max-width: 767.98px) {
.table-eventi {
 padding:10px!important; 
}
/*.cal-ris .table-eventi .titolo-table {
    max-width: 80%!important;
}*/
  
.calendari-risultati_tabella{
  
  width:100%!important;
      margin-top:30px;
      .logo-table{
        display:none!important;
      }
      .th-disciplina,
      .th-luogo,
      .th-stato{
        display:none!important;
      }
       .td-disciplina,
      .td-luogo,
      .td-stato{
        display:none!important;
      }
}

  
  
    .mod_eventi_tab{
      width:100%!important;
      margin-top:30px;
      .logo-table{
        display:none!important;
      }
      .th-disciplina,
      .th-luogo,
      .th-stato{
        display:none!important;
      }
       .td-disciplina,
      .td-luogo,
      .td-stato{
        display:none!important;
      }
      
    }


  .section-calendario-home{
    .sppb-row-column,
    .sppb-row-container{
     padding:0px!important; 
    }
  }

.cal-ris .card-body {
    padding: 64px 10px!important; 
}  
}


.docman_description {
  .marketing {
    .riga {
      display: flex !important;
      gap: 50px;
      align-content: center;
      align-items: center;

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


ul.mod-menu.mod-list.nav .nav-item.current > a,
ul.mod-menu.mod-list.nav .nav-item.current > .mod-menu__heading,
ul.mod-menu.mod-list.nav .nav-item a:hover,
ul.mod-menu.mod-list.nav .nav-item .mod-menu__heading:hover {
    color: var(--color-primary)!important;
    transition: color 0.3s ease; 
}


.mod-menu.mod-list.nav{
  ul,li{
    font-size:14px;
  }
  
}


/*tree docman*/


.k-ui-namespace .k-tree {
    overflow: unset !important;
}

ul .jqtree_common .jqtree-element {
    width: 100% !important;
}

/* ── jqtree-title ── */
.jqtree-title {
    font-family: 'Dosis', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    line-height: 1.4;
    font-size: 17px !important;
    color: rgba(47, 47, 47, 0.5);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-overflow: ellipsis;
    overflow: hidden;
}

.jqtree-title[aria-level="1"] {
    font-size: 20px !important;
    color: black !important;
    width: calc(100% - 56px);
}

.jqtree-title[aria-level="2"] { width: calc(100% - 84px); }
.jqtree-title[aria-level="3"] { width: calc(100% - 112px); }
.jqtree-title[aria-level="4"] { width: calc(100% - 140px); }

/* ── koowa_media ── */
@media (max-width: 767.98px) {
    .koowa_media__item {
        width: 100%;
    }
}

/* ── k-js-category-tree ── */
.k-js-category-tree ul {
    padding: 7px 0;

    li {
        padding: 7px 0;
    }
}

/* ── span first/last (base, senza selected) ── */
.jqtree-element span:first-of-type,
.jqtree-common span:first-of-type {
    height: 48px;
    padding-top: 9px;
    border-radius: 12px 0 0 12px;
}

.jqtree-element span:last-of-type,
.jqtree-common span:last-of-type {
    height: 100%;
    padding-top: 0px;
    padding-right: 10px;
    border-radius: 0 12px 12px 0;
      line-height: 22px;
    white-space: break-spaces;
    word-wrap: break-word;
}

/* ── selected ── */
.k-ui-namespace .k-tree .jqtree-selected > .jqtree-element,
.k-ui-namespace .k-tree .jqtree-selected > .jqtree-common {
    background: unset !important;
    /*height: 48px;*/

}

.k-ui-namespace .k-tree .jqtree-selected > .jqtree-element span:first-of-type,
.k-ui-namespace .k-tree .jqtree-selected > .jqtree-common span:first-of-type {
    background: #EFEFEF !important;
    height: 48px;
    padding-top: 9px;
    border-radius: 12px 0 0 12px;
    line-height: 18px;
    white-space: break-spaces;
    word-wrap: break-word;
}

.k-ui-namespace .k-tree .jqtree-selected > .jqtree-element span:last-of-type,
.k-ui-namespace .k-tree .jqtree-selected > .jqtree-common span:last-of-type {
    background: #EFEFEF !important;
    height: 100%;
    padding-top: 9px;
    padding-right: 10px;
    border-radius: 0 12px 12px 0;
      line-height: 18px;
    white-space: break-spaces;
    word-wrap: break-word;
}

/* ── hover ── */
.k-ui-namespace .k-tree .jqtree-element:hover {
    background: unset !important;
}


.k-ui-namespace .k-tree .jqtree-element:hover span:last-of-type {
    /*background: #EFEFEF !important;*/
  color:black!important;
}

/* ── toggler ── */
.k-ui-namespace .jqtree-toggler::before {
    content: '';
    border: unset !important;
    display: inline-block;
    width: 12px;
    height: 6px;
    margin-top: -3px !important;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='-1 -1 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0L6 6L12 0' stroke='%236F767E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

/* ── folder icons ── */
.k-icon-folder-closed::before,
.k-icon-folder-opened::before {
    color: var(--color-primary);
}


/*tree docman*/


/*search*/

.gsc-above-wrapper-area,
.gsc-wrapper {
    max-width: 100% !important;
}

.gsc-webResult .gsc-url-top {
    display: none !important;
}

.gcsc-find-more-on-google-branding,
.gcsc-branding {
    display: none !important;
}

.gsc-table-cell-snippet-close,
.gs-webResult .gs-snippet,
.gs-fileFormatType {
    width: auto !important;
}

/* ── font Dosis ── */
.gs-webResult.gs-result a.gs-title,
.gs-webResult.gs-result a.gs-title b,
.gs-imageResult a.gs-title,
.gs-imageResult a.gs-title b {
    color: var(--color-primary) !important;
    font-family: 'Dosis', sans-serif !important;
}

.gsc-control-cse .gsc-table-result,
.gsc-result-info-container,
.gsc-orderby-container,
.gs-webResult .gs-snippet,
.gs-fileFormatType {
    font-family: 'Dosis', sans-serif !important;
}

.gs-webResult .gs-snippet,
.gs-fileFormatType {
    font-size: 20px;
    line-height: 25px;
    color: #37474f !important;
    font-weight: 300 !important;
}

/* ── paginazione ── */
.gsc-cursor-page {
    margin: 0 !important;
    border: 1px solid #dfe3e7 !important;
}

.gsc-results .gsc-cursor {
    font-family: 'Dosis', sans-serif !important;
    font-size: 16px;
    font-weight: 400;
}

.gsc-results .gsc-cursor-box .gsc-cursor-current-page,
.gsc-results .gsc-cursor-box .gsc-cursor-page {
    padding: 0.375rem 0.75rem !important;
    color: var(--color-primary) !important;
}

.gsc-results .gsc-cursor-box .gsc-cursor-current-page {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #fff !important;
    font-weight: unset !important;
}




/*search*/


/*

p {
    color: rgb(47,47,47,0.6) !important;
    font-weight: 600 !important;
    font-size: 20px;
    letter-spacing: -0.04em;
}

.com-sppagebuilder {*/
/*    ul {*/
/*        color: rgb(1, 87, 155) !important;*/
/*        p {*/
/*            color: rgb(1, 87, 155) !important;*/
/*        }*/
/*    }*/

/*    p {*/
/*        color: rgb(47,47,47,0.6) !important;*/
/*        font-weight: 600 !important;*/
/*        font-size: 20px !important;*/
/*        line-height: 1.5 !important;*/
/*        letter-spacing: -0.04em !important;*/
/*    }*/
/*}*/



.button-federazione-trasparente-custom{
  text-align:left!important;
}

/* gallery */
.igui-overlay-primary {
  background: rgba(34, 34, 34, 0.6) !important;
}

.ig-lightbox-descriptions-overlay {
  background: rgba(0,0,0,0.6) !important;
  color: white !important;
}






.pagina-trasparenza{
  .k-ui-namespace .k-tree .jqtree-selected > .jqtree-element span:first-of-type,
.k-ui-namespace .k-tree .jqtree-selected > .jqtree-common span:first-of-type {
    height: 70px;
  padding-top:0px;
      align-content: center;
}


.k-ui-namespace .k-tree .jqtree-selected > .jqtree-element span:last-of-type,
.k-ui-namespace .k-tree .jqtree-selected > .jqtree-common span:last-of-type {
   height: 70px;
    padding-top:0px;
      align-content: center;
}

  
}