:root {
    --site-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea,
optgroup,
.btn,
.card,
.nav,
.navbar,
.sidebar,
.topbar,
.dropdown,
.dropdown-menu,
.table,
.form-control,
.custom-select,
.modal,
.tooltip,
.popover,
.alert,
.badge,
.blog-editor {
    font-family: var(--site-font-family) !important;
}

body *:not(.fas):not(.far):not(.fab):not(.fa):not([class^="fa-"]):not([class*=" fa-"]) {
    font-family: var(--site-font-family);
}

h1,
h2 {
    font-weight: 800 !important;
}

h3,
h4,
h5,
h6,
strong,
b,
.font-weight-bold,
.page-title,
.card-header,
.btn,
label,
th,
.hero-kicker,
.feature-chip,
.section-title,
.info-card h3,
.service-group-head h3,
.service-id,
.service-name,
.service-price,
.service-detail-pill,
.service-view-link,
.step-number,
.step-item h3,
.wide-action,
.faq-item summary,
.auth-brand,
.auth-eyebrow,
.auth-field label,
.auth-submit,
.auth-switch a,
.auth-home-link,
.blog-card h2,
.article-title,
.popular-sidebar h3,
.popular-rank,
.popular-item a,
.related-grid h3 {
    font-weight: bold !important;
}

/* Preserve Font Awesome glyph weights. */
.fa,
.fas {
    font-weight: 900 !important;
}

.far,
.fab {
    font-weight: 400 !important;
}

/* Heading rule stays last so classes on H1/H2 cannot reduce the weight. */
h1,
h2 {
    font-weight: 800 !important;
}

/* Standalone authentication pages do not use the main layout typography. */
@media (max-width: 767.98px) {
    body.auth-page,
    .auth-page .auth-form-panel {
        font-size: 13px !important;
    }

    .auth-page .auth-heading h1 {
        font-size: 22px !important;
        line-height: 1.25 !important;
    }

    .auth-page .auth-heading p,
    .auth-page .auth-alert,
    .auth-page .auth-check,
    .auth-page .auth-switch,
    .auth-page .auth-home-link {
        font-size: 12.5px !important;
        line-height: 1.5 !important;
    }

    .auth-page .auth-field label,
    .auth-page .auth-input,
    .auth-page .auth-submit {
        font-size: 13px !important;
    }

    .auth-page .auth-mobile-brand {
        font-size: 14px !important;
    }

    .auth-page .auth-captcha span {
        font-size: 11px !important;
    }

    .auth-page .auth-captcha strong {
        font-size: 13px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    body.auth-page,
    .auth-page .auth-form-panel {
        font-size: 15px !important;
    }

    .auth-page .auth-heading h1 {
        font-size: 26px !important;
        line-height: 1.25 !important;
    }

    .auth-page .auth-heading p,
    .auth-page .auth-alert,
    .auth-page .auth-check,
    .auth-page .auth-switch,
    .auth-page .auth-home-link,
    .auth-page .auth-field label,
    .auth-page .auth-input,
    .auth-page .auth-submit {
        font-size: 14px !important;
    }
}

@media (min-width: 1200px) {
    body.auth-page,
    .auth-page .auth-form-panel {
        font-size: 16px !important;
    }

    .auth-page .auth-heading h1 {
        font-size: 28px !important;
        line-height: 1.25 !important;
    }

    .auth-page .auth-heading p,
    .auth-page .auth-alert,
    .auth-page .auth-check,
    .auth-page .auth-switch,
    .auth-page .auth-home-link {
        font-size: 15px !important;
    }

    .auth-page .auth-field label,
    .auth-page .auth-input,
    .auth-page .auth-submit {
        font-size: 14.5px !important;
    }
}
