/* Base classes (no breakpoint) */
.fw-300 { font-weight: 300 !important; }
.fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }
.fw-800 { font-weight: 800 !important; }
.fw-900 { font-weight: 900 !important; }

/* Small devices (sm) */
@media (min-width: 576px) {
    .fw-sm-300 { font-weight: 300 !important; }
    .fw-sm-400 { font-weight: 400 !important; }
    .fw-sm-500 { font-weight: 500 !important; }
    .fw-sm-600 { font-weight: 600 !important; }
    .fw-sm-700 { font-weight: 700 !important; }
    .fw-sm-800 { font-weight: 800 !important; }
    .fw-sm-900 { font-weight: 900 !important; }
}

/* Medium devices (md) */
@media (min-width: 768px) {
    .fw-md-300 { font-weight: 300 !important; }
    .fw-md-400 { font-weight: 400 !important; }
    .fw-md-500 { font-weight: 500 !important; }
    .fw-md-600 { font-weight: 600 !important; }
    .fw-md-700 { font-weight: 700 !important; }
    .fw-md-800 { font-weight: 800 !important; }
    .fw-md-900 { font-weight: 900 !important; }
}

/* Large devices (lg) */
@media (min-width: 992px) {
    .fw-lg-300 { font-weight: 300 !important; }
    .fw-lg-400 { font-weight: 400 !important; }
    .fw-lg-500 { font-weight: 500 !important; }
    .fw-lg-600 { font-weight: 600 !important; }
    .fw-lg-700 { font-weight: 700 !important; }
    .fw-lg-800 { font-weight: 800 !important; }
    .fw-lg-900 { font-weight: 900 !important; }
}

/* Extra large devices (xl) */
@media (min-width: 1200px) {
    .fw-xl-300 { font-weight: 300 !important; }
    .fw-xl-400 { font-weight: 400 !important; }
    .fw-xl-500 { font-weight: 500 !important; }
    .fw-xl-600 { font-weight: 600 !important; }
    .fw-xl-700 { font-weight: 700 !important; }
    .fw-xl-800 { font-weight: 800 !important; }
    .fw-xl-900 { font-weight: 900 !important; }
}

/* Extra extra large devices (xxl) */
@media (min-width: 1400px) {
    .fw-xxl-300 { font-weight: 300 !important; }
    .fw-xxl-400 { font-weight: 400 !important; }
    .fw-xxl-500 { font-weight: 500 !important; }
    .fw-xxl-600 { font-weight: 600 !important; }
    .fw-xxl-700 { font-weight: 700 !important; }
    .fw-xxl-800 { font-weight: 800 !important; }
    .fw-xxl-900 { font-weight: 900 !important; }
}

/* Base classes (no breakpoint) */
.fs-8  { font-size: 8px  !important; }
.fs-10 { font-size: 10px !important; }
.fs-12 { font-size: 12px !important; }
.fs-14 { font-size: 14px !important; }
.fs-16 { font-size: 16px !important; }
.fs-18 { font-size: 18px !important; }
.fs-20 { font-size: 20px !important; }
.fs-22 { font-size: 22px !important; }
.fs-24 { font-size: 24px !important; }
.fs-26 { font-size: 26px !important; }
.fs-28 { font-size: 28px !important; }
.fs-30 { font-size: 30px !important; }
.fs-32 { font-size: 32px !important; }
.fs-34 { font-size: 34px !important; }
.fs-36 { font-size: 36px !important; }
.fs-38 { font-size: 38px !important; }
.fs-40 { font-size: 40px !important; }
.fs-42 { font-size: 42px !important; }
.fs-44 { font-size: 44px !important; }
.fs-46 { font-size: 46px !important; }
.fs-60 { font-size: 60px !important; }


/* Small devices (sm) */
@media (min-width: 576px) {
    .fs-sm-8  { font-size: 8px  !important; }
    .fs-sm-10 { font-size: 10px !important; }
    .fs-sm-12 { font-size: 12px !important; }
    .fs-sm-14 { font-size: 14px !important; }
    .fs-sm-16 { font-size: 16px !important; }
    .fs-sm-18 { font-size: 18px !important; }
    .fs-sm-20 { font-size: 20px !important; }
    .fs-sm-22 { font-size: 22px !important; }
    .fs-sm-24 { font-size: 24px !important; }
    .fs-sm-26 { font-size: 26px !important; }
    .fs-sm-28 { font-size: 28px !important; }
    .fs-sm-30 { font-size: 30px !important; }
    .fs-sm-32 { font-size: 32px !important; }
    .fs-sm-34 { font-size: 34px !important; }
    .fs-sm-36 { font-size: 36px !important; }
    .fs-sm-38 { font-size: 38px !important; }
    .fs-sm-40 { font-size: 40px !important; }
    .fs-sm-42 { font-size: 42px !important; }
    .fs-sm-44 { font-size: 44px !important; }
    .fs-sm-46 { font-size: 46px !important; }
    .fs-sm-60 { font-size: 60px !important; }
}

