/* CUSTOM Bootstrap by NEIKO 

BOOTSTRAP BREAKPOINTS:	

Breakpoint/	Class /	Dimensions
X-Small  None  <576px
Small  sm  ≥ 576px
Medium  md  ≥ 768px
Large  lg  ≥ 992px
Extra large	xl  ≥ 1200px
Extra extra large  xxl  ≥1400px

// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices 
@media (max-width: 575.98px) { ... }
@media (min-width: 576px) { ... }

// Medium devices
@media (max-width: 767.98px) { ... }
@media (min-width: 768px) { ... }

// Large devices
@media (max-width: 991.98px) { ... }
@media (min-width: 992px) { ... }

// Extra large devices 
@media (max-width: 1199.98px) { ... }
@media (min-width: 1200px) { ... }

// XXL devices 
@media (max-width: 1399.98px) { ... }
@media (min-width: 1400px) { ... }

*/

/* Primitive */
:root {
	--10: clamp(10px, 0.521vw, 10px);
	--15: clamp(12px, 0.781vw, 15px);
	--20: clamp(15px, 1.042vw, 20px);
	--30: clamp(20px, 1.563vw, 30px);
	--40: clamp(25px, 2.083vw, 40px);
	--60: clamp(30px, 3.125vw, 60px);
	--80: clamp(40px, 4.167vw, 80px);
	--100: clamp(60px, 5.208vw, 100px);
	--120: clamp(80px, 6.25vw, 120px);
	--160: clamp(100px, 8.333vw, 160px);
	--200: clamp(120px, 10.417vw, 200px);
}

/* ============================================
   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: 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: 40
   ============================================ */

