/*
============================================
CUSTOM UTILIES
============================================
*/

/*
============================================
PRIMITIVES
============================================
*/
:root {
	--10: clamp(10px, 0.521vw, 10px);
	--15: clamp(12px, 0.781vw, 15px);
	--20: clamp(15px, 1.042vw, 20px);
	--25: clamp(15px, 1.302vw, 25px);
	--30: clamp(20px, 1.563vw, 30px);
	--50: clamp(30px, 2.604vw, 50px);
	--75: clamp(40px, 3.906vw, 75px);
	--100: clamp(50px, 5.208vw, 100px);
	--125: clamp(75px, 6.510vw, 125px);
	--150: clamp(100px, 7.813vw, 150px);
	--175: clamp(125px, 9.115vw, 175px);
	--200: clamp(150px, 10.417vw, 200px);
	--250: clamp(150px, 13.021vw, 250px);
}

/* ============================================
   DIMENSIONE: 10
   ============================================ */

/* Base classes (no media query) */
.pt-10 { padding-top: var(--10); }
.pe-10 { padding-right: var(--10); }
.pb-10 { padding-bottom: var(--10); }
.ps-10 { padding-left: var(--10); }
.py-10 { padding-top: var(--10); padding-bottom: var(--10); }
.px-10 { padding-left: var(--10); padding-right: var(--10); }
.mt-10 { margin-top: var(--10); }
.me-10 { margin-right: var(--10); }
.mb-10 { margin-bottom: var(--10); }
.ms-10 { margin-left: var(--10); }
.my-10 { margin-top: var(--10); margin-bottom: var(--10); }
.mx-10 { margin-left: var(--10); margin-right: var(--10); }
.g-10 { gap: var(--10); }
.gx-10 { column-gap: var(--10); }
.gy-10 { row-gap: var(--10); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-10 { padding-top: var(--10); }
	.pe-sm-10 { padding-right: var(--10); }
	.pb-sm-10 { padding-bottom: var(--10); }
	.ps-sm-10 { padding-left: var(--10); }
	.py-sm-10 { padding-top: var(--10); padding-bottom: var(--10); }
	.px-sm-10 { padding-left: var(--10); padding-right: var(--10); }
	.mt-sm-10 { margin-top: var(--10); }
	.me-sm-10 { margin-right: var(--10); }
	.mb-sm-10 { margin-bottom: var(--10); }
	.ms-sm-10 { margin-left: var(--10); }
	.my-sm-10 { margin-top: var(--10); margin-bottom: var(--10); }
	.mx-sm-10 { margin-left: var(--10); margin-right: var(--10); }
	.g-sm-10 { gap: var(--10); }
	.gx-sm-10 { column-gap: var(--10); }
	.gy-sm-10 { row-gap: var(--10); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-10 { padding-top: var(--10); }
	.pe-md-10 { padding-right: var(--10); }
	.pb-md-10 { padding-bottom: var(--10); }
	.ps-md-10 { padding-left: var(--10); }
	.py-md-10 { padding-top: var(--10); padding-bottom: var(--10); }
	.px-md-10 { padding-left: var(--10); padding-right: var(--10); }
	.mt-md-10 { margin-top: var(--10); }
	.me-md-10 { margin-right: var(--10); }
	.mb-md-10 { margin-bottom: var(--10); }
	.ms-md-10 { margin-left: var(--10); }
	.my-md-10 { margin-top: var(--10); margin-bottom: var(--10); }
	.mx-md-10 { margin-left: var(--10); margin-right: var(--10); }
	.g-md-10 { gap: var(--10); }
	.gx-md-10 { column-gap: var(--10); }
	.gy-md-10 { row-gap: var(--10); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-10 { padding-top: var(--10); }
	.pe-lg-10 { padding-right: var(--10); }
	.pb-lg-10 { padding-bottom: var(--10); }
	.ps-lg-10 { padding-left: var(--10); }
	.py-lg-10 { padding-top: var(--10); padding-bottom: var(--10); }
	.px-lg-10 { padding-left: var(--10); padding-right: var(--10); }
	.mt-lg-10 { margin-top: var(--10); }
	.me-lg-10 { margin-right: var(--10); }
	.mb-lg-10 { margin-bottom: var(--10); }
	.ms-lg-10 { margin-left: var(--10); }
	.my-lg-10 { margin-top: var(--10); margin-bottom: var(--10); }
	.mx-lg-10 { margin-left: var(--10); margin-right: var(--10); }
	.g-lg-10 { gap: var(--10); }
	.gx-lg-10 { column-gap: var(--10); }
	.gy-lg-10 { row-gap: var(--10); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-10 { padding-top: var(--10); }
	.pe-xl-10 { padding-right: var(--10); }
	.pb-xl-10 { padding-bottom: var(--10); }
	.ps-xl-10 { padding-left: var(--10); }
	.py-xl-10 { padding-top: var(--10); padding-bottom: var(--10); }
	.px-xl-10 { padding-left: var(--10); padding-right: var(--10); }
	.mt-xl-10 { margin-top: var(--10); }
	.me-xl-10 { margin-right: var(--10); }
	.mb-xl-10 { margin-bottom: var(--10); }
	.ms-xl-10 { margin-left: var(--10); }
	.my-xl-10 { margin-top: var(--10); margin-bottom: var(--10); }
	.mx-xl-10 { margin-left: var(--10); margin-right: var(--10); }
	.g-xl-10 { gap: var(--10); }
	.gx-xl-10 { column-gap: var(--10); }
	.gy-xl-10 { row-gap: var(--10); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-10 { padding-top: var(--10); }
	.pe-xxl-10 { padding-right: var(--10); }
	.pb-xxl-10 { padding-bottom: var(--10); }
	.ps-xxl-10 { padding-left: var(--10); }
	.py-xxl-10 { padding-top: var(--10); padding-bottom: var(--10); }
	.px-xxl-10 { padding-left: var(--10); padding-right: var(--10); }
	.mt-xxl-10 { margin-top: var(--10); }
	.me-xxl-10 { margin-right: var(--10); }
	.mb-xxl-10 { margin-bottom: var(--10); }
	.ms-xxl-10 { margin-left: var(--10); }
	.my-xxl-10 { margin-top: var(--10); margin-bottom: var(--10); }
	.mx-xxl-10 { margin-left: var(--10); margin-right: var(--10); }
	.g-xxl-10 { gap: var(--10); }
	.gx-xxl-10 { column-gap: var(--10); }
	.gy-xxl-10 { row-gap: var(--10); }
}

/* ============================================
   DIMENSIONE: 15
   ============================================ */

/* Base classes (no media query) */
.pt-15 { padding-top: var(--15); }
.pe-15 { padding-right: var(--15); }
.pb-15 { padding-bottom: var(--15); }
.ps-15 { padding-left: var(--15); }
.py-15 { padding-top: var(--15); padding-bottom: var(--15); }
.px-15 { padding-left: var(--15); padding-right: var(--15); }
.mt-15 { margin-top: var(--15); }
.me-15 { margin-right: var(--15); }
.mb-15 { margin-bottom: var(--15); }
.ms-15 { margin-left: var(--15); }
.my-15 { margin-top: var(--15); margin-bottom: var(--15); }
.mx-15 { margin-left: var(--15); margin-right: var(--15); }
.g-15 { gap: var(--15); }
.gx-15 { column-gap: var(--15); }
.gy-15 { row-gap: var(--15); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-15 { padding-top: var(--15); }
	.pe-sm-15 { padding-right: var(--15); }
	.pb-sm-15 { padding-bottom: var(--15); }
	.ps-sm-15 { padding-left: var(--15); }
	.py-sm-15 { padding-top: var(--15); padding-bottom: var(--15); }
	.px-sm-15 { padding-left: var(--15); padding-right: var(--15); }
	.mt-sm-15 { margin-top: var(--15); }
	.me-sm-15 { margin-right: var(--15); }
	.mb-sm-15 { margin-bottom: var(--15); }
	.ms-sm-15 { margin-left: var(--15); }
	.my-sm-15 { margin-top: var(--15); margin-bottom: var(--15); }
	.mx-sm-15 { margin-left: var(--15); margin-right: var(--15); }
	.g-sm-15 { gap: var(--15); }
	.gx-sm-15 { column-gap: var(--15); }
	.gy-sm-15 { row-gap: var(--15); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-15 { padding-top: var(--15); }
	.pe-md-15 { padding-right: var(--15); }
	.pb-md-15 { padding-bottom: var(--15); }
	.ps-md-15 { padding-left: var(--15); }
	.py-md-15 { padding-top: var(--15); padding-bottom: var(--15); }
	.px-md-15 { padding-left: var(--15); padding-right: var(--15); }
	.mt-md-15 { margin-top: var(--15); }
	.me-md-15 { margin-right: var(--15); }
	.mb-md-15 { margin-bottom: var(--15); }
	.ms-md-15 { margin-left: var(--15); }
	.my-md-15 { margin-top: var(--15); margin-bottom: var(--15); }
	.mx-md-15 { margin-left: var(--15); margin-right: var(--15); }
	.g-md-15 { gap: var(--15); }
	.gx-md-15 { column-gap: var(--15); }
	.gy-md-15 { row-gap: var(--15); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-15 { padding-top: var(--15); }
	.pe-lg-15 { padding-right: var(--15); }
	.pb-lg-15 { padding-bottom: var(--15); }
	.ps-lg-15 { padding-left: var(--15); }
	.py-lg-15 { padding-top: var(--15); padding-bottom: var(--15); }
	.px-lg-15 { padding-left: var(--15); padding-right: var(--15); }
	.mt-lg-15 { margin-top: var(--15); }
	.me-lg-15 { margin-right: var(--15); }
	.mb-lg-15 { margin-bottom: var(--15); }
	.ms-lg-15 { margin-left: var(--15); }
	.my-lg-15 { margin-top: var(--15); margin-bottom: var(--15); }
	.mx-lg-15 { margin-left: var(--15); margin-right: var(--15); }
	.g-lg-15 { gap: var(--15); }
	.gx-lg-15 { column-gap: var(--15); }
	.gy-lg-15 { row-gap: var(--15); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-15 { padding-top: var(--15); }
	.pe-xl-15 { padding-right: var(--15); }
	.pb-xl-15 { padding-bottom: var(--15); }
	.ps-xl-15 { padding-left: var(--15); }
	.py-xl-15 { padding-top: var(--15); padding-bottom: var(--15); }
	.px-xl-15 { padding-left: var(--15); padding-right: var(--15); }
	.mt-xl-15 { margin-top: var(--15); }
	.me-xl-15 { margin-right: var(--15); }
	.mb-xl-15 { margin-bottom: var(--15); }
	.ms-xl-15 { margin-left: var(--15); }
	.my-xl-15 { margin-top: var(--15); margin-bottom: var(--15); }
	.mx-xl-15 { margin-left: var(--15); margin-right: var(--15); }
	.g-xl-15 { gap: var(--15); }
	.gx-xl-15 { column-gap: var(--15); }
	.gy-xl-15 { row-gap: var(--15); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-15 { padding-top: var(--15); }
	.pe-xxl-15 { padding-right: var(--15); }
	.pb-xxl-15 { padding-bottom: var(--15); }
	.ps-xxl-15 { padding-left: var(--15); }
	.py-xxl-15 { padding-top: var(--15); padding-bottom: var(--15); }
	.px-xxl-15 { padding-left: var(--15); padding-right: var(--15); }
	.mt-xxl-15 { margin-top: var(--15); }
	.me-xxl-15 { margin-right: var(--15); }
	.mb-xxl-15 { margin-bottom: var(--15); }
	.ms-xxl-15 { margin-left: var(--15); }
	.my-xxl-15 { margin-top: var(--15); margin-bottom: var(--15); }
	.mx-xxl-15 { margin-left: var(--15); margin-right: var(--15); }
	.g-xxl-15 { gap: var(--15); }
	.gx-xxl-15 { column-gap: var(--15); }
	.gy-xxl-15 { row-gap: var(--15); }
}

/* ============================================
   DIMENSIONE: 20
   ============================================ */

/* Base classes (no media query) */
.pt-20 { padding-top: var(--20); }
.pe-20 { padding-right: var(--20); }
.pb-20 { padding-bottom: var(--20); }
.ps-20 { padding-left: var(--20); }
.py-20 { padding-top: var(--20); padding-bottom: var(--20); }
.px-20 { padding-left: var(--20); padding-right: var(--20); }
.mt-20 { margin-top: var(--20); }
.me-20 { margin-right: var(--20); }
.mb-20 { margin-bottom: var(--20); }
.ms-20 { margin-left: var(--20); }
.my-20 { margin-top: var(--20); margin-bottom: var(--20); }
.mx-20 { margin-left: var(--20); margin-right: var(--20); }
.g-20 { gap: var(--20); }
.gx-20 { column-gap: var(--20); }
.gy-20 { row-gap: var(--20); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-20 { padding-top: var(--20); }
	.pe-sm-20 { padding-right: var(--20); }
	.pb-sm-20 { padding-bottom: var(--20); }
	.ps-sm-20 { padding-left: var(--20); }
	.py-sm-20 { padding-top: var(--20); padding-bottom: var(--20); }
	.px-sm-20 { padding-left: var(--20); padding-right: var(--20); }
	.mt-sm-20 { margin-top: var(--20); }
	.me-sm-20 { margin-right: var(--20); }
	.mb-sm-20 { margin-bottom: var(--20); }
	.ms-sm-20 { margin-left: var(--20); }
	.my-sm-20 { margin-top: var(--20); margin-bottom: var(--20); }
	.mx-sm-20 { margin-left: var(--20); margin-right: var(--20); }
	.g-sm-20 { gap: var(--20); }
	.gx-sm-20 { column-gap: var(--20); }
	.gy-sm-20 { row-gap: var(--20); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-20 { padding-top: var(--20); }
	.pe-md-20 { padding-right: var(--20); }
	.pb-md-20 { padding-bottom: var(--20); }
	.ps-md-20 { padding-left: var(--20); }
	.py-md-20 { padding-top: var(--20); padding-bottom: var(--20); }
	.px-md-20 { padding-left: var(--20); padding-right: var(--20); }
	.mt-md-20 { margin-top: var(--20); }
	.me-md-20 { margin-right: var(--20); }
	.mb-md-20 { margin-bottom: var(--20); }
	.ms-md-20 { margin-left: var(--20); }
	.my-md-20 { margin-top: var(--20); margin-bottom: var(--20); }
	.mx-md-20 { margin-left: var(--20); margin-right: var(--20); }
	.g-md-20 { gap: var(--20); }
	.gx-md-20 { column-gap: var(--20); }
	.gy-md-20 { row-gap: var(--20); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-20 { padding-top: var(--20); }
	.pe-lg-20 { padding-right: var(--20); }
	.pb-lg-20 { padding-bottom: var(--20); }
	.ps-lg-20 { padding-left: var(--20); }
	.py-lg-20 { padding-top: var(--20); padding-bottom: var(--20); }
	.px-lg-20 { padding-left: var(--20); padding-right: var(--20); }
	.mt-lg-20 { margin-top: var(--20); }
	.me-lg-20 { margin-right: var(--20); }
	.mb-lg-20 { margin-bottom: var(--20); }
	.ms-lg-20 { margin-left: var(--20); }
	.my-lg-20 { margin-top: var(--20); margin-bottom: var(--20); }
	.mx-lg-20 { margin-left: var(--20); margin-right: var(--20); }
	.g-lg-20 { gap: var(--20); }
	.gx-lg-20 { column-gap: var(--20); }
	.gy-lg-20 { row-gap: var(--20); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-20 { padding-top: var(--20); }
	.pe-xl-20 { padding-right: var(--20); }
	.pb-xl-20 { padding-bottom: var(--20); }
	.ps-xl-20 { padding-left: var(--20); }
	.py-xl-20 { padding-top: var(--20); padding-bottom: var(--20); }
	.px-xl-20 { padding-left: var(--20); padding-right: var(--20); }
	.mt-xl-20 { margin-top: var(--20); }
	.me-xl-20 { margin-right: var(--20); }
	.mb-xl-20 { margin-bottom: var(--20); }
	.ms-xl-20 { margin-left: var(--20); }
	.my-xl-20 { margin-top: var(--20); margin-bottom: var(--20); }
	.mx-xl-20 { margin-left: var(--20); margin-right: var(--20); }
	.g-xl-20 { gap: var(--20); }
	.gx-xl-20 { column-gap: var(--20); }
	.gy-xl-20 { row-gap: var(--20); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-20 { padding-top: var(--20); }
	.pe-xxl-20 { padding-right: var(--20); }
	.pb-xxl-20 { padding-bottom: var(--20); }
	.ps-xxl-20 { padding-left: var(--20); }
	.py-xxl-20 { padding-top: var(--20); padding-bottom: var(--20); }
	.px-xxl-20 { padding-left: var(--20); padding-right: var(--20); }
	.mt-xxl-20 { margin-top: var(--20); }
	.me-xxl-20 { margin-right: var(--20); }
	.mb-xxl-20 { margin-bottom: var(--20); }
	.ms-xxl-20 { margin-left: var(--20); }
	.my-xxl-20 { margin-top: var(--20); margin-bottom: var(--20); }
	.mx-xxl-20 { margin-left: var(--20); margin-right: var(--20); }
	.g-xxl-20 { gap: var(--20); }
	.gx-xxl-20 { column-gap: var(--20); }
	.gy-xxl-20 { row-gap: var(--20); }
}

/* ============================================
   DIMENSIONE: 25
   ============================================ */

/* Base classes (no media query) */
.pt-25 { padding-top: var(--25); }
.pe-25 { padding-right: var(--25); }
.pb-25 { padding-bottom: var(--25); }
.ps-25 { padding-left: var(--25); }
.py-25 { padding-top: var(--25); padding-bottom: var(--25); }
.px-25 { padding-left: var(--25); padding-right: var(--25); }
.mt-25 { margin-top: var(--25); }
.me-25 { margin-right: var(--25); }
.mb-25 { margin-bottom: var(--25); }
.ms-25 { margin-left: var(--25); }
.my-25 { margin-top: var(--25); margin-bottom: var(--25); }
.mx-25 { margin-left: var(--25); margin-right: var(--25); }
.g-25 { gap: var(--25); }
.gx-25 { column-gap: var(--25); }
.gy-25 { row-gap: var(--25); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-25 { padding-top: var(--25); }
	.pe-sm-25 { padding-right: var(--25); }
	.pb-sm-25 { padding-bottom: var(--25); }
	.ps-sm-25 { padding-left: var(--25); }
	.py-sm-25 { padding-top: var(--25); padding-bottom: var(--25); }
	.px-sm-25 { padding-left: var(--25); padding-right: var(--25); }
	.mt-sm-25 { margin-top: var(--25); }
	.me-sm-25 { margin-right: var(--25); }
	.mb-sm-25 { margin-bottom: var(--25); }
	.ms-sm-25 { margin-left: var(--25); }
	.my-sm-25 { margin-top: var(--25); margin-bottom: var(--25); }
	.mx-sm-25 { margin-left: var(--25); margin-right: var(--25); }
	.g-sm-25 { gap: var(--25); }
	.gx-sm-25 { column-gap: var(--25); }
	.gy-sm-25 { row-gap: var(--25); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-25 { padding-top: var(--25); }
	.pe-md-25 { padding-right: var(--25); }
	.pb-md-25 { padding-bottom: var(--25); }
	.ps-md-25 { padding-left: var(--25); }
	.py-md-25 { padding-top: var(--25); padding-bottom: var(--25); }
	.px-md-25 { padding-left: var(--25); padding-right: var(--25); }
	.mt-md-25 { margin-top: var(--25); }
	.me-md-25 { margin-right: var(--25); }
	.mb-md-25 { margin-bottom: var(--25); }
	.ms-md-25 { margin-left: var(--25); }
	.my-md-25 { margin-top: var(--25); margin-bottom: var(--25); }
	.mx-md-25 { margin-left: var(--25); margin-right: var(--25); }
	.g-md-25 { gap: var(--25); }
	.gx-md-25 { column-gap: var(--25); }
	.gy-md-25 { row-gap: var(--25); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-25 { padding-top: var(--25); }
	.pe-lg-25 { padding-right: var(--25); }
	.pb-lg-25 { padding-bottom: var(--25); }
	.ps-lg-25 { padding-left: var(--25); }
	.py-lg-25 { padding-top: var(--25); padding-bottom: var(--25); }
	.px-lg-25 { padding-left: var(--25); padding-right: var(--25); }
	.mt-lg-25 { margin-top: var(--25); }
	.me-lg-25 { margin-right: var(--25); }
	.mb-lg-25 { margin-bottom: var(--25); }
	.ms-lg-25 { margin-left: var(--25); }
	.my-lg-25 { margin-top: var(--25); margin-bottom: var(--25); }
	.mx-lg-25 { margin-left: var(--25); margin-right: var(--25); }
	.g-lg-25 { gap: var(--25); }
	.gx-lg-25 { column-gap: var(--25); }
	.gy-lg-25 { row-gap: var(--25); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-25 { padding-top: var(--25); }
	.pe-xl-25 { padding-right: var(--25); }
	.pb-xl-25 { padding-bottom: var(--25); }
	.ps-xl-25 { padding-left: var(--25); }
	.py-xl-25 { padding-top: var(--25); padding-bottom: var(--25); }
	.px-xl-25 { padding-left: var(--25); padding-right: var(--25); }
	.mt-xl-25 { margin-top: var(--25); }
	.me-xl-25 { margin-right: var(--25); }
	.mb-xl-25 { margin-bottom: var(--25); }
	.ms-xl-25 { margin-left: var(--25); }
	.my-xl-25 { margin-top: var(--25); margin-bottom: var(--25); }
	.mx-xl-25 { margin-left: var(--25); margin-right: var(--25); }
	.g-xl-25 { gap: var(--25); }
	.gx-xl-25 { column-gap: var(--25); }
	.gy-xl-25 { row-gap: var(--25); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-25 { padding-top: var(--25); }
	.pe-xxl-25 { padding-right: var(--25); }
	.pb-xxl-25 { padding-bottom: var(--25); }
	.ps-xxl-25 { padding-left: var(--25); }
	.py-xxl-25 { padding-top: var(--25); padding-bottom: var(--25); }
	.px-xxl-25 { padding-left: var(--25); padding-right: var(--25); }
	.mt-xxl-25 { margin-top: var(--25); }
	.me-xxl-25 { margin-right: var(--25); }
	.mb-xxl-25 { margin-bottom: var(--25); }
	.ms-xxl-25 { margin-left: var(--25); }
	.my-xxl-25 { margin-top: var(--25); margin-bottom: var(--25); }
	.mx-xxl-25 { margin-left: var(--25); margin-right: var(--25); }
	.g-xxl-25 { gap: var(--25); }
	.gx-xxl-25 { column-gap: var(--25); }
	.gy-xxl-25 { row-gap: var(--25); }
}

/* ============================================
   DIMENSIONE: 30
   ============================================ */

/* Base classes (no media query) */
.pt-30 { padding-top: var(--30); }
.pe-30 { padding-right: var(--30); }
.pb-30 { padding-bottom: var(--30); }
.ps-30 { padding-left: var(--30); }
.py-30 { padding-top: var(--30); padding-bottom: var(--30); }
.px-30 { padding-left: var(--30); padding-right: var(--30); }
.mt-30 { margin-top: var(--30); }
.me-30 { margin-right: var(--30); }
.mb-30 { margin-bottom: var(--30); }
.ms-30 { margin-left: var(--30); }
.my-30 { margin-top: var(--30); margin-bottom: var(--30); }
.mx-30 { margin-left: var(--30); margin-right: var(--30); }
.g-30 { gap: var(--30); }
.gx-30 { column-gap: var(--30); }
.gy-30 { row-gap: var(--30); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-30 { padding-top: var(--30); }
	.pe-sm-30 { padding-right: var(--30); }
	.pb-sm-30 { padding-bottom: var(--30); }
	.ps-sm-30 { padding-left: var(--30); }
	.py-sm-30 { padding-top: var(--30); padding-bottom: var(--30); }
	.px-sm-30 { padding-left: var(--30); padding-right: var(--30); }
	.mt-sm-30 { margin-top: var(--30); }
	.me-sm-30 { margin-right: var(--30); }
	.mb-sm-30 { margin-bottom: var(--30); }
	.ms-sm-30 { margin-left: var(--30); }
	.my-sm-30 { margin-top: var(--30); margin-bottom: var(--30); }
	.mx-sm-30 { margin-left: var(--30); margin-right: var(--30); }
	.g-sm-30 { gap: var(--30); }
	.gx-sm-30 { column-gap: var(--30); }
	.gy-sm-30 { row-gap: var(--30); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-30 { padding-top: var(--30); }
	.pe-md-30 { padding-right: var(--30); }
	.pb-md-30 { padding-bottom: var(--30); }
	.ps-md-30 { padding-left: var(--30); }
	.py-md-30 { padding-top: var(--30); padding-bottom: var(--30); }
	.px-md-30 { padding-left: var(--30); padding-right: var(--30); }
	.mt-md-30 { margin-top: var(--30); }
	.me-md-30 { margin-right: var(--30); }
	.mb-md-30 { margin-bottom: var(--30); }
	.ms-md-30 { margin-left: var(--30); }
	.my-md-30 { margin-top: var(--30); margin-bottom: var(--30); }
	.mx-md-30 { margin-left: var(--30); margin-right: var(--30); }
	.g-md-30 { gap: var(--30); }
	.gx-md-30 { column-gap: var(--30); }
	.gy-md-30 { row-gap: var(--30); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-30 { padding-top: var(--30); }
	.pe-lg-30 { padding-right: var(--30); }
	.pb-lg-30 { padding-bottom: var(--30); }
	.ps-lg-30 { padding-left: var(--30); }
	.py-lg-30 { padding-top: var(--30); padding-bottom: var(--30); }
	.px-lg-30 { padding-left: var(--30); padding-right: var(--30); }
	.mt-lg-30 { margin-top: var(--30); }
	.me-lg-30 { margin-right: var(--30); }
	.mb-lg-30 { margin-bottom: var(--30); }
	.ms-lg-30 { margin-left: var(--30); }
	.my-lg-30 { margin-top: var(--30); margin-bottom: var(--30); }
	.mx-lg-30 { margin-left: var(--30); margin-right: var(--30); }
	.g-lg-30 { gap: var(--30); }
	.gx-lg-30 { column-gap: var(--30); }
	.gy-lg-30 { row-gap: var(--30); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-30 { padding-top: var(--30); }
	.pe-xl-30 { padding-right: var(--30); }
	.pb-xl-30 { padding-bottom: var(--30); }
	.ps-xl-30 { padding-left: var(--30); }
	.py-xl-30 { padding-top: var(--30); padding-bottom: var(--30); }
	.px-xl-30 { padding-left: var(--30); padding-right: var(--30); }
	.mt-xl-30 { margin-top: var(--30); }
	.me-xl-30 { margin-right: var(--30); }
	.mb-xl-30 { margin-bottom: var(--30); }
	.ms-xl-30 { margin-left: var(--30); }
	.my-xl-30 { margin-top: var(--30); margin-bottom: var(--30); }
	.mx-xl-30 { margin-left: var(--30); margin-right: var(--30); }
	.g-xl-30 { gap: var(--30); }
	.gx-xl-30 { column-gap: var(--30); }
	.gy-xl-30 { row-gap: var(--30); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-30 { padding-top: var(--30); }
	.pe-xxl-30 { padding-right: var(--30); }
	.pb-xxl-30 { padding-bottom: var(--30); }
	.ps-xxl-30 { padding-left: var(--30); }
	.py-xxl-30 { padding-top: var(--30); padding-bottom: var(--30); }
	.px-xxl-30 { padding-left: var(--30); padding-right: var(--30); }
	.mt-xxl-30 { margin-top: var(--30); }
	.me-xxl-30 { margin-right: var(--30); }
	.mb-xxl-30 { margin-bottom: var(--30); }
	.ms-xxl-30 { margin-left: var(--30); }
	.my-xxl-30 { margin-top: var(--30); margin-bottom: var(--30); }
	.mx-xxl-30 { margin-left: var(--30); margin-right: var(--30); }
	.g-xxl-30 { gap: var(--30); }
	.gx-xxl-30 { column-gap: var(--30); }
	.gy-xxl-30 { row-gap: var(--30); }
}

/* ============================================
   DIMENSIONE: 50
   ============================================ */

/* Base classes (no media query) */
.pt-50 { padding-top: var(--50); }
.pe-50 { padding-right: var(--50); }
.pb-50 { padding-bottom: var(--50); }
.ps-50 { padding-left: var(--50); }
.py-50 { padding-top: var(--50); padding-bottom: var(--50); }
.px-50 { padding-left: var(--50); padding-right: var(--50); }
.mt-50 { margin-top: var(--50); }
.me-50 { margin-right: var(--50); }
.mb-50 { margin-bottom: var(--50); }
.ms-50 { margin-left: var(--50); }
.my-50 { margin-top: var(--50); margin-bottom: var(--50); }
.mx-50 { margin-left: var(--50); margin-right: var(--50); }
.g-50 { gap: var(--50); }
.gx-50 { column-gap: var(--50); }
.gy-50 { row-gap: var(--50); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-50 { padding-top: var(--50); }
	.pe-sm-50 { padding-right: var(--50); }
	.pb-sm-50 { padding-bottom: var(--50); }
	.ps-sm-50 { padding-left: var(--50); }
	.py-sm-50 { padding-top: var(--50); padding-bottom: var(--50); }
	.px-sm-50 { padding-left: var(--50); padding-right: var(--50); }
	.mt-sm-50 { margin-top: var(--50); }
	.me-sm-50 { margin-right: var(--50); }
	.mb-sm-50 { margin-bottom: var(--50); }
	.ms-sm-50 { margin-left: var(--50); }
	.my-sm-50 { margin-top: var(--50); margin-bottom: var(--50); }
	.mx-sm-50 { margin-left: var(--50); margin-right: var(--50); }
	.g-sm-50 { gap: var(--50); }
	.gx-sm-50 { column-gap: var(--50); }
	.gy-sm-50 { row-gap: var(--50); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-50 { padding-top: var(--50); }
	.pe-md-50 { padding-right: var(--50); }
	.pb-md-50 { padding-bottom: var(--50); }
	.ps-md-50 { padding-left: var(--50); }
	.py-md-50 { padding-top: var(--50); padding-bottom: var(--50); }
	.px-md-50 { padding-left: var(--50); padding-right: var(--50); }
	.mt-md-50 { margin-top: var(--50); }
	.me-md-50 { margin-right: var(--50); }
	.mb-md-50 { margin-bottom: var(--50); }
	.ms-md-50 { margin-left: var(--50); }
	.my-md-50 { margin-top: var(--50); margin-bottom: var(--50); }
	.mx-md-50 { margin-left: var(--50); margin-right: var(--50); }
	.g-md-50 { gap: var(--50); }
	.gx-md-50 { column-gap: var(--50); }
	.gy-md-50 { row-gap: var(--50); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-50 { padding-top: var(--50); }
	.pe-lg-50 { padding-right: var(--50); }
	.pb-lg-50 { padding-bottom: var(--50); }
	.ps-lg-50 { padding-left: var(--50); }
	.py-lg-50 { padding-top: var(--50); padding-bottom: var(--50); }
	.px-lg-50 { padding-left: var(--50); padding-right: var(--50); }
	.mt-lg-50 { margin-top: var(--50); }
	.me-lg-50 { margin-right: var(--50); }
	.mb-lg-50 { margin-bottom: var(--50); }
	.ms-lg-50 { margin-left: var(--50); }
	.my-lg-50 { margin-top: var(--50); margin-bottom: var(--50); }
	.mx-lg-50 { margin-left: var(--50); margin-right: var(--50); }
	.g-lg-50 { gap: var(--50); }
	.gx-lg-50 { column-gap: var(--50); }
	.gy-lg-50 { row-gap: var(--50); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-50 { padding-top: var(--50); }
	.pe-xl-50 { padding-right: var(--50); }
	.pb-xl-50 { padding-bottom: var(--50); }
	.ps-xl-50 { padding-left: var(--50); }
	.py-xl-50 { padding-top: var(--50); padding-bottom: var(--50); }
	.px-xl-50 { padding-left: var(--50); padding-right: var(--50); }
	.mt-xl-50 { margin-top: var(--50); }
	.me-xl-50 { margin-right: var(--50); }
	.mb-xl-50 { margin-bottom: var(--50); }
	.ms-xl-50 { margin-left: var(--50); }
	.my-xl-50 { margin-top: var(--50); margin-bottom: var(--50); }
	.mx-xl-50 { margin-left: var(--50); margin-right: var(--50); }
	.g-xl-50 { gap: var(--50); }
	.gx-xl-50 { column-gap: var(--50); }
	.gy-xl-50 { row-gap: var(--50); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-50 { padding-top: var(--50); }
	.pe-xxl-50 { padding-right: var(--50); }
	.pb-xxl-50 { padding-bottom: var(--50); }
	.ps-xxl-50 { padding-left: var(--50); }
	.py-xxl-50 { padding-top: var(--50); padding-bottom: var(--50); }
	.px-xxl-50 { padding-left: var(--50); padding-right: var(--50); }
	.mt-xxl-50 { margin-top: var(--50); }
	.me-xxl-50 { margin-right: var(--50); }
	.mb-xxl-50 { margin-bottom: var(--50); }
	.ms-xxl-50 { margin-left: var(--50); }
	.my-xxl-50 { margin-top: var(--50); margin-bottom: var(--50); }
	.mx-xxl-50 { margin-left: var(--50); margin-right: var(--50); }
	.g-xxl-50 { gap: var(--50); }
	.gx-xxl-50 { column-gap: var(--50); }
	.gy-xxl-50 { row-gap: var(--50); }
}

/* ============================================
   DIMENSIONE: 75
   ============================================ */

/* Base classes (no media query) */
.pt-75 { padding-top: var(--75); }
.pe-75 { padding-right: var(--75); }
.pb-75 { padding-bottom: var(--75); }
.ps-75 { padding-left: var(--75); }
.py-75 { padding-top: var(--75); padding-bottom: var(--75); }
.px-75 { padding-left: var(--75); padding-right: var(--75); }
.mt-75 { margin-top: var(--75); }
.me-75 { margin-right: var(--75); }
.mb-75 { margin-bottom: var(--75); }
.ms-75 { margin-left: var(--75); }
.my-75 { margin-top: var(--75); margin-bottom: var(--75); }
.mx-75 { margin-left: var(--75); margin-right: var(--75); }
.g-75 { gap: var(--75); }
.gx-75 { column-gap: var(--75); }
.gy-75 { row-gap: var(--75); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-75 { padding-top: var(--75); }
	.pe-sm-75 { padding-right: var(--75); }
	.pb-sm-75 { padding-bottom: var(--75); }
	.ps-sm-75 { padding-left: var(--75); }
	.py-sm-75 { padding-top: var(--75); padding-bottom: var(--75); }
	.px-sm-75 { padding-left: var(--75); padding-right: var(--75); }
	.mt-sm-75 { margin-top: var(--75); }
	.me-sm-75 { margin-right: var(--75); }
	.mb-sm-75 { margin-bottom: var(--75); }
	.ms-sm-75 { margin-left: var(--75); }
	.my-sm-75 { margin-top: var(--75); margin-bottom: var(--75); }
	.mx-sm-75 { margin-left: var(--75); margin-right: var(--75); }
	.g-sm-75 { gap: var(--75); }
	.gx-sm-75 { column-gap: var(--75); }
	.gy-sm-75 { row-gap: var(--75); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-75 { padding-top: var(--75); }
	.pe-md-75 { padding-right: var(--75); }
	.pb-md-75 { padding-bottom: var(--75); }
	.ps-md-75 { padding-left: var(--75); }
	.py-md-75 { padding-top: var(--75); padding-bottom: var(--75); }
	.px-md-75 { padding-left: var(--75); padding-right: var(--75); }
	.mt-md-75 { margin-top: var(--75); }
	.me-md-75 { margin-right: var(--75); }
	.mb-md-75 { margin-bottom: var(--75); }
	.ms-md-75 { margin-left: var(--75); }
	.my-md-75 { margin-top: var(--75); margin-bottom: var(--75); }
	.mx-md-75 { margin-left: var(--75); margin-right: var(--75); }
	.g-md-75 { gap: var(--75); }
	.gx-md-75 { column-gap: var(--75); }
	.gy-md-75 { row-gap: var(--75); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-75 { padding-top: var(--75); }
	.pe-lg-75 { padding-right: var(--75); }
	.pb-lg-75 { padding-bottom: var(--75); }
	.ps-lg-75 { padding-left: var(--75); }
	.py-lg-75 { padding-top: var(--75); padding-bottom: var(--75); }
	.px-lg-75 { padding-left: var(--75); padding-right: var(--75); }
	.mt-lg-75 { margin-top: var(--75); }
	.me-lg-75 { margin-right: var(--75); }
	.mb-lg-75 { margin-bottom: var(--75); }
	.ms-lg-75 { margin-left: var(--75); }
	.my-lg-75 { margin-top: var(--75); margin-bottom: var(--75); }
	.mx-lg-75 { margin-left: var(--75); margin-right: var(--75); }
	.g-lg-75 { gap: var(--75); }
	.gx-lg-75 { column-gap: var(--75); }
	.gy-lg-75 { row-gap: var(--75); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-75 { padding-top: var(--75); }
	.pe-xl-75 { padding-right: var(--75); }
	.pb-xl-75 { padding-bottom: var(--75); }
	.ps-xl-75 { padding-left: var(--75); }
	.py-xl-75 { padding-top: var(--75); padding-bottom: var(--75); }
	.px-xl-75 { padding-left: var(--75); padding-right: var(--75); }
	.mt-xl-75 { margin-top: var(--75); }
	.me-xl-75 { margin-right: var(--75); }
	.mb-xl-75 { margin-bottom: var(--75); }
	.ms-xl-75 { margin-left: var(--75); }
	.my-xl-75 { margin-top: var(--75); margin-bottom: var(--75); }
	.mx-xl-75 { margin-left: var(--75); margin-right: var(--75); }
	.g-xl-75 { gap: var(--75); }
	.gx-xl-75 { column-gap: var(--75); }
	.gy-xl-75 { row-gap: var(--60); }
}

/* XXL breakpoint (min-width: 1600px) - Nota: 60 usa 1600px */
@media (min-width: 1600px) {
	.pt-xxl-75 { padding-top: var(--75); }
	.pe-xxl-75 { padding-right: var(--75); }
	.pb-xxl-75 { padding-bottom: var(--75); }
	.ps-xxl-75 { padding-left: var(--75); }
	.py-xxl-75 { padding-top: var(--75); padding-bottom: var(--75); }
	.px-xxl-75 { padding-left: var(--75); padding-right: var(--75); }
	.mt-xxl-75 { margin-top: var(--75); }
	.me-xxl-75 { margin-right: var(--75); }
	.mb-xxl-75 { margin-bottom: var(--75); }
	.ms-xxl-75 { margin-left: var(--75); }
	.my-xxl-75 { margin-top: var(--75); margin-bottom: var(--75); }
	.mx-xxl-75 { margin-left: var(--75); margin-right: var(--75); }
	.g-xxl-75 { gap: var(--75); }
	.gx-xxl-75 { column-gap: var(--75); }
	.gy-xxl-75 { row-gap: var(--75); }
}

/* ============================================
   DIMENSIONE: 100
   ============================================ */

/* Base classes (no media query) */
.pt-100 { padding-top: var(--100); }
.pe-100 { padding-right: var(--100); }
.pb-100 { padding-bottom: var(--100); }
.ps-100 { padding-left: var(--100); }
.py-100 { padding-top: var(--100); padding-bottom: var(--100); }
.px-100 { padding-left: var(--100); padding-right: var(--100); }
.mt-100 { margin-top: var(--100); }
.me-100 { margin-right: var(--100); }
.mb-100 { margin-bottom: var(--100); }
.ms-100 { margin-left: var(--100); }
.my-100 { margin-top: var(--100); margin-bottom: var(--100); }
.mx-100 { margin-left: var(--100); margin-right: var(--100); }
.g-100 { gap: var(--100); }
.gx-100 { column-gap: var(--100); }
.gy-100 { row-gap: var(--100); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-100 { padding-top: var(--100); }
	.pe-sm-100 { padding-right: var(--100); }
	.pb-sm-100 { padding-bottom: var(--100); }
	.ps-sm-100 { padding-left: var(--100); }
	.py-sm-100 { padding-top: var(--100); padding-bottom: var(--100); }
	.px-sm-100 { padding-left: var(--100); padding-right: var(--100); }
	.mt-sm-100 { margin-top: var(--100); }
	.me-sm-100 { margin-right: var(--100); }
	.mb-sm-100 { margin-bottom: var(--100); }
	.ms-sm-100 { margin-left: var(--100); }
	.my-sm-100 { margin-top: var(--100); margin-bottom: var(--100); }
	.mx-sm-100 { margin-left: var(--100); margin-right: var(--100); }
	.g-sm-100 { gap: var(--100); }
	.gx-sm-100 { column-gap: var(--100); }
	.gy-sm-100 { row-gap: var(--100); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-100 { padding-top: var(--100); }
	.pe-md-100 { padding-right: var(--100); }
	.pb-md-100 { padding-bottom: var(--100); }
	.ps-md-100 { padding-left: var(--100); }
	.py-md-100 { padding-top: var(--100); padding-bottom: var(--100); }
	.px-md-100 { padding-left: var(--100); padding-right: var(--100); }
	.mt-md-100 { margin-top: var(--100); }
	.me-md-100 { margin-right: var(--100); }
	.mb-md-100 { margin-bottom: var(--100); }
	.ms-md-100 { margin-left: var(--100); }
	.my-md-100 { margin-top: var(--100); margin-bottom: var(--100); }
	.mx-md-100 { margin-left: var(--100); margin-right: var(--100); }
	.g-md-100 { gap: var(--100); }
	.gx-md-100 { column-gap: var(--100); }
	.gy-md-100 { row-gap: var(--100); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-100 { padding-top: var(--100); }
	.pe-lg-100 { padding-right: var(--100); }
	.pb-lg-100 { padding-bottom: var(--100); }
	.ps-lg-100 { padding-left: var(--100); }
	.py-lg-100 { padding-top: var(--100); padding-bottom: var(--100); }
	.px-lg-100 { padding-left: var(--100); padding-right: var(--100); }
	.mt-lg-100 { margin-top: var(--100); }
	.me-lg-100 { margin-right: var(--100); }
	.mb-lg-100 { margin-bottom: var(--100); }
	.ms-lg-100 { margin-left: var(--100); }
	.my-lg-100 { margin-top: var(--100); margin-bottom: var(--100); }
	.mx-lg-100 { margin-left: var(--100); margin-right: var(--100); }
	.g-lg-100 { gap: var(--100); }
	.gx-lg-100 { column-gap: var(--100); }
	.gy-lg-100 { row-gap: var(--100); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-100 { padding-top: var(--100); }
	.pe-xl-100 { padding-right: var(--100); }
	.pb-xl-100 { padding-bottom: var(--100); }
	.ps-xl-100 { padding-left: var(--100); }
	.py-xl-100 { padding-top: var(--100); padding-bottom: var(--100); }
	.px-xl-100 { padding-left: var(--100); padding-right: var(--100); }
	.mt-xl-100 { margin-top: var(--100); }
	.me-xl-100 { margin-right: var(--100); }
	.mb-xl-100 { margin-bottom: var(--100); }
	.ms-xl-100 { margin-left: var(--100); }
	.my-xl-100 { margin-top: var(--100); margin-bottom: var(--100); }
	.mx-xl-100 { margin-left: var(--100); margin-right: var(--100); }
	.g-xl-100 { gap: var(--100); }
	.gx-xl-100 { column-gap: var(--100); }
	.gy-xl-100 { row-gap: var(--100); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-100 { padding-top: var(--100); }
	.pe-xxl-100 { padding-right: var(--100); }
	.pb-xxl-100 { padding-bottom: var(--100); }
	.ps-xxl-100 { padding-left: var(--100); }
	.py-xxl-100 { padding-top: var(--100); padding-bottom: var(--100); }
	.px-xxl-100 { padding-left: var(--100); padding-right: var(--100); }
	.mt-xxl-100 { margin-top: var(--100); }
	.me-xxl-100 { margin-right: var(--100); }
	.mb-xxl-100 { margin-bottom: var(--100); }
	.ms-xxl-100 { margin-left: var(--100); }
	.my-xxl-100 { margin-top: var(--100); margin-bottom: var(--100); }
	.mx-xxl-100 { margin-left: var(--100); margin-right: var(--100); }
	.g-xxl-100 { gap: var(--100); }
	.gx-xxl-100 { column-gap: var(--100); }
	.gy-xxl-100 { row-gap: var(--100); }
}

/* ============================================
   DIMENSIONE: 125
   ============================================ */

/* Base classes (no media query) */
.pt-125 { padding-top: var(--125); }
.pe-125 { padding-right: var(--125); }
.pb-125 { padding-bottom: var(--125); }
.ps-125 { padding-left: var(--125); }
.py-125 { padding-top: var(--125); padding-bottom: var(--125); }
.px-125 { padding-left: var(--125); padding-right: var(--125); }
.mt-125 { margin-top: var(--125); }
.me-125 { margin-right: var(--125); }
.mb-125 { margin-bottom: var(--125); }
.ms-125 { margin-left: var(--125); }
.my-125 { margin-top: var(--125); margin-bottom: var(--125); }
.mx-125 { margin-left: var(--125); margin-right: var(--125); }
.g-125 { gap: var(--125); }
.gx-125 { column-gap: var(--125); }
.gy-125 { row-gap: var(--125); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-125 { padding-top: var(--125); }
	.pe-sm-125 { padding-right: var(--125); }
	.pb-sm-125 { padding-bottom: var(--125); }
	.ps-sm-125 { padding-left: var(--125); }
	.py-sm-125 { padding-top: var(--125); padding-bottom: var(--125); }
	.px-sm-125 { padding-left: var(--125); padding-right: var(--125); }
	.mt-sm-125 { margin-top: var(--125); }
	.me-sm-125 { margin-right: var(--125); }
	.mb-sm-125 { margin-bottom: var(--125); }
	.ms-sm-125 { margin-left: var(--125); }
	.my-sm-125 { margin-top: var(--125); margin-bottom: var(--125); }
	.mx-sm-125 { margin-left: var(--125); margin-right: var(--125); }
	.g-sm-125 { gap: var(--125); }
	.gx-sm-125 { column-gap: var(--125); }
	.gy-sm-125 { row-gap: var(--125); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-125 { padding-top: var(--125); }
	.pe-md-125 { padding-right: var(--125); }
	.pb-md-125 { padding-bottom: var(--125); }
	.ps-md-125 { padding-left: var(--125); }
	.py-md-125 { padding-top: var(--125); padding-bottom: var(--125); }
	.px-md-125 { padding-left: var(--125); padding-right: var(--125); }
	.mt-md-125 { margin-top: var(--125); }
	.me-md-125 { margin-right: var(--125); }
	.mb-md-125 { margin-bottom: var(--125); }
	.ms-md-125 { margin-left: var(--125); }
	.my-md-125 { margin-top: var(--125); margin-bottom: var(--125); }
	.mx-md-125 { margin-left: var(--125); margin-right: var(--125); }
	.g-md-125 { gap: var(--125); }
	.gx-md-125 { column-gap: var(--125); }
	.gy-md-125 { row-gap: var(--125); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-125 { padding-top: var(--125); }
	.pe-lg-125 { padding-right: var(--125); }
	.pb-lg-125 { padding-bottom: var(--125); }
	.ps-lg-125 { padding-left: var(--125); }
	.py-lg-125 { padding-top: var(--125); padding-bottom: var(--125); }
	.px-lg-125 { padding-left: var(--125); padding-right: var(--125); }
	.mt-lg-125 { margin-top: var(--125); }
	.me-lg-125 { margin-right: var(--125); }
	.mb-lg-125 { margin-bottom: var(--125); }
	.ms-lg-125 { margin-left: var(--125); }
	.my-lg-125 { margin-top: var(--125); margin-bottom: var(--125); }
	.mx-lg-125 { margin-left: var(--125); margin-right: var(--125); }
	.g-lg-125 { gap: var(--125); }
	.gx-lg-125 { column-gap: var(--125); }
	.gy-lg-125 { row-gap: var(--125); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-125 { padding-top: var(--125); }
	.pe-xl-125 { padding-right: var(--125); }
	.pb-xl-125 { padding-bottom: var(--125); }
	.ps-xl-125 { padding-left: var(--125); }
	.py-xl-125 { padding-top: var(--125); padding-bottom: var(--125); }
	.px-xl-125 { padding-left: var(--125); padding-right: var(--125); }
	.mt-xl-125 { margin-top: var(--125); }
	.me-xl-125 { margin-right: var(--125); }
	.mb-xl-125 { margin-bottom: var(--125); }
	.ms-xl-125 { margin-left: var(--125); }
	.my-xl-125 { margin-top: var(--125); margin-bottom: var(--125); }
	.mx-xl-125 { margin-left: var(--125); margin-right: var(--125); }
	.g-xl-125 { gap: var(--125); }
	.gx-xl-125 { column-gap: var(--125); }
	.gy-xl-125 { row-gap: var(--125); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-125 { padding-top: var(--125); }
	.pe-xxl-125 { padding-right: var(--125); }
	.pb-xxl-125 { padding-bottom: var(--125); }
	.ps-xxl-125 { padding-left: var(--125); }
	.py-xxl-125 { padding-top: var(--125); padding-bottom: var(--125); }
	.px-xxl-125 { padding-left: var(--125); padding-right: var(--125); }
	.mt-xxl-125 { margin-top: var(--125); }
	.me-xxl-125 { margin-right: var(--125); }
	.mb-xxl-125 { margin-bottom: var(--125); }
	.ms-xxl-125 { margin-left: var(--125); }
	.my-xxl-125 { margin-top: var(--125); margin-bottom: var(--125); }
	.mx-xxl-125 { margin-left: var(--125); margin-right: var(--125); }
	.g-xxl-125 { gap: var(--125); }
	.gx-xxl-125 { column-gap: var(--125); }
	.gy-xxl-125 { row-gap: var(--125); }
}

/* ============================================
   DIMENSIONE: 150
   ============================================ */

/* Base classes (no media query) */
.pt-150 { padding-top: var(--150); }
.pe-150 { padding-right: var(--150); }
.pb-150 { padding-bottom: var(--150); }
.ps-150 { padding-left: var(--150); }
.py-150 { padding-top: var(--150); padding-bottom: var(--150); }
.px-150 { padding-left: var(--150); padding-right: var(--150); }
.mt-150 { margin-top: var(--150); }
.me-150 { margin-right: var(--150); }
.mb-150 { margin-bottom: var(--150); }
.ms-150 { margin-left: var(--150); }
.my-150 { margin-top: var(--150); margin-bottom: var(--150); }
.mx-150 { margin-left: var(--150); margin-right: var(--150); }
.g-150 { gap: var(--150); }
.gx-150 { column-gap: var(--150); }
.gy-150 { row-gap: var(--150); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-150 { padding-top: var(--150); }
	.pe-sm-150 { padding-right: var(--150); }
	.pb-sm-150 { padding-bottom: var(--150); }
	.ps-sm-150 { padding-left: var(--150); }
	.py-sm-150 { padding-top: var(--150); padding-bottom: var(--150); }
	.px-sm-150 { padding-left: var(--150); padding-right: var(--150); }
	.mt-sm-150 { margin-top: var(--150); }
	.me-sm-150 { margin-right: var(--150); }
	.mb-sm-150 { margin-bottom: var(--150); }
	.ms-sm-150 { margin-left: var(--150); }
	.my-sm-150 { margin-top: var(--150); margin-bottom: var(--150); }
	.mx-sm-150 { margin-left: var(--150); margin-right: var(--150); }
	.g-sm-150 { gap: var(--150); }
	.gx-sm-150 { column-gap: var(--150); }
	.gy-sm-150 { row-gap: var(--150); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-150 { padding-top: var(--150); }
	.pe-md-150 { padding-right: var(--150); }
	.pb-md-150 { padding-bottom: var(--150); }
	.ps-md-150 { padding-left: var(--150); }
	.py-md-150 { padding-top: var(--150); padding-bottom: var(--150); }
	.px-md-150 { padding-left: var(--150); padding-right: var(--150); }
	.mt-md-150 { margin-top: var(--150); }
	.me-md-150 { margin-right: var(--150); }
	.mb-md-150 { margin-bottom: var(--150); }
	.ms-md-150 { margin-left: var(--150); }
	.my-md-150 { margin-top: var(--150); margin-bottom: var(--150); }
	.mx-md-150 { margin-left: var(--150); margin-right: var(--150); }
	.g-md-150 { gap: var(--150); }
	.gx-md-150 { column-gap: var(--150); }
	.gy-md-150 { row-gap: var(--150); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-150 { padding-top: var(--150); }
	.pe-lg-150 { padding-right: var(--150); }
	.pb-lg-150 { padding-bottom: var(--150); }
	.ps-lg-150 { padding-left: var(--150); }
	.py-lg-150 { padding-top: var(--150); padding-bottom: var(--150); }
	.px-lg-150 { padding-left: var(--150); padding-right: var(--150); }
	.mt-lg-150 { margin-top: var(--150); }
	.me-lg-150 { margin-right: var(--150); }
	.mb-lg-150 { margin-bottom: var(--150); }
	.ms-lg-150 { margin-left: var(--150); }
	.my-lg-150 { margin-top: var(--150); margin-bottom: var(--150); }
	.mx-lg-150 { margin-left: var(--150); margin-right: var(--150); }
	.g-lg-150 { gap: var(--150); }
	.gx-lg-150 { column-gap: var(--150); }
	.gy-lg-150 { row-gap: var(--150); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-150 { padding-top: var(--150); }
	.pe-xl-150 { padding-right: var(--150); }
	.pb-xl-150 { padding-bottom: var(--150); }
	.ps-xl-150 { padding-left: var(--150); }
	.py-xl-150 { padding-top: var(--150); padding-bottom: var(--150); }
	.px-xl-150 { padding-left: var(--150); padding-right: var(--150); }
	.mt-xl-150 { margin-top: var(--150); }
	.me-xl-150 { margin-right: var(--150); }
	.mb-xl-150 { margin-bottom: var(--150); }
	.ms-xl-150 { margin-left: var(--150); }
	.my-xl-150 { margin-top: var(--150); margin-bottom: var(--150); }
	.mx-xl-150 { margin-left: var(--150); margin-right: var(--150); }
	.g-xl-150 { gap: var(--150); }
	.gx-xl-150 { column-gap: var(--150); }
	.gy-xl-150 { row-gap: var(--150); }
}

/* XXL breakpoint (min-width: 1600px) - Nota: 160 usa 1600px */
@media (min-width: 1600px) {
	.pt-xxl-150 { padding-top: var(--150); }
	.pe-xxl-150 { padding-right: var(--150); }
	.pb-xxl-150 { padding-bottom: var(--150); }
	.ps-xxl-150 { padding-left: var(--150); }
	.py-xxl-150 { padding-top: var(--150); padding-bottom: var(--150); }
	.px-xxl-150 { padding-left: var(--150); padding-right: var(--150); }
	.mt-xxl-150 { margin-top: var(--150); }
	.me-xxl-150 { margin-right: var(--150); }
	.mb-xxl-150 { margin-bottom: var(--150); }
	.ms-xxl-150 { margin-left: var(--150); }
	.my-xxl-150 { margin-top: var(--150); margin-bottom: var(--150); }
	.mx-xxl-150 { margin-left: var(--150); margin-right: var(--150); }
	.g-xxl-150 { gap: var(--150); }
	.gx-xxl-150 { column-gap: var(--150); }
	.gy-xxl-150 { row-gap: var(--150); }
}

/* ============================================
   DIMENSIONE: 175
   ============================================ */

/* Base classes (no media query) */
.pt-175 { padding-top: var(--175); }
.pe-175 { padding-right: var(--175); }
.pb-175 { padding-bottom: var(--175); }
.ps-175 { padding-left: var(--175); }
.py-175 { padding-top: var(--175); padding-bottom: var(--175); }
.px-175 { padding-left: var(--175); padding-right: var(--175); }
.mt-175 { margin-top: var(--175); }
.me-175 { margin-right: var(--175); }
.mb-175 { margin-bottom: var(--175); }
.ms-175 { margin-left: var(--175); }
.my-175 { margin-top: var(--175); margin-bottom: var(--175); }
.mx-175 { margin-left: var(--175); margin-right: var(--175); }
.g-175 { gap: var(--175); }
.gx-175 { column-gap: var(--175); }
.gy-175 { row-gap: var(--175); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-175 { padding-top: var(--175); }
	.pe-sm-175 { padding-right: var(--175); }
	.pb-sm-175 { padding-bottom: var(--175); }
	.ps-sm-175 { padding-left: var(--175); }
	.py-sm-175 { padding-top: var(--175); padding-bottom: var(--175); }
	.px-sm-175 { padding-left: var(--175); padding-right: var(--175); }
	.mt-sm-175 { margin-top: var(--175); }
	.me-sm-175 { margin-right: var(--175); }
	.mb-sm-175 { margin-bottom: var(--175); }
	.ms-sm-175 { margin-left: var(--175); }
	.my-sm-175 { margin-top: var(--175); margin-bottom: var(--175); }
	.mx-sm-175 { margin-left: var(--175); margin-right: var(--175); }
	.g-sm-175 { gap: var(--175); }
	.gx-sm-175 { column-gap: var(--175); }
	.gy-sm-175 { row-gap: var(--175); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-175 { padding-top: var(--175); }
	.pe-md-175 { padding-right: var(--175); }
	.pb-md-175 { padding-bottom: var(--175); }
	.ps-md-175 { padding-left: var(--175); }
	.py-md-175 { padding-top: var(--175); padding-bottom: var(--175); }
	.px-md-175 { padding-left: var(--175); padding-right: var(--175); }
	.mt-md-175 { margin-top: var(--175); }
	.me-md-175 { margin-right: var(--175); }
	.mb-md-175 { margin-bottom: var(--175); }
	.ms-md-175 { margin-left: var(--175); }
	.my-md-175 { margin-top: var(--175); margin-bottom: var(--175); }
	.mx-md-175 { margin-left: var(--175); margin-right: var(--175); }
	.g-md-175 { gap: var(--175); }
	.gx-md-175 { column-gap: var(--175); }
	.gy-md-175 { row-gap: var(--175); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-175 { padding-top: var(--175); }
	.pe-lg-175 { padding-right: var(--175); }
	.pb-lg-175 { padding-bottom: var(--175); }
	.ps-lg-175 { padding-left: var(--175); }
	.py-lg-175 { padding-top: var(--175); padding-bottom: var(--175); }
	.px-lg-175 { padding-left: var(--175); padding-right: var(--175); }
	.mt-lg-175 { margin-top: var(--175); }
	.me-lg-175 { margin-right: var(--175); }
	.mb-lg-175 { margin-bottom: var(--175); }
	.ms-lg-175 { margin-left: var(--175); }
	.my-lg-175 { margin-top: var(--175); margin-bottom: var(--175); }
	.mx-lg-175 { margin-left: var(--175); margin-right: var(--175); }
	.g-lg-175 { gap: var(--175); }
	.gx-lg-175 { column-gap: var(--175); }
	.gy-lg-175 { row-gap: var(--175); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-175 { padding-top: var(--175); }
	.pe-xl-175 { padding-right: var(--175); }
	.pb-xl-175 { padding-bottom: var(--175); }
	.ps-xl-175 { padding-left: var(--175); }
	.py-xl-175 { padding-top: var(--175); padding-bottom: var(--175); }
	.px-xl-175 { padding-left: var(--175); padding-right: var(--175); }
	.mt-xl-175 { margin-top: var(--175); }
	.me-xl-175 { margin-right: var(--175); }
	.mb-xl-175 { margin-bottom: var(--175); }
	.ms-xl-175 { margin-left: var(--175); }
	.my-xl-175 { margin-top: var(--175); margin-bottom: var(--175); }
	.mx-xl-175 { margin-left: var(--175); margin-right: var(--175); }
	.g-xl-175 { gap: var(--175); }
	.gx-xl-175 { column-gap: var(--175); }
	.gy-xl-175 { row-gap: var(--175); }
}

/* XXL breakpoint (min-width: 1600px) - Nota: 160 usa 1600px */
@media (min-width: 1600px) {
	.pt-xxl-175 { padding-top: var(--175); }
	.pe-xxl-175 { padding-right: var(--175); }
	.pb-xxl-175 { padding-bottom: var(--175); }
	.ps-xxl-175 { padding-left: var(--175); }
	.py-xxl-175 { padding-top: var(--175); padding-bottom: var(--175); }
	.px-xxl-175 { padding-left: var(--175); padding-right: var(--175); }
	.mt-xxl-175 { margin-top: var(--175); }
	.me-xxl-175 { margin-right: var(--175); }
	.mb-xxl-175 { margin-bottom: var(--175); }
	.ms-xxl-175 { margin-left: var(--175); }
	.my-xxl-175 { margin-top: var(--175); margin-bottom: var(--175); }
	.mx-xxl-175 { margin-left: var(--175); margin-right: var(--175); }
	.g-xxl-175 { gap: var(--175); }
	.gx-xxl-175 { column-gap: var(--175); }
	.gy-xxl-175 { row-gap: var(--175); }
}

/* ============================================
   DIMENSIONE: 200
   ============================================ */

/* Base classes (no media query) */
.pt-200 { padding-top: var(--200); }
.pe-200 { padding-right: var(--200); }
.pb-200 { padding-bottom: var(--200); }
.ps-200 { padding-left: var(--200); }
.py-200 { padding-top: var(--200); padding-bottom: var(--200); }
.px-200 { padding-left: var(--200); padding-right: var(--200); }
.mt-200 { margin-top: var(--200); }
.me-200 { margin-right: var(--200); }
.mb-200 { margin-bottom: var(--200); }
.ms-200 { margin-left: var(--200); }
.my-200 { margin-top: var(--200); margin-bottom: var(--200); }
.mx-200 { margin-left: var(--200); margin-right: var(--200); }
.g-200 { gap: var(--200); }
.gx-200 { column-gap: var(--200); }
.gy-200 { row-gap: var(--200); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-200 { padding-top: var(--200); }
	.pe-sm-200 { padding-right: var(--200); }
	.pb-sm-200 { padding-bottom: var(--200); }
	.ps-sm-200 { padding-left: var(--200); }
	.py-sm-200 { padding-top: var(--200); padding-bottom: var(--200); }
	.px-sm-200 { padding-left: var(--200); padding-right: var(--200); }
	.mt-sm-200 { margin-top: var(--200); }
	.me-sm-200 { margin-right: var(--200); }
	.mb-sm-200 { margin-bottom: var(--200); }
	.ms-sm-200 { margin-left: var(--200); }
	.my-sm-200 { margin-top: var(--200); margin-bottom: var(--200); }
	.mx-sm-200 { margin-left: var(--200); margin-right: var(--200); }
	.g-sm-200 { gap: var(--200); }
	.gx-sm-200 { column-gap: var(--200); }
	.gy-sm-200 { row-gap: var(--200); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-200 { padding-top: var(--200); }
	.pe-md-200 { padding-right: var(--200); }
	.pb-md-200 { padding-bottom: var(--200); }
	.ps-md-200 { padding-left: var(--200); }
	.py-md-200 { padding-top: var(--200); padding-bottom: var(--200); }
	.px-md-200 { padding-left: var(--200); padding-right: var(--200); }
	.mt-md-200 { margin-top: var(--200); }
	.me-md-200 { margin-right: var(--200); }
	.mb-md-200 { margin-bottom: var(--200); }
	.ms-md-200 { margin-left: var(--200); }
	.my-md-200 { margin-top: var(--200); margin-bottom: var(--200); }
	.mx-md-200 { margin-left: var(--200); margin-right: var(--200); }
	.g-md-200 { gap: var(--200); }
	.gx-md-200 { column-gap: var(--200); }
	.gy-md-200 { row-gap: var(--200); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-200 { padding-top: var(--200); }
	.pe-lg-200 { padding-right: var(--200); }
	.pb-lg-200 { padding-bottom: var(--200); }
	.ps-lg-200 { padding-left: var(--200); }
	.py-lg-200 { padding-top: var(--200); padding-bottom: var(--200); }
	.px-lg-200 { padding-left: var(--200); padding-right: var(--200); }
	.mt-lg-200 { margin-top: var(--200); }
	.me-lg-200 { margin-right: var(--200); }
	.mb-lg-200 { margin-bottom: var(--200); }
	.ms-lg-200 { margin-left: var(--200); }
	.my-lg-200 { margin-top: var(--200); margin-bottom: var(--200); }
	.mx-lg-200 { margin-left: var(--200); margin-right: var(--200); }
	.g-lg-200 { gap: var(--200); }
	.gx-lg-200 { column-gap: var(--200); }
	.gy-lg-200 { row-gap: var(--200); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-200 { padding-top: var(--200); }
	.pe-xl-200 { padding-right: var(--200); }
	.pb-xl-200 { padding-bottom: var(--200); }
	.ps-xl-200 { padding-left: var(--200); }
	.py-xl-200 { padding-top: var(--200); padding-bottom: var(--200); }
	.px-xl-200 { padding-left: var(--200); padding-right: var(--200); }
	.mt-xl-200 { margin-top: var(--200); }
	.me-xl-200 { margin-right: var(--200); }
	.mb-xl-200 { margin-bottom: var(--200); }
	.ms-xl-200 { margin-left: var(--200); }
	.my-xl-200 { margin-top: var(--200); margin-bottom: var(--200); }
	.mx-xl-200 { margin-left: var(--200); margin-right: var(--200); }
	.g-xl-200 { gap: var(--200); }
	.gx-xl-200 { column-gap: var(--200); }
	.gy-xl-200 { row-gap: var(--200); }
}

/* XXL breakpoint (min-width: 1600px) - Nota: 200 usa 1600px */
@media (min-width: 1600px) {
	.pt-xxl-200 { padding-top: var(--200); }
	.pe-xxl-200 { padding-right: var(--200); }
	.pb-xxl-200 { padding-bottom: var(--200); }
	.ps-xxl-200 { padding-left: var(--200); }
	.py-xxl-200 { padding-top: var(--200); padding-bottom: var(--200); }
	.px-xxl-200 { padding-left: var(--200); padding-right: var(--200); }
	.mt-xxl-200 { margin-top: var(--200); }
	.me-xxl-200 { margin-right: var(--200); }
	.mb-xxl-200 { margin-bottom: var(--200); }
	.ms-xxl-200 { margin-left: var(--200); }
	.my-xxl-200 { margin-top: var(--200); margin-bottom: var(--200); }
	.mx-xxl-200 { margin-left: var(--200); margin-right: var(--200); }
	.g-xxl-200 { gap: var(--200); }
	.gx-xxl-200 { column-gap: var(--200); }
	.gy-xxl-200 { row-gap: var(--200); }
}

/* ============================================
   DIMENSIONE: 250
   ============================================ */

/* Base classes (no media query) */
.pt-250 { padding-top: var(--250); }
.pe-250 { padding-right: var(--250); }
.pb-250 { padding-bottom: var(--250); }
.ps-250 { padding-left: var(--250); }
.py-250 { padding-top: var(--250); padding-bottom: var(--250); }
.px-250 { padding-left: var(--250); padding-right: var(--250); }
.mt-250 { margin-top: var(--250); }
.me-250 { margin-right: var(--250); }
.mb-250 { margin-bottom: var(--250); }
.ms-250 { margin-left: var(--250); }
.my-250 { margin-top: var(--250); margin-bottom: var(--250); }
.mx-250 { margin-left: var(--250); margin-right: var(--250); }
.g-250 { gap: var(--250); }
.gx-250 { column-gap: var(--250); }
.gy-250 { row-gap: var(--250); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-250 { padding-top: var(--250); }
	.pe-sm-250 { padding-right: var(--250); }
	.pb-sm-250 { padding-bottom: var(--250); }
	.ps-sm-250 { padding-left: var(--250); }
	.py-sm-250 { padding-top: var(--250); padding-bottom: var(--250); }
	.px-sm-250 { padding-left: var(--250); padding-right: var(--250); }
	.mt-sm-250 { margin-top: var(--250); }
	.me-sm-250 { margin-right: var(--250); }
	.mb-sm-250 { margin-bottom: var(--250); }
	.ms-sm-250 { margin-left: var(--250); }
	.my-sm-250 { margin-top: var(--250); margin-bottom: var(--250); }
	.mx-sm-250 { margin-left: var(--250); margin-right: var(--250); }
	.g-sm-250 { gap: var(--250); }
	.gx-sm-250 { column-gap: var(--250); }
	.gy-sm-250 { row-gap: var(--250); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-250 { padding-top: var(--250); }
	.pe-md-250 { padding-right: var(--250); }
	.pb-md-250 { padding-bottom: var(--250); }
	.ps-md-250 { padding-left: var(--250); }
	.py-md-250 { padding-top: var(--250); padding-bottom: var(--250); }
	.px-md-250 { padding-left: var(--250); padding-right: var(--250); }
	.mt-md-250 { margin-top: var(--250); }
	.me-md-250 { margin-right: var(--250); }
	.mb-md-250 { margin-bottom: var(--250); }
	.ms-md-250 { margin-left: var(--250); }
	.my-md-250 { margin-top: var(--250); margin-bottom: var(--250); }
	.mx-md-250 { margin-left: var(--250); margin-right: var(--250); }
	.g-md-250 { gap: var(--250); }
	.gx-md-250 { column-gap: var(--250); }
	.gy-md-250 { row-gap: var(--250); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-250 { padding-top: var(--250); }
	.pe-lg-250 { padding-right: var(--250); }
	.pb-lg-250 { padding-bottom: var(--250); }
	.ps-lg-250 { padding-left: var(--250); }
	.py-lg-250 { padding-top: var(--250); padding-bottom: var(--250); }
	.px-lg-250 { padding-left: var(--250); padding-right: var(--250); }
	.mt-lg-250 { margin-top: var(--250); }
	.me-lg-250 { margin-right: var(--250); }
	.mb-lg-250 { margin-bottom: var(--250); }
	.ms-lg-250 { margin-left: var(--250); }
	.my-lg-250 { margin-top: var(--250); margin-bottom: var(--250); }
	.mx-lg-250 { margin-left: var(--250); margin-right: var(--250); }
	.g-lg-250 { gap: var(--250); }
	.gx-lg-250 { column-gap: var(--250); }
	.gy-lg-250 { row-gap: var(--250); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-250 { padding-top: var(--250); }
	.pe-xl-250 { padding-right: var(--250); }
	.pb-xl-250 { padding-bottom: var(--250); }
	.ps-xl-250 { padding-left: var(--250); }
	.py-xl-250 { padding-top: var(--250); padding-bottom: var(--250); }
	.px-xl-250 { padding-left: var(--250); padding-right: var(--250); }
	.mt-xl-250 { margin-top: var(--250); }
	.me-xl-250 { margin-right: var(--250); }
	.mb-xl-250 { margin-bottom: var(--250); }
	.ms-xl-250 { margin-left: var(--250); }
	.my-xl-250 { margin-top: var(--250); margin-bottom: var(--250); }
	.mx-xl-250 { margin-left: var(--250); margin-right: var(--250); }
	.g-xl-250 { gap: var(--250); }
	.gx-xl-250 { column-gap: var(--250); }
	.gy-xl-250 { row-gap: var(--250); }
}

/* XXL breakpoint (min-width: 1600px) - Nota: 250 usa 1600px */
@media (min-width: 1600px) {
	.pt-xxl-250 { padding-top: var(--250); }
	.pe-xxl-250 { padding-right: var(--250); }
	.pb-xxl-250 { padding-bottom: var(--250); }
	.ps-xxl-250 { padding-left: var(--250); }
	.py-xxl-250 { padding-top: var(--250); padding-bottom: var(--250); }
	.px-xxl-250 { padding-left: var(--250); padding-right: var(--250); }
	.mt-xxl-250 { margin-top: var(--250); }
	.me-xxl-250 { margin-right: var(--250); }
	.mb-xxl-250 { margin-bottom: var(--250); }
	.ms-xxl-250 { margin-left: var(--250); }
	.my-xxl-250 { margin-top: var(--250); margin-bottom: var(--250); }
	.mx-xxl-250 { margin-left: var(--250); margin-right: var(--250); }
	.g-xxl-250 { gap: var(--250); }
	.gx-xxl-250 { column-gap: var(--250); }
	.gy-xxl-250 { row-gap: var(--250); }
}

/* GRID */

/* Base: Mobile-first (da 0 a 575px) */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-7 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-9 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-10 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-11 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-12 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Breakpoint SM (≥ 576px) */
@media (min-width: 576px) {
  	.grid-cols-sm-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-sm-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-sm-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-sm-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-sm-5 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-sm-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-sm-7 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-sm-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-sm-9 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-sm-10 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-sm-11 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-sm-12 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Breakpoint MD (≥ 768px) */
@media (min-width: 768px) {
	.grid-cols-md-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-md-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-md-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-md-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-md-5 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-md-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-md-7 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-md-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-md-9 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-md-10 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-md-11 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-md-12 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Breakpoint LG (≥ 992px) */
@media (min-width: 992px) {
	.grid-cols-lg-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-lg-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-lg-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-lg-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-lg-5 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-lg-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-lg-7 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-lg-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-lg-9 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-lg-10 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-lg-11 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-lg-12 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Breakpoint XL (≥ 1200px) */
@media (min-width: 1200px) {
	.grid-cols-xl-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-xl-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-xl-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-xl-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xl-5 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-xl-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-xl-7 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-xl-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xl-9 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xl-10 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xl-11 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xl-12 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1600px) {
	.grid-cols-xxl-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-xxl-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-xxl-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-xxl-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xxl-5 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-xxl-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-xxl-7 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-xxl-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xxl-9 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xxl-10 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xxl-11 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xxl-12 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* RATIO */

.ratio-3x2 {
	aspect-ratio: 3 / 2;
}

.ratio-2x3 {
	aspect-ratio: 2 / 3;
}

.ratio-4x3 {
	aspect-ratio: 4 / 3;
}

.ratio-3x4 {
	aspect-ratio: 3 / 4;
}

.ratio-4x5 {
	aspect-ratio: 4 / 5;
}

.ratio-5x4 {
	aspect-ratio: 5 / 4;
}

.ratio-5x6 {
	aspect-ratio: 5 / 6;
}

.ratio-6x5 {
	aspect-ratio: 6 / 5;
}

.ratio-9x6 {
	aspect-ratio: 9 / 6;
}

.ratio-6x9 {
	aspect-ratio: 6 / 9;
}

.ratio-16x9 {
	aspect-ratio: 16 / 9;
}

.ratio-9x16 {
	aspect-ratio: 9 / 16;
}

.ratio-1x1 {
	aspect-ratio: 1 / 1;
}

@media (min-width: 576px) {
	.ratio-sm-3x2 {
		aspect-ratio: 3 / 2;
	}
	.ratio-sm-2x3 {
		aspect-ratio: 2 / 3;
	}
	.ratio-sm-4x3 {
		aspect-ratio: 4 / 3;
	}
	.ratio-sm-3x4 {
		aspect-ratio: 3 / 4;
	}
	.ratio-sm-5x6 {
		aspect-ratio: 5 / 6;
	}
	.ratio-sm-6x5 {
		aspect-ratio: 6 / 5;
	}
	.ratio-sm-9x6 {
		aspect-ratio: 9 / 6;
	}
	.ratio-sm-6x9 {
		aspect-ratio: 6 / 9;
	}
	.ratio-sm-16x9 {
		aspect-ratio: 16 / 9;
	}
	.ratio-sm-9x16 {
		aspect-ratio: 9 / 16;
	}
	.ratio-sm-1x1 {
		aspect-ratio: 1 / 1;
	}
}

@media (min-width: 768px) {
	.ratio-md-3x2 {
		aspect-ratio: 3 / 2;
	}
	.ratio-md-2x3 {
		aspect-ratio: 2 / 3;
	}
	.ratio-md-4x3 {
		aspect-ratio: 4 / 3;
	}
	.ratio-md-3x4 {
		aspect-ratio: 3 / 4;
	}
	.ratio-md-5x6 {
		aspect-ratio: 5 / 6;
	}
	.ratio-md-6x5 {
		aspect-ratio: 6 / 5;
	}
	.ratio-md-9x6 {
		aspect-ratio: 9 / 6;
	}
	.ratio-md-6x9 {
		aspect-ratio: 6 / 9;
	}
	.ratio-md-16x9 {
		aspect-ratio: 16 / 9;
	}
	.ratio-md-9x16 {
		aspect-ratio: 9 / 16;
	}
	.ratio-md-1x1 {
		aspect-ratio: 1 / 1;
	}
}

@media (min-width: 992px) {
	.ratio-lg-3x2 {
		aspect-ratio: 3 / 2;
	}
	.ratio-lg-2x3 {
		aspect-ratio: 2 / 3;
	}
	.ratio-lg-4x3 {
		aspect-ratio: 4 / 3;
	}
	.ratio-lg-3x4 {
		aspect-ratio: 3 / 4;
	}
	.ratio-lg-5x6 {
		aspect-ratio: 5 / 6;
	}
	.ratio-lg-6x5 {
		aspect-ratio: 6 / 5;
	}
	.ratio-lg-9x6 {
		aspect-ratio: 9 / 6;
	}
	.ratio-lg-6x9 {
		aspect-ratio: 6 / 9;
	}
	.ratio-lg-16x9 {
		aspect-ratio: 16 / 9;
	}
	.ratio-lg-9x16 {
		aspect-ratio: 9 / 16;
	}
	.ratio-lg-1x1 {
		aspect-ratio: 1 / 1;
	}
}

@media (min-width: 1200px) {
	.ratio-xl-3x2 {
		aspect-ratio: 3 / 2;
	}
	.ratio-xl-2x3 {
		aspect-ratio: 2 / 3;
	}
	.ratio-xl-4x3 {
		aspect-ratio: 4 / 3;
	}
	.ratio-xl-3x4 {
		aspect-ratio: 3 / 4;
	}
	.ratio-xl-5x6 {
		aspect-ratio: 5 / 6;
	}
	.ratio-xl-6x5 {
		aspect-ratio: 6 / 5;
	}
	.ratio-xl-9x6 {
		aspect-ratio: 9 / 6;
	}
	.ratio-xl-6x9 {
		aspect-ratio: 6 / 9;
	}
	.ratio-xl-16x9 {
		aspect-ratio: 16 / 9;
	}
	.ratio-xl-9x16 {
		aspect-ratio: 9 / 16;
	}
	.ratio-xl-1x1 {
		aspect-ratio: 1 / 1;
	}
}

@media (min-width: 1600px) {
	.ratio-xxl-3x2 {
		aspect-ratio: 3 / 2;
	}
	.ratio-xxl-2x3 {
		aspect-ratio: 2 / 3;
	}
	.ratio-xxl-4x3 {
		aspect-ratio: 4 / 3;
	}
	.ratio-xxl-3x4 {
		aspect-ratio: 3 / 4;
	}
	.ratio-xxl-5x6 {
		aspect-ratio: 5 / 6;
	}
	.ratio-xxl-6x5 {
		aspect-ratio: 6 / 5;
	}
	.ratio-xxl-9x6 {
		aspect-ratio: 9 / 6;
	}
	.ratio-xxl-6x9 {
		aspect-ratio: 6 / 9;
	}
	.ratio-xxl-16x9 {
		aspect-ratio: 16 / 9;
	}
	.ratio-xxl-9x16 {
		aspect-ratio: 9 / 16;
	}
	.ratio-xxl-1x1 {
		aspect-ratio: 1 / 1;
	}
}

/*
============================================
LENIS
============================================
*/

html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
}

a,
.link,
.btn {
	cursor: pointer;
}

img,
a img {
	border: none !important;
}

.text-normal {
	color: inherit;
}

.overflow-hidden {
	overflow: hidden;
}

.uppercase {
	text-transform: uppercase;
}

.lowercase {
	text-transform: lowercase;
}

.standardcase {
	text-transform: none;
}

.capitalize {
	text-transform: capitalize;
}

.pretty {
    text-wrap: pretty;
}

.balance {
    text-wrap: balance;
}

/*
============================================
SIZING
============================================
*/

.w-100 {
	width: 100%;
}

.w-75 {
	width: 75%;
}

.w-66 {
	width: 66.666%;
}

.w-50 {
	width: 50%;
}

.w-33 {
	width: 33.333%;
}

.w-25 {
	width: 25%;
}

.w-0 {
	width: 0;
}

.max-w-100 {
	max-width: 100%;
}

.max-w-75 {
	max-width: 75%;
}

.max-w-66 {
	max-width: 66.666%;
}

.max-w-50 {
	max-width: 50%;
}

.max-w-33 {
	max-width: 33.333%;
}

.max-w-25 {
	max-width: 25%;
}

.max-w-0 {
	max-width: 0;
}

.min-w-100 {
	min-width: 100%;
}

.min-w-75 {
	min-width: 75%;
}

.min-w-66 {
	min-width: 66.666%;
}

.min-w-50 {
	min-width: 50%;
}

.min-w-33 {
	min-width: 33.333%;
}

.min-w-25 {
	min-width: 25%;
}

.min-w-0 {
	min-width: 0;
}

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.w-sm-100 { width: 100%; }
	.w-sm-75 { width: 75%; }
	.w-sm-66 { width: 66.666%; }
	.w-sm-50 { width: 50%; }
	.w-sm-33 { width: 33.333%; }
	.w-sm-25 { width: 25%; }
	.w-sm-0 { width: 0; }
	.max-w-sm-100 { max-width: 100%; }
	.max-w-sm-75 { max-width: 75%; }
	.max-w-sm-66 { max-width: 66.666%; }
	.max-w-sm-50 { max-width: 50%; }
	.max-w-sm-33 { max-width: 33.333%; }
	.max-w-sm-25 { max-width: 25%; }
	.max-w-sm-0 { max-width: 0; }
	.min-w-sm-100 { min-width: 100%; }
	.min-w-sm-75 { min-width: 75%; }
	.min-w-sm-66 { min-width: 66.666%; }
	.min-w-sm-50 { min-width: 50%; }
	.min-w-sm-33 { min-width: 33.333%; }
	.min-w-sm-25 { min-width: 25%; }
	.min-w-sm-0 { min-width: 0; }
}

@media (min-width: 768px) {
	.w-md-100 { width: 100%; }
	.w-md-75 { width: 75%; }
	.w-md-66 { width: 66.666%; }
	.w-md-50 { width: 50%; }
	.w-md-33 { width: 33.333%; }
	.w-md-25 { width: 25%; }
	.w-md-0 { width: 0; }
	.max-w-md-100 { max-width: 100%; }
	.max-w-md-75 { max-width: 75%; }
	.max-w-md-66 { max-width: 66.666%; }
	.max-w-md-50 { max-width: 50%; }
	.max-w-md-33 { max-width: 33.333%; }
	.max-w-md-25 { max-width: 25%; }
	.max-w-md-0 { max-width: 0; }
	.min-w-md-100 { min-width: 100%; }
	.min-w-md-75 { min-width: 75%; }
	.min-w-md-66 { min-width: 66.666%; }
	.min-w-md-50 { min-width: 50%; }
	.min-w-md-33 { min-width: 33.333%; }
	.min-w-md-25 { min-width: 25%; }
	.min-w-md-0 { min-width: 0; }
}

@media (min-width: 992px) {
	.w-lg-100 { width: 100%; }
	.w-lg-75 { width: 75%; }
	.w-lg-66 { width: 66.666%; }
	.w-lg-50 { width: 50%; }
	.w-lg-33 { width: 33.333%; }
	.w-lg-25 { width: 25%; }
	.w-lg-0 { width: 0; }
	.max-w-lg-100 { max-width: 100%; }
	.max-w-lg-75 { max-width: 75%; }
	.max-w-lg-66 { max-width: 66.666%; }
	.max-w-lg-50 { max-width: 50%; }
	.max-w-lg-33 { max-width: 33.333%; }
	.max-w-lg-25 { max-width: 25%; }
	.max-w-lg-0 { max-width: 0; }
	.min-w-lg-100 { min-width: 100%; }
	.min-w-lg-75 { min-width: 75%; }
	.min-w-lg-66 { min-width: 66.666%; }
	.min-w-lg-50 { min-width: 50%; }
	.min-w-lg-33 { min-width: 33.333%; }
	.min-w-lg-25 { min-width: 25%; }
	.min-w-lg-0 { min-width: 0; }
}

@media (min-width: 1200px) {
	.w-xl-100 { width: 100%; }
	.w-xl-75 { width: 75%; }
	.w-xl-66 { width: 66.666%; }
	.w-xl-50 { width: 50%; }
	.w-xl-33 { width: 33.333%; }
	.w-xl-25 { width: 25%; }
	.w-xl-0 { width: 0; }
	.max-w-xl-100 { max-width: 100%; }
	.max-w-xl-75 { max-width: 75%; }
	.max-w-xl-66 { max-width: 66.666%; }
	.max-w-xl-50 { max-width: 50%; }
	.max-w-xl-33 { max-width: 33.333%; }
	.max-w-xl-25 { max-width: 25%; }
	.max-w-xl-0 { max-width: 0; }
	.min-w-xl-100 { min-width: 100%; }
	.min-w-xl-75 { min-width: 75%; }
	.min-w-xl-66 { min-width: 66.666%; }
	.min-w-xl-50 { min-width: 50%; }
	.min-w-xl-33 { min-width: 33.333%; }
	.min-w-xl-25 { min-width: 25%; }
	.min-w-xl-0 { min-width: 0; }
}

@media (min-width: 1600px) {
	.w-xxl-100 { width: 100%; }
	.w-xxl-75 { width: 75%; }
	.w-xxl-66 { width: 66.666%; }
	.w-xxl-50 { width: 50%; }
	.w-xxl-33 { width: 33.333%; }
	.w-xxl-25 { width: 25%; }
	.w-xxl-0 { width: 0; }
	.max-w-xxl-100 { max-width: 100%; }
	.max-w-xxl-75 { max-width: 75%; }
	.max-w-xxl-66 { max-width: 66.666%; }
	.max-w-xxl-50 { max-width: 50%; }
	.max-w-xxl-33 { max-width: 33.333%; }
	.max-w-xxl-25 { max-width: 25%; }
	.max-w-xxl-0 { max-width: 0; }
	.min-w-xxl-100 { min-width: 100%; }
	.min-w-xxl-75 { min-width: 75%; }
	.min-w-xxl-66 { min-width: 66.666%; }
	.min-w-xxl-50 { min-width: 50%; }
	.min-w-xxl-33 { min-width: 33.333%; }
	.min-w-xxl-25 { min-width: 25%; }
	.min-w-xxl-0 { min-width: 0; }
}

/* images */

.img-fullwidth {
	width: 100%;
	height: auto;
}

.img-center {
	margin: 0 auto;
}

.img-contain {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: block;
}

.img-cover {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	transform: translate(-50%, -50%);
}

.background-fixed {
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
}

@media (max-width: 991.99px) {
	.background_fixed,
	.background-fixed {
		background-attachment: scroll;
	}
}