/* Utility Classes */
.mobile-only, .hide {display: none;}

.m-0 {margin: 0px;}
.p-0 {padding: 0px;}
.nowrap, .nowrap p {white-space: nowrap;}
.uppercase {text-transform: uppercase;}

/* Margin Bottom */
.mb-0 { margin-bottom: 0px; }
.mb-5 { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-25 { margin-bottom: 25px; }
.mb-30 { margin-bottom: 30px; }
.mb-35 { margin-bottom: 35px; }
.mb-40 { margin-bottom: 40px; }
.mb-45 { margin-bottom: 45px; }
.mb-50 { margin-bottom: 50px; }

/* Margin Top */
.mt-0 { margin-top: 0px; }
.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mt-25 { margin-top: 25px; }
.mt-30 { margin-top: 30px; }
.mt-35 { margin-top: 35px; }
.mt-40 { margin-top: 40px; }
.mt-45 { margin-top: 45px; }
.mt-50 { margin-top: 50px; }

/* Padding Top */
.pt-0 { padding-top: 0px; }
.pt-5 { padding-top: 5px; }
.pt-10 { padding-top: 10px; }
.pt-15 { padding-top: 15px; }
.pt-20 { padding-top: 20px; }
.pt-25 { padding-top: 25px; }
.pt-30 { padding-top: 30px; }
.pt-35 { padding-top: 35px; }
.pt-40 { padding-top: 40px; }
.pt-45 { padding-top: 45px; }
.pt-50 { padding-top: 50px; }

/* Padding Bottom */
.pb-0 { padding-bottom: 0px; }
.pb-5 { padding-bottom: 5px; }
.pb-10 { padding-bottom: 10px; }
.pb-15 { padding-bottom: 15px; }
.pb-20 { padding-bottom: 20px; }
.pb-25 { padding-bottom: 25px; }
.pb-30 { padding-bottom: 30px; }
.pb-35 { padding-bottom: 35px; }
.pb-40 { padding-bottom: 40px; }
.pb-45 { padding-bottom: 45px; }
.pb-50 { padding-bottom: 50px; }

/* Layout Utilities */
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-block { display: inline-block; }
.d-flex { display: flex; }
.d-none { display: none; }
/* Text Utilities */

/* Font Size */
.fs-10, h2.fs-10, h3.fs-10, h4.fs-10, p.fs-10 {--fontSize: 10 !important; font-size: 10px !important;}
.fs-11, h2.fs-11, h3.fs-11, h4.fs-11, p.fs-11 {--fontSize: 11 !important; font-size: 11px !important;}
.fs-12, h2.fs-12, h3.fs-12, h4.fs-12, p.fs-12 {--fontSize: 12 !important; font-size: 12px !important;}
.fs-13, h2.fs-13, h3.fs-13, h4.fs-13, p.fs-13 {--fontSize: 13 !important; font-size: 13px !important;}
.fs-14, h2.fs-14, h3.fs-14, h4.fs-14, p.fs-14 {--fontSize: 14 !important; font-size: 14px !important;}
.fs-15, h2.fs-15, h3.fs-15, h4.fs-15, p.fs-15 {--fontSize: 15 !important; font-size: 15px !important;}
.fs-16, h2.fs-16, h3.fs-16, h4.fs-16, p.fs-16 {--fontSize: 16 !important; font-size: 16px !important;}
.fs-17, h2.fs-17, h3.fs-17, h4.fs-17, p.fs-17 {--fontSize: 17 !important; font-size: 17px !important;}
.fs-18, h2.fs-18, h3.fs-18, h4.fs-18, p.fs-18 {--fontSize: 18 !important; font-size: 18px !important;}
.fs-19, h2.fs-19, h3.fs-19, h4.fs-19, p.fs-19 {--fontSize: 19 !important; font-size: 19px !important;}
.fs-20, h2.fs-20, h3.fs-20, h4.fs-20, p.fs-20 {--fontSize: 20 !important; font-size: 20px !important;}
.fs-21, h2.fs-21, h3.fs-21, h4.fs-21, p.fs-21 {--fontSize: 21 !important; font-size: 21px !important;}
.fs-22, h2.fs-22, h3.fs-22, h4.fs-22, p.fs-22 {--fontSize: 22 !important; font-size: 22px !important;}
.fs-23, h2.fs-23, h3.fs-23, h4.fs-23, p.fs-23 {--fontSize: 23 !important; font-size: 23px !important;}
.fs-24, h2.fs-24, h3.fs-24, h4.fs-24, p.fs-24 {--fontSize: 24 !important; font-size: 24px !important;}
.fs-25, h2.fs-25, h3.fs-25, h4.fs-25, p.fs-25 {--fontSize: 25 !important; font-size: 25px !important;}
.fs-30, h2.fs-30, h3.fs-30, h4.fs-30, p.fs-30 {--fontSize: 30 !important; font-size: 30px !important;}
.fs-35, h2.fs-35, h3.fs-35, h4.fs-35, p.fs-35 {--fontSize: 35 !important; font-size: 35px !important;}
.fs-40, h2.fs-40, h3.fs-40, h4.fs-40, p.fs-40 {--fontSize: 40 !important; font-size: 40px !important;}
.fs-45, h2.fs-45, h3.fs-45, h4.fs-45, p.fs-45 {--fontSize: 45 !important; font-size: 45px !important;}
.fs-50, h2.fs-50, h3.fs-50, h4.fs-50, p.fs-50 {--fontSize: 50 !important; font-size: 50px !important;}
.fs-55, h2.fs-55, h3.fs-55, h4.fs-55, p.fs-55 {--fontSize: 55 !important; font-size: 55px !important;}
.fs-60, h2.fs-60, h3.fs-60, h4.fs-60, p.fs-60 {--fontSize: 60 !important; font-size: 60px !important;}
.fs-65, h2.fs-65, h3.fs-65, h4.fs-65, p.fs-65 {--fontSize: 65 !important; font-size: 65px !important;}
.fs-70, h2.fs-70, h3.fs-70, h4.fs-70, p.fs-70 {--fontSize: 70 !important; font-size: 70px !important;}
.fs-75, h2.fs-75, h3.fs-75, h4.fs-75, p.fs-75 {--fontSize: 75 !important; font-size: 75px !important;}
.fs-80, h2.fs-80, h3.fs-80, h4.fs-80, p.fs-80 {--fontSize: 80 !important; font-size: 80px !important;}
.fs-85, h2.fs-85, h3.fs-85, h4.fs-85, p.fs-85 {--fontSize: 85 !important; font-size: 85px !important;}
.fs-90, h2.fs-90, h3.fs-90, h4.fs-90, p.fs-90 {--fontSize: 90 !important; font-size: 90px !important;}
.fs-95, h2.fs-95, h3.fs-95, h4.fs-95, p.fs-95 {--fontSize: 95 !important; font-size: 95px !important;}
.fs-100, h2.fs-100, h3.fs-100, h4.fs-100, p.fs-100 {--fontSize: 100 !important; font-size: 100px !important;}

/* Line Height */
.lh-10, h2.lh-10, h3.lh-10, h4.lh-10, p.lh-10 {line-height: 10px !important;}
.lh-15, h2.lh-15, h3.lh-15, h4.lh-15, p.lh-15 {line-height: 15px !important;}
.lh-20, h2.lh-20, h3.lh-20, h4.lh-20, p.lh-20 {line-height: 20px !important;}
.lh-25, h2.lh-25, h3.lh-25, h4.lh-25, p.lh-25 {line-height: 25px !important;}
.lh-30, h2.lh-30, h3.lh-30, h4.lh-30, p.lh-30 {line-height: 30px !important;}
.lh-35, h2.lh-35, h3.lh-35, h4.lh-35, p.lh-35 {line-height: 35px !important;}
.lh-40, h2.lh-40, h3.lh-40, h4.lh-40, p.lh-40 {line-height: 40px !important;}
.lh-45, h2.lh-45, h3.lh-45, h4.lh-45, p.lh-45 {line-height: 45px !important;}
.lh-50, h2.lh-50, h3.lh-50, h4.lh-50, p.lh-50 {line-height: 50px !important;}
.lh-55, h2.lh-55, h3.lh-55, h4.lh-55, p.lh-55 {line-height: 55px !important;}
.lh-60, h2.lh-60, h3.lh-60, h4.lh-60, p.lh-60 {line-height: 60px !important;}
.lh-65, h2.lh-65, h3.lh-65, h4.lh-65, p.lh-65 {line-height: 65px !important;}
.lh-70, h2.lh-70, h3.lh-70, h4.lh-70, p.lh-70 {line-height: 70px !important;}
.lh-75, h2.lh-75, h3.lh-75, h4.lh-75, p.lh-75 {line-height: 75px !important;}
.lh-80, h2.lh-80, h3.lh-80, h4.lh-80, p.lh-80 {line-height: 80px !important;}
.lh-85, h2.lh-85, h3.lh-85, h4.lh-85, p.lh-85 {line-height: 85px !important;}
.lh-90, h2.lh-90, h3.lh-90, h4.lh-90, p.lh-90 {line-height: 90px !important;}
.lh-95, h2.lh-95, h3.lh-95, h4.lh-95, p.lh-95 {line-height: 95px !important;}
.lh-100, h2.lh-100, h3.lh-100, h4.lh-100, p.lh-100 {line-height: 100px !important;}


/* Font Weight */
.fw-100, h2.fw-100, h3.fw-100, h4.fw-100, p.fw-100 {font-weight:100;}
.fw-200, h2.fw-200, h3.fw-200, h4.fw-200, p.fw-200 {font-weight:200;}
.fw-300, h2.fw-300, h3.fw-300, h4.fw-300, p.fw-300 {font-weight:300;}
.fw-400, h2.fw-400, h3.fw-400, h4.fw-400, p.fw-400 {font-weight:400;}
.fw-500, h2.fw-500, h3.fw-500, h4.fw-500, p.fw-500 {font-weight:500;}
.fw-600, h2.fw-600, h3.fw-600, h4.fw-600, p.fw-600 {font-weight:600;}
.fw-700, h2.fw-700, h3.fw-700, h4.fw-700, p.fw-700 {font-weight:700;}
.fw-800, h2.fw-800, h3.fw-800, h4.fw-800, p.fw-800 {font-weight:800;}
.fw-900, h2.fw-900, h3.fw-900, h4.fw-900, p.fw-900 {font-weight:900;}

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-uppercase { text-transform: uppercase; }
.text-lowercase { text-transform: lowercase; }
.text-capitalize { text-transform: capitalize; }
.fw-bold { font-weight: bold; }
.fw-normal { font-weight: normal; }

/* Width & Height Utilities */
.w-100 { width: 100%; }
.w-auto { width: auto; }
.h-100 { height: 100%; }
.h-auto { height: auto; }

/* Flexbox Helpers */
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.align-center { align-items: center; }
.flex-column { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }

/* Spacing Shorthands */
.mx-auto { margin-left: auto; margin-right: auto; }
.mx-0 { margin-left: 0px; margin-right: 0px; }
.my-0 { margin-top: 0px; margin-bottom: 0px; }
.px-0 { padding-left: 0px; padding-right: 0px; }
.py-0 { padding-top: 0px; padding-bottom: 0px; }

p, h1, h2, h3, h4, h5 { text-wrap: balance; }
.text-wrap-auto, .text-wrap-auto p {text-wrap: auto !important;}

/* Media Query for Mobile */
@media screen and (max-width: 720px) {
    .mobile-only {display: block;}
    .desktop-only {display: none;}

    /* Mobile Font Size */
    .mobile-fs-10, h2.mobile-fs-10, h3.mobile-fs-10, h4.mobile-fs-10, p.mobile-fs-10 {--fontSize: 10 !important; font-size: 10px !important;}
    .mobile-fs-11, h2.mobile-fs-11, h3.mobile-fs-11, h4.mobile-fs-11, p.mobile-fs-11 {--fontSize: 11 !important; font-size: 11px !important;}
    .mobile-fs-12, h2.mobile-fs-12, h3.mobile-fs-12, h4.mobile-fs-12, p.mobile-fs-12 {--fontSize: 12 !important; font-size: 12px !important;}
    .mobile-fs-13, h2.mobile-fs-13, h3.mobile-fs-13, h4.mobile-fs-13, p.mobile-fs-13 {--fontSize: 13 !important; font-size: 13px !important;}
    .mobile-fs-14, h2.mobile-fs-14, h3.mobile-fs-14, h4.mobile-fs-14, p.mobile-fs-14 {--fontSize: 14 !important; font-size: 14px !important;}
    .mobile-fs-15, h2.mobile-fs-15, h3.mobile-fs-15, h4.mobile-fs-15, p.mobile-fs-15 {--fontSize: 15 !important; font-size: 15px !important;}
    .mobile-fs-16, h2.mobile-fs-16, h3.mobile-fs-16, h4.mobile-fs-16, p.mobile-fs-16 {--fontSize: 16 !important; font-size: 16px !important;}
    .mobile-fs-17, h2.mobile-fs-17, h3.mobile-fs-17, h4.mobile-fs-17, p.mobile-fs-17 {--fontSize: 17 !important; font-size: 17px !important;}
    .mobile-fs-18, h2.mobile-fs-18, h3.mobile-fs-18, h4.mobile-fs-18, p.mobile-fs-18 {--fontSize: 18 !important; font-size: 18px !important;}
    .mobile-fs-19, h2.mobile-fs-19, h3.mobile-fs-19, h4.mobile-fs-19, p.mobile-fs-19 {--fontSize: 19 !important; font-size: 19px !important;}
    .mobile-fs-20, h2.mobile-fs-20, h3.mobile-fs-20, h4.mobile-fs-20, p.mobile-fs-20 {--fontSize: 20 !important; font-size: 20px !important;}
    .mobile-fs-21, h2.mobile-fs-21, h3.mobile-fs-21, h4.mobile-fs-21, p.mobile-fs-21 {--fontSize: 21 !important; font-size: 21px !important;}
    .mobile-fs-22, h2.mobile-fs-22, h3.mobile-fs-22, h4.mobile-fs-22, p.mobile-fs-22 {--fontSize: 22 !important; font-size: 22px !important;}
    .mobile-fs-23, h2.mobile-fs-23, h3.mobile-fs-23, h4.mobile-fs-23, p.mobile-fs-23 {--fontSize: 23 !important; font-size: 23px !important;}
    .mobile-fs-24, h2.mobile-fs-24, h3.mobile-fs-24, h4.mobile-fs-24, p.mobile-fs-24 {--fontSize: 24 !important; font-size: 24px !important;}
    .mobile-fs-25, h2.mobile-fs-25, h3.mobile-fs-25, h4.mobile-fs-25, p.mobile-fs-25 {--fontSize: 25 !important; font-size: 25px !important;}
    .mobile-fs-30, h2.mobile-fs-30, h3.mobile-fs-30, h4.mobile-fs-30, p.mobile-fs-30 {--fontSize: 30 !important; font-size: 30px !important;}
    .mobile-fs-35, h2.mobile-fs-35, h3.mobile-fs-35, h4.mobile-fs-35, p.mobile-fs-35 {--fontSize: 35 !important; font-size: 35px !important;}
    .mobile-fs-40, h2.mobile-fs-40, h3.mobile-fs-40, h4.mobile-fs-40, p.mobile-fs-40 {--fontSize: 40 !important; font-size: 40px !important;}
    .mobile-fs-45, h2.mobile-fs-45, h3.mobile-fs-45, h4.mobile-fs-45, p.mobile-fs-45 {--fontSize: 45 !important; font-size: 45px !important;}
    .mobile-fs-50, h2.mobile-fs-50, h3.mobile-fs-50, h4.mobile-fs-50, p.mobile-fs-50 {--fontSize: 50 !important; font-size: 50px !important;}
    .mobile-fs-55, h2.mobile-fs-55, h3.mobile-fs-55, h4.mobile-fs-55, p.mobile-fs-55 {--fontSize: 55 !important; font-size: 55px !important;}
    .mobile-fs-60, h2.mobile-fs-60, h3.mobile-fs-60, h4.mobile-fs-60, p.mobile-fs-60 {--fontSize: 60 !important; font-size: 60px !important;}
    .mobile-fs-65, h2.mobile-fs-65, h3.mobile-fs-65, h4.mobile-fs-65, p.mobile-fs-65 {--fontSize: 65 !important; font-size: 65px !important;}
    .mobile-fs-70, h2.mobile-fs-70, h3.mobile-fs-70, h4.mobile-fs-70, p.mobile-fs-70 {--fontSize: 70 !important; font-size: 70px !important;}
    .mobile-fs-75, h2.mobile-fs-75, h3.mobile-fs-75, h4.mobile-fs-75, p.mobile-fs-75 {--fontSize: 75 !important; font-size: 75px !important;}
    .mobile-fs-80, h2.mobile-fs-80, h3.mobile-fs-80, h4.mobile-fs-80, p.mobile-fs-80 {--fontSize: 80 !important; font-size: 80px !important;}
    .mobile-fs-85, h2.mobile-fs-85, h3.mobile-fs-85, h4.mobile-fs-85, p.mobile-fs-85 {--fontSize: 85 !important; font-size: 85px !important;}
    .mobile-fs-90, h2.mobile-fs-90, h3.mobile-fs-90, h4.mobile-fs-90, p.mobile-fs-90 {--fontSize: 90 !important; font-size: 90px !important;}
    .mobile-fs-95, h2.mobile-fs-95, h3.mobile-fs-95, h4.mobile-fs-95, p.mobile-fs-95 {--fontSize: 95 !important; font-size: 95px !important;}
    .mobile-fs-100, h2.mobile-fs-100, h3.mobile-fs-100, h4.mobile-fs-100, p.mobile-fs-100 {--fontSize: 100 !important; font-size: 100px;}

    /* Mobile Line Height */
    .mobile-lh-10, h2.mobile-lh-10, h3.mobile-lh-10, h4.mobile-lh-10, p.mobile-lh-10 {line-height: 10px !important;}
    .mobile-lh-15, h2.mobile-lh-15, h3.mobile-lh-15, h4.mobile-lh-15, p.mobile-lh-15 {line-height: 15px !important;}
    .mobile-lh-20, h2.mobile-lh-20, h3.mobile-lh-20, h4.mobile-lh-20, p.mobile-lh-20 {line-height: 20px !important}
    .mobile-lh-25, h2.mobile-lh-25, h3.mobile-lh-25, h4.mobile-lh-25, p.mobile-lh-25 {line-height: 25px !important;}
    .mobile-lh-30, h2.mobile-lh-30, h3.mobile-lh-30, h4.mobile-lh-30, p.mobile-lh-30 {line-height: 30px !important;}
    .mobile-lh-35, h2.mobile-lh-35, h3.mobile-lh-35, h4.mobile-lh-35, p.mobile-lh-35 {line-height: 35px !important;}
    .mobile-lh-40, h2.mobile-lh-40, h3.mobile-lh-40, h4.mobile-lh-40, p.mobile-lh-40 {line-height: 40px !important;}
    .mobile-lh-45, h2.mobile-lh-45, h3.mobile-lh-45, h4.mobile-lh-45, p.mobile-lh-45 {line-height: 45px !important;}
    .mobile-lh-50, h2.mobile-lh-50, h3.mobile-lh-50, h4.mobile-lh-50, p.mobile-lh-50 {line-height: 50px !important;}
    .mobile-lh-55, h2.mobile-lh-55, h3.mobile-lh-55, h4.mobile-lh-55, p.mobile-lh-55 {line-height: 55px !important;}
    .mobile-lh-60, h2.mobile-lh-60, h3.mobile-lh-60, h4.mobile-lh-60, p.mobile-lh-60 {line-height: 60px !important;}
    .mobile-lh-65, h2.mobile-lh-65, h3.mobile-lh-65, h4.mobile-lh-65, p.mobile-lh-65 {line-height: 65px !important;}
    .mobile-lh-70, h2.mobile-lh-70, h3.mobile-lh-70, h4.mobile-lh-70, p.mobile-lh-70 {line-height: 70px !important;}
    .mobile-lh-75, h2.mobile-lh-75, h3.mobile-lh-75, h4.mobile-lh-75, p.mobile-lh-75 {line-height: 75px !important;}
    .mobile-lh-80, h2.mobile-lh-80, h3.mobile-lh-80, h4.mobile-lh-80, p.mobile-lh-80 {line-height: 80px !important;}
    .mobile-lh-85, h2.mobile-lh-85, h3.mobile-lh-85, h4.mobile-lh-85, p.mobile-lh-85 {line-height: 85px !important;}
    .mobile-lh-90, h2.mobile-lh-90, h3.mobile-lh-90, h4.mobile-lh-90, p.mobile-lh-90 {line-height: 90px !important;}
    .mobile-lh-95, h2.mobile-lh-95, h3.mobile-lh-95, h4.mobile-lh-95, p.mobile-lh-95 {line-height: 95px !important;}
    .mobile-lh-100, h2.mobile-lh-100, h3.mobile-lh-100, h4.mobile-lh-100, p.mobile-lh-100 {line-height: 100px !important;}

}