/* Base classes (no media query) */
.pt-40 { padding-top: var(--40); }
.pe-40 { padding-right: var(--40); }
.pb-40 { padding-bottom: var(--40); }
.ps-40 { padding-left: var(--40); }
.py-40 { padding-top: var(--40); padding-bottom: var(--40); }
.px-40 { padding-left: var(--40); padding-right: var(--40); }
.mt-40 { margin-top: var(--40); }
.me-40 { margin-right: var(--40); }
.mb-40 { margin-bottom: var(--40); }
.ms-40 { margin-left: var(--40); }
.my-40 { margin-top: var(--40); margin-bottom: var(--40); }
.mx-40 { margin-left: var(--40); margin-right: var(--40); }
.g-40 { gap: var(--40); }
.gx-40 { column-gap: var(--40); }
.gy-40 { row-gap: var(--40); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-40 { padding-top: var(--40); }
	.pe-sm-40 { padding-right: var(--40); }
	.pb-sm-40 { padding-bottom: var(--40); }
	.ps-sm-40 { padding-left: var(--40); }
	.py-sm-40 { padding-top: var(--40); padding-bottom: var(--40); }
	.px-sm-40 { padding-left: var(--40); padding-right: var(--40); }
	.mt-sm-40 { margin-top: var(--40); }
	.me-sm-40 { margin-right: var(--40); }
	.mb-sm-40 { margin-bottom: var(--40); }
	.ms-sm-40 { margin-left: var(--40); }
	.my-sm-40 { margin-top: var(--40); margin-bottom: var(--40); }
	.mx-sm-40 { margin-left: var(--40); margin-right: var(--40); }
	.g-sm-40 { gap: var(--40); }
	.gx-sm-40 { column-gap: var(--40); }
	.gy-sm-40 { row-gap: var(--40); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-40 { padding-top: var(--40); }
	.pe-md-40 { padding-right: var(--40); }
	.pb-md-40 { padding-bottom: var(--40); }
	.ps-md-40 { padding-left: var(--40); }
	.py-md-40 { padding-top: var(--40); padding-bottom: var(--40); }
	.px-md-40 { padding-left: var(--40); padding-right: var(--40); }
	.mt-md-40 { margin-top: var(--40); }
	.me-md-40 { margin-right: var(--40); }
	.mb-md-40 { margin-bottom: var(--40); }
	.ms-md-40 { margin-left: var(--40); }
	.my-md-40 { margin-top: var(--40); margin-bottom: var(--40); }
	.mx-md-40 { margin-left: var(--40); margin-right: var(--40); }
	.g-md-40 { gap: var(--40); }
	.gx-md-40 { column-gap: var(--40); }
	.gy-md-40 { row-gap: var(--40); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-40 { padding-top: var(--40); }
	.pe-lg-40 { padding-right: var(--40); }
	.pb-lg-40 { padding-bottom: var(--40); }
	.ps-lg-40 { padding-left: var(--40); }
	.py-lg-40 { padding-top: var(--40); padding-bottom: var(--40); }
	.px-lg-40 { padding-left: var(--40); padding-right: var(--40); }
	.mt-lg-40 { margin-top: var(--40); }
	.me-lg-40 { margin-right: var(--40); }
	.mb-lg-40 { margin-bottom: var(--40); }
	.ms-lg-40 { margin-left: var(--40); }
	.my-lg-40 { margin-top: var(--40); margin-bottom: var(--40); }
	.mx-lg-40 { margin-left: var(--40); margin-right: var(--40); }
	.g-lg-40 { gap: var(--40); }
	.gx-lg-40 { column-gap: var(--40); }
	.gy-lg-40 { row-gap: var(--40); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-40 { padding-top: var(--40); }
	.pe-xl-40 { padding-right: var(--40); }
	.pb-xl-40 { padding-bottom: var(--40); }
	.ps-xl-40 { padding-left: var(--40); }
	.py-xl-40 { padding-top: var(--40); padding-bottom: var(--40); }
	.px-xl-40 { padding-left: var(--40); padding-right: var(--40); }
	.mt-xl-40 { margin-top: var(--40); }
	.me-xl-40 { margin-right: var(--40); }
	.mb-xl-40 { margin-bottom: var(--40); }
	.ms-xl-40 { margin-left: var(--40); }
	.my-xl-40 { margin-top: var(--40); margin-bottom: var(--40); }
	.mx-xl-40 { margin-left: var(--40); margin-right: var(--40); }
	.g-xl-40 { gap: var(--40); }
	.gx-xl-40 { column-gap: var(--40); }
	.gy-xl-40 { row-gap: var(--40); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-40 { padding-top: var(--40); }
	.pe-xxl-40 { padding-right: var(--40); }
	.pb-xxl-40 { padding-bottom: var(--40); }
	.ps-xxl-40 { padding-left: var(--40); }
	.py-xxl-40 { padding-top: var(--40); padding-bottom: var(--40); }
	.px-xxl-40 { padding-left: var(--40); padding-right: var(--40); }
	.mt-xxl-40 { margin-top: var(--40); }
	.me-xxl-40 { margin-right: var(--40); }
	.mb-xxl-40 { margin-bottom: var(--40); }
	.ms-xxl-40 { margin-left: var(--40); }
	.my-xxl-40 { margin-top: var(--40); margin-bottom: var(--40); }
	.mx-xxl-40 { margin-left: var(--40); margin-right: var(--40); }
	.g-xxl-40 { gap: var(--40); }
	.gx-xxl-40 { column-gap: var(--40); }
	.gy-xxl-40 { row-gap: var(--40); }
}

/* ============================================
   DIMENSIONE: 60
   ============================================ */

/* Base classes (no media query) */
.pt-60 { padding-top: var(--60); }
.pe-60 { padding-right: var(--60); }
.pb-60 { padding-bottom: var(--60); }
.ps-60 { padding-left: var(--60); }
.py-60 { padding-top: var(--60); padding-bottom: var(--60); }
.px-60 { padding-left: var(--60); padding-right: var(--60); }
.mt-60 { margin-top: var(--60); }
.me-60 { margin-right: var(--60); }
.mb-60 { margin-bottom: var(--60); }
.ms-60 { margin-left: var(--60); }
.my-60 { margin-top: var(--60); margin-bottom: var(--60); }
.mx-60 { margin-left: var(--60); margin-right: var(--60); }
.g-60 { gap: var(--60); }
.gx-60 { column-gap: var(--60); }
.gy-60 { row-gap: var(--60); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-60 { padding-top: var(--60); }
	.pe-sm-60 { padding-right: var(--60); }
	.pb-sm-60 { padding-bottom: var(--60); }
	.ps-sm-60 { padding-left: var(--60); }
	.py-sm-60 { padding-top: var(--60); padding-bottom: var(--60); }
	.px-sm-60 { padding-left: var(--60); padding-right: var(--60); }
	.mt-sm-60 { margin-top: var(--60); }
	.me-sm-60 { margin-right: var(--60); }
	.mb-sm-60 { margin-bottom: var(--60); }
	.ms-sm-60 { margin-left: var(--60); }
	.my-sm-60 { margin-top: var(--60); margin-bottom: var(--60); }
	.mx-sm-60 { margin-left: var(--60); margin-right: var(--60); }
	.g-sm-60 { gap: var(--60); }
	.gx-sm-60 { column-gap: var(--60); }
	.gy-sm-60 { row-gap: var(--60); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-60 { padding-top: var(--60); }
	.pe-md-60 { padding-right: var(--60); }
	.pb-md-60 { padding-bottom: var(--60); }
	.ps-md-60 { padding-left: var(--60); }
	.py-md-60 { padding-top: var(--60); padding-bottom: var(--60); }
	.px-md-60 { padding-left: var(--60); padding-right: var(--60); }
	.mt-md-60 { margin-top: var(--60); }
	.me-md-60 { margin-right: var(--60); }
	.mb-md-60 { margin-bottom: var(--60); }
	.ms-md-60 { margin-left: var(--60); }
	.my-md-60 { margin-top: var(--60); margin-bottom: var(--60); }
	.mx-md-60 { margin-left: var(--60); margin-right: var(--60); }
	.g-md-60 { gap: var(--60); }
	.gx-md-60 { column-gap: var(--60); }
	.gy-md-60 { row-gap: var(--60); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-60 { padding-top: var(--60); }
	.pe-lg-60 { padding-right: var(--60); }
	.pb-lg-60 { padding-bottom: var(--60); }
	.ps-lg-60 { padding-left: var(--60); }
	.py-lg-60 { padding-top: var(--60); padding-bottom: var(--60); }
	.px-lg-60 { padding-left: var(--60); padding-right: var(--60); }
	.mt-lg-60 { margin-top: var(--60); }
	.me-lg-60 { margin-right: var(--60); }
	.mb-lg-60 { margin-bottom: var(--60); }
	.ms-lg-60 { margin-left: var(--60); }
	.my-lg-60 { margin-top: var(--60); margin-bottom: var(--60); }
	.mx-lg-60 { margin-left: var(--60); margin-right: var(--60); }
	.g-lg-60 { gap: var(--60); }
	.gx-lg-60 { column-gap: var(--60); }
	.gy-lg-60 { row-gap: var(--60); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-60 { padding-top: var(--60); }
	.pe-xl-60 { padding-right: var(--60); }
	.pb-xl-60 { padding-bottom: var(--60); }
	.ps-xl-60 { padding-left: var(--60); }
	.py-xl-60 { padding-top: var(--60); padding-bottom: var(--60); }
	.px-xl-60 { padding-left: var(--60); padding-right: var(--60); }
	.mt-xl-60 { margin-top: var(--60); }
	.me-xl-60 { margin-right: var(--60); }
	.mb-xl-60 { margin-bottom: var(--60); }
	.ms-xl-60 { margin-left: var(--60); }
	.my-xl-60 { margin-top: var(--60); margin-bottom: var(--60); }
	.mx-xl-60 { margin-left: var(--60); margin-right: var(--60); }
	.g-xl-60 { gap: var(--60); }
	.gx-xl-60 { column-gap: var(--60); }
	.gy-xl-60 { row-gap: var(--60); }
}

/* XXL breakpoint (min-width: 1600px) - Nota: 60 usa 1600px */
@media (min-width: 1600px) {
	.pt-xxl-60 { padding-top: var(--60); }
	.pe-xxl-60 { padding-right: var(--60); }
	.pb-xxl-60 { padding-bottom: var(--60); }
	.ps-xxl-60 { padding-left: var(--60); }
	.py-xxl-60 { padding-top: var(--60); padding-bottom: var(--60); }
	.px-xxl-60 { padding-left: var(--60); padding-right: var(--60); }
	.mt-xxl-60 { margin-top: var(--60); }
	.me-xxl-60 { margin-right: var(--60); }
	.mb-xxl-60 { margin-bottom: var(--60); }
	.ms-xxl-60 { margin-left: var(--60); }
	.my-xxl-60 { margin-top: var(--60); margin-bottom: var(--60); }
	.mx-xxl-60 { margin-left: var(--60); margin-right: var(--60); }
	.g-xxl-60 { gap: var(--60); }
	.gx-xxl-60 { column-gap: var(--60); }
	.gy-xxl-60 { row-gap: var(--60); }
}

/* ============================================
   DIMENSIONE: 80
   ============================================ */

/* Base classes (no media query) */
.pt-80 { padding-top: var(--80); }
.pe-80 { padding-right: var(--80); }
.pb-80 { padding-bottom: var(--80); }
.ps-80 { padding-left: var(--80); }
.py-80 { padding-top: var(--80); padding-bottom: var(--80); }
.px-80 { padding-left: var(--80); padding-right: var(--80); }
.mt-80 { margin-top: var(--80); }
.me-80 { margin-right: var(--80); }
.mb-80 { margin-bottom: var(--80); }
.ms-80 { margin-left: var(--80); }
.my-80 { margin-top: var(--80); margin-bottom: var(--80); }
.mx-80 { margin-left: var(--80); margin-right: var(--80); }
.g-80 { gap: var(--80); }
.gx-80 { column-gap: var(--80); }
.gy-80 { row-gap: var(--80); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-80 { padding-top: var(--80); }
	.pe-sm-80 { padding-right: var(--80); }
	.pb-sm-80 { padding-bottom: var(--80); }
	.ps-sm-80 { padding-left: var(--80); }
	.py-sm-80 { padding-top: var(--80); padding-bottom: var(--80); }
	.px-sm-80 { padding-left: var(--80); padding-right: var(--80); }
	.mt-sm-80 { margin-top: var(--80); }
	.me-sm-80 { margin-right: var(--80); }
	.mb-sm-80 { margin-bottom: var(--80); }
	.ms-sm-80 { margin-left: var(--80); }
	.my-sm-80 { margin-top: var(--80); margin-bottom: var(--80); }
	.mx-sm-80 { margin-left: var(--80); margin-right: var(--80); }
	.g-sm-80 { gap: var(--80); }
	.gx-sm-80 { column-gap: var(--80); }
	.gy-sm-80 { row-gap: var(--80); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-80 { padding-top: var(--80); }
	.pe-md-80 { padding-right: var(--80); }
	.pb-md-80 { padding-bottom: var(--80); }
	.ps-md-80 { padding-left: var(--80); }
	.py-md-80 { padding-top: var(--80); padding-bottom: var(--80); }
	.px-md-80 { padding-left: var(--80); padding-right: var(--80); }
	.mt-md-80 { margin-top: var(--80); }
	.me-md-80 { margin-right: var(--80); }
	.mb-md-80 { margin-bottom: var(--80); }
	.ms-md-80 { margin-left: var(--80); }
	.my-md-80 { margin-top: var(--80); margin-bottom: var(--80); }
	.mx-md-80 { margin-left: var(--80); margin-right: var(--80); }
	.g-md-80 { gap: var(--80); }
	.gx-md-80 { column-gap: var(--80); }
	.gy-md-80 { row-gap: var(--80); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-80 { padding-top: var(--80); }
	.pe-lg-80 { padding-right: var(--80); }
	.pb-lg-80 { padding-bottom: var(--80); }
	.ps-lg-80 { padding-left: var(--80); }
	.py-lg-80 { padding-top: var(--80); padding-bottom: var(--80); }
	.px-lg-80 { padding-left: var(--80); padding-right: var(--80); }
	.mt-lg-80 { margin-top: var(--80); }
	.me-lg-80 { margin-right: var(--80); }
	.mb-lg-80 { margin-bottom: var(--80); }
	.ms-lg-80 { margin-left: var(--80); }
	.my-lg-80 { margin-top: var(--80); margin-bottom: var(--80); }
	.mx-lg-80 { margin-left: var(--80); margin-right: var(--80); }
	.g-lg-80 { gap: var(--80); }
	.gx-lg-80 { column-gap: var(--80); }
	.gy-lg-80 { row-gap: var(--80); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-80 { padding-top: var(--80); }
	.pe-xl-80 { padding-right: var(--80); }
	.pb-xl-80 { padding-bottom: var(--80); }
	.ps-xl-80 { padding-left: var(--80); }
	.py-xl-80 { padding-top: var(--80); padding-bottom: var(--80); }
	.px-xl-80 { padding-left: var(--80); padding-right: var(--80); }
	.mt-xl-80 { margin-top: var(--80); }
	.me-xl-80 { margin-right: var(--80); }
	.mb-xl-80 { margin-bottom: var(--80); }
	.ms-xl-80 { margin-left: var(--80); }
	.my-xl-80 { margin-top: var(--80); margin-bottom: var(--80); }
	.mx-xl-80 { margin-left: var(--80); margin-right: var(--80); }
	.g-xl-80 { gap: var(--80); }
	.gx-xl-80 { column-gap: var(--80); }
	.gy-xl-80 { row-gap: var(--80); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-80 { padding-top: var(--80); }
	.pe-xxl-80 { padding-right: var(--80); }
	.pb-xxl-80 { padding-bottom: var(--80); }
	.ps-xxl-80 { padding-left: var(--80); }
	.py-xxl-80 { padding-top: var(--80); padding-bottom: var(--80); }
	.px-xxl-80 { padding-left: var(--80); padding-right: var(--80); }
	.mt-xxl-80 { margin-top: var(--80); }
	.me-xxl-80 { margin-right: var(--80); }
	.mb-xxl-80 { margin-bottom: var(--80); }
	.ms-xxl-80 { margin-left: var(--80); }
	.my-xxl-80 { margin-top: var(--80); margin-bottom: var(--80); }
	.mx-xxl-80 { margin-left: var(--80); margin-right: var(--80); }
	.g-xxl-80 { gap: var(--80); }
	.gx-xxl-80 { column-gap: var(--80); }
	.gy-xxl-80 { row-gap: var(--80); }
}

/* ============================================
   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: 120
   ============================================ */

/* Base classes (no media query) */
.pt-120 { padding-top: var(--120); }
.pe-120 { padding-right: var(--120); }
.pb-120 { padding-bottom: var(--120); }
.ps-120 { padding-left: var(--120); }
.py-120 { padding-top: var(--120); padding-bottom: var(--120); }
.px-120 { padding-left: var(--120); padding-right: var(--120); }
.mt-120 { margin-top: var(--120); }
.me-120 { margin-right: var(--120); }
.mb-120 { margin-bottom: var(--120); }
.ms-120 { margin-left: var(--120); }
.my-120 { margin-top: var(--120); margin-bottom: var(--120); }
.mx-120 { margin-left: var(--120); margin-right: var(--120); }
.g-120 { gap: var(--120); }
.gx-120 { column-gap: var(--120); }
.gy-120 { row-gap: var(--120); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-120 { padding-top: var(--120); }
	.pe-sm-120 { padding-right: var(--120); }
	.pb-sm-120 { padding-bottom: var(--120); }
	.ps-sm-120 { padding-left: var(--120); }
	.py-sm-120 { padding-top: var(--120); padding-bottom: var(--120); }
	.px-sm-120 { padding-left: var(--120); padding-right: var(--120); }
	.mt-sm-120 { margin-top: var(--120); }
	.me-sm-120 { margin-right: var(--120); }
	.mb-sm-120 { margin-bottom: var(--120); }
	.ms-sm-120 { margin-left: var(--120); }
	.my-sm-120 { margin-top: var(--120); margin-bottom: var(--120); }
	.mx-sm-120 { margin-left: var(--120); margin-right: var(--120); }
	.g-sm-120 { gap: var(--120); }
	.gx-sm-120 { column-gap: var(--120); }
	.gy-sm-120 { row-gap: var(--120); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-120 { padding-top: var(--120); }
	.pe-md-120 { padding-right: var(--120); }
	.pb-md-120 { padding-bottom: var(--120); }
	.ps-md-120 { padding-left: var(--120); }
	.py-md-120 { padding-top: var(--120); padding-bottom: var(--120); }
	.px-md-120 { padding-left: var(--120); padding-right: var(--120); }
	.mt-md-120 { margin-top: var(--120); }
	.me-md-120 { margin-right: var(--120); }
	.mb-md-120 { margin-bottom: var(--120); }
	.ms-md-120 { margin-left: var(--120); }
	.my-md-120 { margin-top: var(--120); margin-bottom: var(--120); }
	.mx-md-120 { margin-left: var(--120); margin-right: var(--120); }
	.g-md-120 { gap: var(--120); }
	.gx-md-120 { column-gap: var(--120); }
	.gy-md-120 { row-gap: var(--120); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-120 { padding-top: var(--120); }
	.pe-lg-120 { padding-right: var(--120); }
	.pb-lg-120 { padding-bottom: var(--120); }
	.ps-lg-120 { padding-left: var(--120); }
	.py-lg-120 { padding-top: var(--120); padding-bottom: var(--120); }
	.px-lg-120 { padding-left: var(--120); padding-right: var(--120); }
	.mt-lg-120 { margin-top: var(--120); }
	.me-lg-120 { margin-right: var(--120); }
	.mb-lg-120 { margin-bottom: var(--120); }
	.ms-lg-120 { margin-left: var(--120); }
	.my-lg-120 { margin-top: var(--120); margin-bottom: var(--120); }
	.mx-lg-120 { margin-left: var(--120); margin-right: var(--120); }
	.g-lg-120 { gap: var(--120); }
	.gx-lg-120 { column-gap: var(--120); }
	.gy-lg-120 { row-gap: var(--120); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-120 { padding-top: var(--120); }
	.pe-xl-120 { padding-right: var(--120); }
	.pb-xl-120 { padding-bottom: var(--120); }
	.ps-xl-120 { padding-left: var(--120); }
	.py-xl-120 { padding-top: var(--120); padding-bottom: var(--120); }
	.px-xl-120 { padding-left: var(--120); padding-right: var(--120); }
	.mt-xl-120 { margin-top: var(--120); }
	.me-xl-120 { margin-right: var(--120); }
	.mb-xl-120 { margin-bottom: var(--120); }
	.ms-xl-120 { margin-left: var(--120); }
	.my-xl-120 { margin-top: var(--120); margin-bottom: var(--120); }
	.mx-xl-120 { margin-left: var(--120); margin-right: var(--120); }
	.g-xl-120 { gap: var(--120); }
	.gx-xl-120 { column-gap: var(--120); }
	.gy-xl-120 { row-gap: var(--120); }
}

/* XXL breakpoint (min-width: 1400px) */
@media (min-width: 1400px) {
	.pt-xxl-120 { padding-top: var(--120); }
	.pe-xxl-120 { padding-right: var(--120); }
	.pb-xxl-120 { padding-bottom: var(--120); }
	.ps-xxl-120 { padding-left: var(--120); }
	.py-xxl-120 { padding-top: var(--120); padding-bottom: var(--120); }
	.px-xxl-120 { padding-left: var(--120); padding-right: var(--120); }
	.mt-xxl-120 { margin-top: var(--120); }
	.me-xxl-120 { margin-right: var(--120); }
	.mb-xxl-120 { margin-bottom: var(--120); }
	.ms-xxl-120 { margin-left: var(--120); }
	.my-xxl-120 { margin-top: var(--120); margin-bottom: var(--120); }
	.mx-xxl-120 { margin-left: var(--120); margin-right: var(--120); }
	.g-xxl-120 { gap: var(--120); }
	.gx-xxl-120 { column-gap: var(--120); }
	.gy-xxl-120 { row-gap: var(--120); }
}

/* ============================================
   DIMENSIONE: 160
   ============================================ */

/* Base classes (no media query) */
.pt-160 { padding-top: var(--160); }
.pe-160 { padding-right: var(--160); }
.pb-160 { padding-bottom: var(--160); }
.ps-160 { padding-left: var(--160); }
.py-160 { padding-top: var(--160); padding-bottom: var(--160); }
.px-160 { padding-left: var(--160); padding-right: var(--160); }
.mt-160 { margin-top: var(--160); }
.me-160 { margin-right: var(--160); }
.mb-160 { margin-bottom: var(--160); }
.ms-160 { margin-left: var(--160); }
.my-160 { margin-top: var(--160); margin-bottom: var(--160); }
.mx-160 { margin-left: var(--160); margin-right: var(--160); }
.g-160 { gap: var(--160); }
.gx-160 { column-gap: var(--160); }
.gy-160 { row-gap: var(--160); }

/* SM breakpoint (min-width: 576px) */
@media (min-width: 576px) {
	.pt-sm-160 { padding-top: var(--160); }
	.pe-sm-160 { padding-right: var(--160); }
	.pb-sm-160 { padding-bottom: var(--160); }
	.ps-sm-160 { padding-left: var(--160); }
	.py-sm-160 { padding-top: var(--160); padding-bottom: var(--160); }
	.px-sm-160 { padding-left: var(--160); padding-right: var(--160); }
	.mt-sm-160 { margin-top: var(--160); }
	.me-sm-160 { margin-right: var(--160); }
	.mb-sm-160 { margin-bottom: var(--160); }
	.ms-sm-160 { margin-left: var(--160); }
	.my-sm-160 { margin-top: var(--160); margin-bottom: var(--160); }
	.mx-sm-160 { margin-left: var(--160); margin-right: var(--160); }
	.g-sm-160 { gap: var(--160); }
	.gx-sm-160 { column-gap: var(--160); }
	.gy-sm-160 { row-gap: var(--160); }
}

/* MD breakpoint (min-width: 768px) */
@media (min-width: 768px) {
	.pt-md-160 { padding-top: var(--160); }
	.pe-md-160 { padding-right: var(--160); }
	.pb-md-160 { padding-bottom: var(--160); }
	.ps-md-160 { padding-left: var(--160); }
	.py-md-160 { padding-top: var(--160); padding-bottom: var(--160); }
	.px-md-160 { padding-left: var(--160); padding-right: var(--160); }
	.mt-md-160 { margin-top: var(--160); }
	.me-md-160 { margin-right: var(--160); }
	.mb-md-160 { margin-bottom: var(--160); }
	.ms-md-160 { margin-left: var(--160); }
	.my-md-160 { margin-top: var(--160); margin-bottom: var(--160); }
	.mx-md-160 { margin-left: var(--160); margin-right: var(--160); }
	.g-md-160 { gap: var(--160); }
	.gx-md-160 { column-gap: var(--160); }
	.gy-md-160 { row-gap: var(--160); }
}

/* LG breakpoint (min-width: 992px) */
@media (min-width: 992px) {
	.pt-lg-160 { padding-top: var(--160); }
	.pe-lg-160 { padding-right: var(--160); }
	.pb-lg-160 { padding-bottom: var(--160); }
	.ps-lg-160 { padding-left: var(--160); }
	.py-lg-160 { padding-top: var(--160); padding-bottom: var(--160); }
	.px-lg-160 { padding-left: var(--160); padding-right: var(--160); }
	.mt-lg-160 { margin-top: var(--160); }
	.me-lg-160 { margin-right: var(--160); }
	.mb-lg-160 { margin-bottom: var(--160); }
	.ms-lg-160 { margin-left: var(--160); }
	.my-lg-160 { margin-top: var(--160); margin-bottom: var(--160); }
	.mx-lg-160 { margin-left: var(--160); margin-right: var(--160); }
	.g-lg-160 { gap: var(--160); }
	.gx-lg-160 { column-gap: var(--160); }
	.gy-lg-160 { row-gap: var(--160); }
}

/* XL breakpoint (min-width: 1200px) */
@media (min-width: 1200px) {
	.pt-xl-160 { padding-top: var(--160); }
	.pe-xl-160 { padding-right: var(--160); }
	.pb-xl-160 { padding-bottom: var(--160); }
	.ps-xl-160 { padding-left: var(--160); }
	.py-xl-160 { padding-top: var(--160); padding-bottom: var(--160); }
	.px-xl-160 { padding-left: var(--160); padding-right: var(--160); }
	.mt-xl-160 { margin-top: var(--160); }
	.me-xl-160 { margin-right: var(--160); }
	.mb-xl-160 { margin-bottom: var(--160); }
	.ms-xl-160 { margin-left: var(--160); }
	.my-xl-160 { margin-top: var(--160); margin-bottom: var(--160); }
	.mx-xl-160 { margin-left: var(--160); margin-right: var(--160); }
	.g-xl-160 { gap: var(--160); }
	.gx-xl-160 { column-gap: var(--160); }
	.gy-xl-160 { row-gap: var(--160); }
}

/* XXL breakpoint (min-width: 1600px) - Nota: 160 usa 1600px */
@media (min-width: 1600px) {
	.pt-xxl-160 { padding-top: var(--160); }
	.pe-xxl-160 { padding-right: var(--160); }
	.pb-xxl-160 { padding-bottom: var(--160); }
	.ps-xxl-160 { padding-left: var(--160); }
	.py-xxl-160 { padding-top: var(--160); padding-bottom: var(--160); }
	.px-xxl-160 { padding-left: var(--160); padding-right: var(--160); }
	.mt-xxl-160 { margin-top: var(--160); }
	.me-xxl-160 { margin-right: var(--160); }
	.mb-xxl-160 { margin-bottom: var(--160); }
	.ms-xxl-160 { margin-left: var(--160); }
	.my-xxl-160 { margin-top: var(--160); margin-bottom: var(--160); }
	.mx-xxl-160 { margin-left: var(--160); margin-right: var(--160); }
	.g-xxl-160 { gap: var(--160); }
	.gx-xxl-160 { column-gap: var(--160); }
	.gy-xxl-160 { row-gap: var(--160); }
}

/* ============================================
   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); }
}

/* 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-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-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-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-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-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: 1400px) {
	.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-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;
	}
}

/* * {
	box-sizing: border-box;
	outline: none !important;
} */

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
}

a,
.link,
.btn {
	cursor: pointer;
}

a,
.animated {
	transition: all ease 0.25s;
}

img,
a img {
	border: none !important;
}

::selection,
::-moz-selection {
	background-color: black;
	color: #fff;
}

.float_left,
.float-left {
	float: left;
}

.float_right,
.float-right {
	float: right;
}

.clear {
	clear: both;
}

.inline {
	float: none;
	display: inline-block;
	margin-right: -0.125em;
	margin-left: -0.125em;
}

.block {
	display: block;
}

.relative {
	position: relative;
}

.text_normal,
.text-normal {
	color: inherit;
}

.overflow_hidden,
.overflow-hidden {
	overflow: hidden;
}

.container-fluid.no_padding,
.container-fluid.no-padding {
	padding-left: 15px !important;
	padding-right: 15px !important;
}

.uppercase {
	text-transform: uppercase;
}

.lowercase {
	text-transform: lowercase;
}

.standardcase {
	text-transform: none;
}

.capitalize {
	text-transform: capitalize;
}

/* valign */

.valign_container {
	white-space: nowrap;
}

.valign_container:before {
	content: "";
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	margin: 0 -0.125em;
}

.valign_container .valign_top,
.valign_container .valign_middle,
.valign_container .valign_bottom {
	display: inline-block;
	white-space: normal;
	position: relative;
}

.valign_top,
.valign-top {
	vertical-align: top;
}

.valign_middle,
.valign-middle {
	vertical-align: middle;
}

.valign_bottom,
.valign-bottom {
	vertical-align: bottom;
}

/* images */

.img_fullwidth,
.img-fullwidth {
	width: 100%;
	height: auto;
}

.img_center,
.img-center {
	margin: 0 auto;
}

.img_contain,
.img-contain {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: block;
}

.img_cover,
.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-fixed {
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
}

@media (max-width: 991.99px) {
	.background_fixed,
	.background-fixed {
		background-attachment: scroll;
	}
}

/* effetti su immagini */

.zoom_img {
	position: relative;
	overflow: hidden;
	display: inline-block;
	width: 100%;
	height: auto;
}

.zoom_img img {
	transition: transform 0.5s ease;
	vertical-align: middle;
	width: 100%;
	height: 100%;
}

.zoom_img:hover img,
a:hover .zoom_img img {
	transform: scale(1.05);
}

/* iframe responsive */

.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* animation */

@media (min-width: 992px) {
	.delay-2 {
		transition-delay: 0.25s !important;
	}

	.delay-3 {
		transition-delay: 0.5s !important;
	}

	.delay-4 {
		transition-delay: 0.75s !important;
	}

	.delay-5 {
		transition-delay: 1s !important;
	}

	.delay01 {
		transition-delay: 0.1s !important;
	}

	.delay02 {
		transition-delay: 0.2s !important;
	}

	.delay03 {
		transition-delay: 0.3s !important;
	}

	.delay04 {
		transition-delay: 0.4s !important;
	}

	.delay05 {
		transition-delay: 0.5s !important;
	}

	.delay06 {
		transition-delay: 0.6s !important;
	}

	.delay07 {
		transition-delay: 0.7s !important;
	}

	.delay08 {
		transition-delay: 0.8s !important;
	}

	.delay09 {
		transition-delay: 0.9s !important;
	}

	.delay10 {
		transition-delay: 1s !important;
	}

	.fadein_block {
		opacity: 0;
		transform: translateY(50px);
		-webkit-transform: translateY(50px);
		-moz-transform: translateY(50px);
		transition: all 0.75s cubic-bezier(0.23, 1, 0.32, 1);
		-webkit-transition: all 0.75s cubic-bezier(0.23, 1, 0.32, 1);
		-moz-transition: all 0.75s cubic-bezier(0.23, 1, 0.32, 1);
	}

	.fadein_block.animate {
		opacity: 1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
		-moz-transform: translateY(0px);
	}

	.fadein_left {
		opacity: 0;
		transform: translateX(-70px);
		-webkit-transform: translateX(-70px);
		-moz-transform: translateX(-70px);
		transition: all 0.75s ease 0s;
		-webkit-transition: all 0.75s ease 0s;
		-moz-transition: all 0.75s ease 0s;
	}

	.fadein_left.animate {
		opacity: 1;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		-moz-transform: translateX(0px);
	}

	.fadein_right {
		opacity: 0;
		transform: translateX(70px);
		-webkit-transform: translateX(70px);
		-moz-transform: translateX(70px);
		transition: all 0.75s ease 0s;
		-webkit-transition: all 0.75s ease 0s;
		-moz-transition: all 0.75s ease 0s;
	}

	.fadein_right.animate {
		opacity: 1;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		-moz-transform: translateX(0px);
	}
}

/* ANIMAZIONE TESTI */

/* [animate-text] {
	overflow: hidden;
	display: block;
	visibility: visible;
}

[animate-text-after-transition] {
	overflow: hidden;
	display: block;
	visibility: hidden;
}

[animate-text].visible,
[animate-text-after-transition].visible {
	visibility: visible;
}

[animate-text] .word-overflow,
[animate-text-after-transition] .word-overflow,
[animate-text] .word,
[animate-text-after-transition] .word {
	display: inline-flex;
	overflow: hidden;
}

[animate-text] .letter,
[animate-text-after-transition] .letter {
	display: inline-block;
	transform: translateY(30%);
	opacity: 0;
	transition: transform var(--transform-duration, 1.5s) cubic-bezier(0.08, 0.82, 0.17, 1),
		        opacity var(--opacity-duration, 5s) cubic-bezier(0.08, 0.82, 0.17, 1);
	transition-delay: var(--delay);
}

[animate-text] .word-overflow .word,
[animate-text-on-load] .word-overflow .word {
	display: inline-block;
	transform: translateY(30%);
	opacity: 0;
	transition: transform var(--transform-duration, 1.5s) cubic-bezier(0.08, 0.82, 0.17, 1),
		        opacity var(--opacity-duration, 2s) cubic-bezier(0.08, 0.82, 0.17, 1);
	transition-delay: var(--delay);
}

[animate-text].visible .letter,
[animate-text-on-load].visible .letter {
	transform: translateY(0) rotate(0);
	opacity: 1;
}

[animate-text].visible .word-overflow .word,
[animate-text-on-load].visible .word-overflow .word {
	transform: translateY(0) rotate(0);
	opacity: 1;
} */
