.fw-thin {
    font-weight: 100 !important;
}

.fw-extra-light {
    font-weight: 200 !important;
}

.fw-light {
    font-weight: 300 !important;
}

.fw-regular {
    font-weight: 400 !important;
}

.fw-medium {
    font-weight: 500 !important;
}

.fw-semi-bold {
    font-weight: 600 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

.fw-extra-bold {
    font-weight: 800 !important;
}

.fw-black {
    font-weight: 900 !important;
}

.text-display-1 {
    font-size: 90px !important;
    font-family: 'Sofia Sans Extra Condensed' !important;
}

.text-display-2 {
    font-size: 70px !important;
    font-family: 'Sofia Sans Extra Condensed' !important;
}

h1,
.h1 {
    font-size: 62px !important;
}

h2,
.h2 {
    font-size: 58px !important;
}

h3,
.h3 {
    font-size: 44px !important;
}

h4,
.h4 {
    font-size: 40px !important;
}

h5,
.h5 {
    font-size: 32px !important;
}

h6,
.h6 {
    font-size: 24px !important;
}

.h7 {
    font-size: 18px !important;
    font-family: 'Sofia Sans Extra Condensed' !important;
}

.h8 {
    font-size: 16px !important;
    font-family: 'Sofia Sans Extra Condensed' !important;
}

.h9 {
    font-size: 8px !important;
    font-family: 'Sofia Sans Extra Condensed' !important;
}

.text-subtitle-1 {
    font-size: 24px !important;
}

.text-subtitle-2 {
    font-size: 20px !important;
}

.text-subtitle-3 {
    font-size: 14px !important;
}

.text-subtitle-4 {
    font-size: 12px !important;
}

.text-body-1 {
    font-size: 10px !important;
}


/* // `sm` applies to x-small devices (portrait phones, less than 576px) */
@media (min-width: 576px) {

    .text-display-1 {
        font-size: 90px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-display-2 {
        font-size: 70px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    h1,
    .h1 {
        font-size: 64px !important;
    }

    h2,
    .h2 {
        font-size: 60px !important;
    }

    h3,
    .h3 {
        font-size: 48px !important;
    }

    h4,
    .h4 {
        font-size: 40px !important;
    }

    h5,
    .h5 {
        font-size: 34px !important;
    }

    h6,
    .h6 {
        font-size: 26px !important;
    }

    .h7 {
        font-size: 20px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h8 {
        font-size: 18px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h9 {
        font-size: 10px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-subtitle-1 {
        font-size: 24px !important;
    }

    .text-subtitle-2 {
        font-size: 16px !important;
    }

    .text-subtitle-3 {
        font-size: 14px !important;
    }

    .text-subtitle-4 {
        font-size: 12px !important;
    }

    .text-body-1 {
        font-size: 10px !important;
    }
}

/* // `md` applies to small devices (landscape phones, less than 768px) */
@media (min-width: 768px) {

    .text-display-1 {
        font-size: 110px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-display-2 {
        font-size: 80px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    h1,
    .h1 {
        font-size: 70px !important;
    }

    h2,
    .h2 {
        font-size: 62px !important;
    }

    h3,
    .h3 {
        font-size: 50px !important;
    }

    h4,
    .h4 {
        font-size: 42px !important;
    }

    h5,
    .h5 {
        font-size: 36px !important;
    }

    h6,
    .h6 {
        font-size: 30px !important;
    }

    .h7 {
        font-size: 24px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h8 {
        font-size: 20px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h9 {
        font-size: 12px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-subtitle-1 {
        font-size: 22px !important;
    }

    .text-subtitle-2 {
        font-size: 18px !important;
    }

    .text-subtitle-3 {
        font-size: 16px !important;
    }

    .text-subtitle-4 {
        font-size: 14px !important;
    }

    .text-body-1 {
        font-size: 12px !important;
    }
}

/* // `lg` applies to medium devices (tablets, less than 992px) */
@media (min-width: 992px) {

    .text-display-1 {
        font-size: 120px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-display-2 {
        font-size: 90px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    h1,
    .h1 {
        font-size: 76px !important;
    }

    h2,
    .h2 {
        font-size: 68px !important;
    }

    h3,
    .h3 {
        font-size: 54px !important;
    }

    h4,
    .h4 {
        font-size: 44px !important;
    }

    h5,
    .h5 {
        font-size: 40px !important;
    }

    h6,
    .h6 {
        font-size: 34px !important;
    }

    .h7 {
        font-size: 28px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h8 {
        font-size: 22px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h9 {
        font-size: 12px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-subtitle-1 {
        font-size: 28px !important;
    }

    .text-subtitle-2 {
        font-size: 20px !important;
    }

    .text-subtitle-3 {
        font-size: 18px !important;
    }

    .text-subtitle-4 {
        font-size: 16px !important;
    }

    .text-body-1 {
        font-size: 12px !important;
    }
}

/* // `xl` applies to large devices (desktops, less than 1200px) */
@media (min-width: 1200px) {

    .text-display-1 {
        font-size: 140px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-display-2 {
        font-size: 100px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    h1,
    .h1 {
        font-size: 80px !important;
    }

    h2,
    .h2 {
        font-size: 72px !important;
    }

    h3,
    .h3 {
        font-size: 58px !important;
    }

    h4,
    .h4 {
        font-size: 48px !important;
    }

    h5,
    .h5 {
        font-size: 44px !important;
    }

    h6,
    .h6 {
        font-size: 34px !important;
    }

    .h7 {
        font-size: 30px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h8 {
        font-size: 26px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h9 {
        font-size: 14px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-subtitle-1 {
        font-size: 32px !important;
    }

    .text-subtitle-2 {
        font-size: 24px !important;
    }

    .text-subtitle-3 {
        font-size: 20px !important;
    }

    .text-subtitle-4 {
        font-size: 18px !important;
    }

    .text-body-1 {
        font-size: 12px !important;
    }
}

/* // `xxl` applies to x-large devices (large desktops, less than 1400px) */
@media (min-width: 1400px) {

    .text-display-1 {
        font-size: 160px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-display-2 {
        font-size: 120px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    h1,
    .h1 {
        font-size: 90px !important;
    }

    h2,
    .h2 {
        font-size: 82px !important;
    }

    h3,
    .h3 {
        font-size: 64px !important;
    }

    h4,
    .h4 {
        font-size: 56px !important;
    }

    h5,
    .h5 {
        font-size: 50px !important;
    }

    h6,
    .h6 {
        font-size: 42px !important;
    }

    .h7 {
        font-size: 36px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h8 {
        font-size: 30px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h9 {
        font-size: 18px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-subtitle-1 {
        font-size: 36px !important;
    }

    .text-subtitle-2 {
        font-size: 28px !important;
    }

    .text-subtitle-3 {
        font-size: 20px !important;
    }

    .text-subtitle-4 {
        font-size: 18px !important;
    }

    .text-body-1 {
        font-size: 12px !important;
    }
}

/* // `xxxl` applies to x-large devices (large desktops, less than 1600px) */
@media (min-width: 1600px) {

    .text-display-1 {
        font-size: 180px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-display-2 {
        font-size: 140px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    h1,
    .h1 {
        font-size: 96px !important;
    }

    h2,
    .h2 {
        font-size: 88px !important;
    }

    h3,
    .h3 {
        font-size: 72px !important;
    }

    h4,
    .h4 {
        font-size: 64px !important;
    }

    h5,
    .h5 {
        font-size: 56px !important;
    }

    h6,
    .h6 {
        font-size: 48px !important;
    }

    .h7 {
        font-size: 40px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h8 {
        font-size: 36px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .h9 {
        font-size: 20px !important;
        font-family: 'Sofia Sans Extra Condensed' !important;
    }

    .text-subtitle-1 {
        font-size: 40px !important;
    }

    .text-subtitle-2 {
        font-size: 32px !important;
    }

    .text-subtitle-3 {
        font-size: 24px !important;
    }

    .text-subtitle-4 {
        font-size: 20px !important;
    }

    .text-body-1 {
        font-size: 16px !important;
    }
}