/* Medium devices (md) */
@media (min-width: 768px) {
    .fs-md-8  { font-size: 8px  !important; }
    .fs-md-10 { font-size: 10px !important; }
    .fs-md-12 { font-size: 12px !important; }
    .fs-md-14 { font-size: 14px !important; }
    .fs-md-16 { font-size: 16px !important; }
    .fs-md-18 { font-size: 18px !important; }
    .fs-md-20 { font-size: 20px !important; }
    .fs-md-22 { font-size: 22px !important; }
    .fs-md-24 { font-size: 24px !important; }
    .fs-md-26 { font-size: 26px !important; }
    .fs-md-28 { font-size: 28px !important; }
    .fs-md-30 { font-size: 30px !important; }
    .fs-md-32 { font-size: 32px !important; }
    .fs-md-34 { font-size: 34px !important; }
    .fs-md-36 { font-size: 36px !important; }
    .fs-md-38 { font-size: 38px !important; }
    .fs-md-40 { font-size: 40px !important; }
    .fs-md-42 { font-size: 42px !important; }
    .fs-md-44 { font-size: 44px !important; }
    .fs-md-46 { font-size: 46px !important; }
    .fs-md-60 { font-size: 60px !important; }
}

/* Large devices (lg) */
@media (min-width: 992px) {
    .fs-lg-8  { font-size: 8px  !important; }
    .fs-lg-10 { font-size: 10px !important; }
    .fs-lg-12 { font-size: 12px !important; }
    .fs-lg-14 { font-size: 14px !important; }
    .fs-lg-16 { font-size: 16px !important; }
    .fs-lg-18 { font-size: 18px !important; }
    .fs-lg-20 { font-size: 20px !important; }
    .fs-lg-22 { font-size: 22px !important; }
    .fs-lg-24 { font-size: 24px !important; }
    .fs-lg-26 { font-size: 26px !important; }
    .fs-lg-28 { font-size: 28px !important; }
    .fs-lg-30 { font-size: 30px !important; }
    .fs-lg-32 { font-size: 32px !important; }
    .fs-lg-34 { font-size: 34px !important; }
    .fs-lg-36 { font-size: 36px !important; }
    .fs-lg-38 { font-size: 38px !important; }
    .fs-lg-40 { font-size: 40px !important; }
    .fs-lg-42 { font-size: 42px !important; }
    .fs-lg-44 { font-size: 44px !important; }
    .fs-lg-46 { font-size: 46px !important; }
    .fs-lg-60 { font-size: 60px !important; }
}

/* Extra large devices (xl) */
@media (min-width: 1200px) {
    .fs-xl-8  { font-size: 8px  !important; }
    .fs-xl-10 { font-size: 10px !important; }
    .fs-xl-12 { font-size: 12px !important; }
    .fs-xl-14 { font-size: 14px !important; }
    .fs-xl-16 { font-size: 16px !important; }
    .fs-xl-18 { font-size: 18px !important; }
    .fs-xl-20 { font-size: 20px !important; }
    .fs-xl-22 { font-size: 22px !important; }
    .fs-xl-24 { font-size: 24px !important; }
    .fs-xl-26 { font-size: 26px !important; }
    .fs-xl-28 { font-size: 28px !important; }
    .fs-xl-30 { font-size: 30px !important; }
    .fs-xl-32 { font-size: 32px !important; }
    .fs-xl-34 { font-size: 34px !important; }
    .fs-xl-36 { font-size: 36px !important; }
    .fs-xl-38 { font-size: 38px !important; }
    .fs-xl-40 { font-size: 40px !important; }
    .fs-xl-42 { font-size: 42px !important; }
    .fs-xl-44 { font-size: 44px !important; }
    .fs-xl-46 { font-size: 46px !important; }
    .fs-xl-60 { font-size: 60px !important; }
}

/* Extra extra large devices (xxl) */
@media (min-width: 1400px) {
    .fs-xxl-8  { font-size: 8px  !important; }
    .fs-xxl-10 { font-size: 10px !important; }
    .fs-xxl-12 { font-size: 12px !important; }
    .fs-xxl-14 { font-size: 14px !important; }
    .fs-xxl-16 { font-size: 16px !important; }
    .fs-xxl-18 { font-size: 18px !important; }
    .fs-xxl-20 { font-size: 20px !important; }
    .fs-xxl-22 { font-size: 22px !important; }
    .fs-xxl-24 { font-size: 24px !important; }
    .fs-xxl-26 { font-size: 26px !important; }
    .fs-xxl-28 { font-size: 28px !important; }
    .fs-xxl-30 { font-size: 30px !important; }
    .fs-xxl-32 { font-size: 32px !important; }
    .fs-xxl-34 { font-size: 34px !important; }
    .fs-xxl-36 { font-size: 36px !important; }
    .fs-xxl-38 { font-size: 38px !important; }
    .fs-xxl-40 { font-size: 40px !important; }
    .fs-xxl-42 { font-size: 42px !important; }
    .fs-xxl-44 { font-size: 44px !important; }
    .fs-xxl-46 { font-size: 46px !important; }
    .fs-xxl-60 { font-size: 60px !important; }
}