.elementor-kit-9{--e-global-color-primary:#111111;--e-global-color-secondary:#DA1021;--e-global-color-text:#333333;--e-global-color-accent:#DA1021;--e-global-color-7587e1a:#FFFFFF;--e-global-color-3c7cdad:#E9F6FA;--e-global-color-d765d9c:#F9F9FB;--e-global-color-f9a2890:#F5F5F5;--e-global-color-27756aa:#E6E6E6;--e-global-color-32c40ac:#999999;--e-global-color-5968de9:#4D4D4D;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"DM Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-weight:500;font-size:18px;line-height:1.6rem;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*-------------------*\
-------- TEXT --------
\*-------------------*/

h1 {
    font-size: clamp(2rem, 3.25rem, 5.5vw);
}

h2,
.head2,
.head2 h3,
.head2 .elementor-heading-title {
    font-size: clamp(1.55rem, 2rem, 5vw)  !important;
    line-height: 1.125em !important;
}

h3,
.head3,
.head3 .elementor-heading-title {
    font-size: 1.375rem;
    line-height: 1.1em !important;
}

h4,
.head4,
.head4 .elementor-heading-title {
    font-size: 1.5rem;
}

.copy-l {
    font-size: clamp(1.125rem, 1.25vw, 1.25rem) !important;
    line-height: 1.25em;
    text-wrap: balance;
}

.copy-xl {
    font-size: clamp(1.25rem, 1.75vw, 1.75rem) !important;
    line-height: 1.25em;
    text-wrap: balance;
}

.title-line h1, .title-line h2, .title-line h3 {
    position: relative;
    display: inline-block;
    margin-bottom: 0.75rem;
}

.title-line h1::after, .title-line h2::after, .title-line h3::after {
    content: '';
    position: absolute;
    width: 6rem;
    border-bottom: 4px solid rgba(218, 16, 33, 1);
    bottom: -0.75rem;
    left: 0;
}

.didascalia {
    font-size: 0.75rem !important;
    line-height: 1.4em;
}

.legal-notes p{
    font-size: 0.8rem;
    margin-bottom: 0;
    line-height: 1.3em;
}

/*-------------------*\
------- LAYOUT -------
\*-------------------*/

/* Section */
.section {
    padding: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .section {
    padding: 2.5rem;}
}

@media only screen and (min-width: 1024px) {
    .section {
    padding: 3rem;}
}

/* Padding orizzontale */

.px {
    padding: 0 1.5rem;
}

@media only screen and (min-width: 768px) {
    .px {
    padding: 0 2.5rem;}
}

@media only screen and (min-width: 1024px) {
    .px {
    padding: 0 3rem;}
}

/* Padding Top */

.pt {
    padding-top: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .pt {
    padding-top: 2.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .pt {
    padding-top: 3rem;
    }
}

/* Padding Bottom */

.pb {
    padding-bottom: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .pb {
    padding-bottom: 2.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .pb {
    padding-bottom: 3rem;
    }
}

/*-------------------*\
------ MARGINS -------
\*-------------------*/

/* Margin Top */

.mt {
    margin-top: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .mt {
        margin-top: 2.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .mt {
        margin-top: 3rem;
    }
}

/* Margin Bottom */

.mb {
    margin-bottom: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .mb {
        margin-bottom: 2.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .mb {
        margin-bottom: 3rem;
    }
}

/* Margin Bottom Responsive */

.mb-4{
   margin-bottom: clamp(1.5rem, 2vh, 4rem) !important;
}

/* Margin Top Auto */

.mt-auto {
    margin-top: auto;
}

/*-------------------*\
----- HERO BANNER -----
\*-------------------*/

/* Labels */

.label-white {
    display: inline-block;
    color: var(--e-global-color-primary);
    background-color: white;
    padding: 0.25rem 0.75rem;
}

.label-red {
    display: inline-block;
    color: white;
    background-color: var(--e-global-color-secondary);
    padding: 0.25rem 0.75rem;
    margin-bottom: 0.5rem;
}

/*-------------------*\
-------- FIXES --------
\*-------------------*/

/* Line Break Desktop */

.br-desktop br {
            display: none;
    }

@media (min-width: 1024px) {
.br-desktop br {
            display: inline;
        }
    }
    
/* TESTO BILANCIATO */
.balanced {
    text-wrap: balance !important;
}

/* Margine Elenchi */
.content ul, .content ol {
    margin-bottom: 1.5rem;
}

/* Link rossi */
p > a {
    color: var( --e-global-color-secondary );
}
p > a:hover {
    color: var( --e-global-color-secondary );
    text-decoration: underline;
}

/* Link bold in articoli*/
.content p > a {
    font-weight: 800 !important;
}

.content sup {
    font-weight: 800 !important;
    margin-left: 0.125rem;
}

.content ul, .content ol {
    padding-left: 1rem;
}

.pmb0 p {
    margin-bottom: 0 !important;
}

/*-------------------*\
------- COLORI -------
\*-------------------*/

.red {
    color: var( --e-global-color-secondary );
}

/*-------------------*\
------- STILI IMG -------
\*-------------------*/
.img-box img{
    -moz-border-radius: 0.5rem;
    -webkit-border-radius: 0.5rem;
    border-radius: 0.5rem;
    -webkit-box-shadow: 0px 24px 32px -24px rgba(0,0,0,0.16); 
    box-shadow: 0px 24px 32px -24px rgba(0,0,0,0.24);
}

/*-------------------*\
-- Box Grid Cluster --
\*-------------------*/

.cluster-box {
    transition: transform .25s ease-in-out;
    text-decoration: none;
}

.cluster-box:hover {
    transform: translateY(-0.25rem);
}

.cluster-box h3 {
    font-size: 1rem;
    line-height: 1.25rem;
    text-wrap: balance;
}

.cluster-box p {
    margin-bottom: 0;
}/* End custom CSS */