/* ----------------------------------------------------------------------
   Variabili Custom
---------------------------------------------------------------------- */

:root {
    --padding-xl: clamp(2rem, 8.02vw, 9999rem); /* 154px @ 1920 */
    --padding-l: clamp(2rem, 5.208vw, 9999rem); /* 100px @ 1920 */
    --padding-md: clamp(2rem,2.864vw, 9999rem); /* 55px @ 1920 */
    --padding-xs: clamp(0.75rem,0.937vw, 9999rem); /* 18px @ 1920 */
    --container-padding: clamp(1rem, 2.552vw, 9999rem); /* 49px @ 1920 */
}

/* ----------------------------------------------------------------------
   Paddings
---------------------------------------------------------------------- */

/* P XL */
.pt-xl {
    padding-top: var(--padding-xl);
}

.pb-xl {
    padding-bottom: var(--padding-xl);
}

.pe-xl {
    padding-right: var(--padding-xl);
}

.ps-xl {
    padding-left: var(--padding-xl);
}

.py-xl {
    padding-top: var(--padding-xl);
    padding-bottom: var(--padding-xl);
}

.px-xl {
    padding-left: var(--padding-xl);
    padding-right: var(--padding-xl);
}

@media (min-width: 992px) {

    .pt-lg-xl {
        padding-top: var(--padding-xl);
    }

}

/* M XL */
.mt-xl {
    margin-top: var(--padding-xl);
}

.mb-xl {
    margin-bottom: var(--padding-xl);
}

.me-xl {
    margin-right: var(--padding-xl);
}

.ms-xl {
    margin-left: var(--padding-xl);
}

.my-xl {
    margin-top: var(--padding-xl);
    margin-bottom: var(--padding-xl);
}

.mx-xl {
    margin-right: var(--padding-xl);
    margin-left: var(--padding-xl);
}

/* P L */
.pt-l {
    padding-top: var(--padding-l);
}

.pb-l {
    padding-bottom: var(--padding-l);
}

.pe-l {
    padding-right: var(--padding-l);
}

.ps-l {
    padding-left: var(--padding-l);
}

.py-l {
    padding-top: var(--padding-l);
    padding-bottom: var(--padding-l);
}

.px-l {
    padding-left: var(--padding-l);
    padding-right: var(--padding-l);
}

/* M L */
.mt-l {
    margin-top: var(--padding-l);
}

.mb-l {
    margin-bottom: var(--padding-l);
}

.me-l {
    margin-right: var(--padding-l);
}

.ms-l {
    margin-left: var(--padding-l);
}

.my-l {
    margin-top: var(--padding-l);
    margin-bottom: var(--padding-l);
}

.mx-l {
    margin-left: var(--padding-l);
    margin-right: var(--padding-l);
}

/* P MD */
.pt-md {
    padding-top: var(--padding-md);
}

.pb-md {
    padding-bottom: var(--padding-md);
}

.pe-md {
    padding-right: var(--padding-md);
}

.ps-md {
    padding-left: var(--padding-md);
}

.py-md {
    padding-top: var(--padding-md);
    padding-bottom: var(--padding-md);
}

.px-md {
    padding-left: var(--padding-md);
    padding-right: var(--padding-md);
}


/* M MD */
.mt-md {
    margin-top: var(--padding-md);
}

.mb-md {
    margin-bottom: var(--padding-md) !important;
}

.me-md {
    margin-right: var(--padding-md);
}

.ms-md {
    margin-left: var(--padding-md);
}

.my-md {
    margin-top: var(--padding-md);
    margin-bottom: var(--padding-md);
}

.mx-md {
    margin-left: var(--padding-md);
    margin-right: var(--padding-md);
}

/* P XS */
.pt-xs {
    padding-top: var(--padding-xs);
}

.pb-xs {
    padding-bottom: var(--padding-xs);
}

.pe-xs {
    padding-right: var(--padding-xs);
}

.ps-xs {
    padding-left: var(--padding-xs);
}

.py-xs {
    padding-top: var(--padding-xs);
    padding-bottom: var(--padding-xs);
}

.px-xs {
    padding-left: var(--padding-xs);
    padding-right: var(--padding-xs);
}

/* M XS */
.mt-xs {
    margin-top: var(--padding-xs);
}

.mb-xs {
    margin-bottom: var(--padding-xs);
}

.me-xs {
    margin-right: var(--padding-xs);
}

.ms-xs {
    margin-left: var(--padding-xs);
}

.my-xs {
    margin-top: var(--padding-xs);
    margin-bottom: var(--padding-xs);
}

.mx-xs {
    margin-left: var(--padding-xs);
    margin-right: var(--padding-xs);
}

.container-custom {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

/* ----------------------------------------------------------------------
   Negative
---------------------------------------------------------------------- */

.mt-minus-md {
    margin-top: calc(var(--padding-md) * -1) !important;
}

@media (min-width: 992px) {

    .mt-lg-minus-md {
        margin-top: calc(var(--padding-md) * -1) !important;
    }

}

/* ----------------------------------------------------------------------
   Hack mobile fixed menu
---------------------------------------------------------------------- */

@media (max-width: 767.98px) {

    .margin-fixed-nav {
        margin-top: 5.625rem;
    }

}