/*
  Rankovate typography aliases.

  The visible website typography uses only these internal family names.
  When the real font files are added, update only the src values below:
  ../fonts/RankovateSans-Regular.woff2
  ../fonts/RankovateSans-Medium.woff2
  ../fonts/RankovateSans-SemiBold.woff2
  ../fonts/RankovateSans-Bold.woff2
*/

@font-face {
  font-family: "Rankovate Display";
  src: url("../fonts/RankovateSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Rankovate Heading";
  src: url("../fonts/RankovateSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Rankovate Subheading";
  src: url("../fonts/RankovateSans-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Rankovate Regular";
  src: url("../fonts/RankovateSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Rankovate CTA";
  src: url("../fonts/RankovateSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Rankovate Badge";
  src: url("../fonts/RankovateSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-main-heading: "Rankovate Display";
  --font-heading: "Rankovate Heading";
  --font-subheading: "Rankovate Subheading";
  --font-body: "Rankovate Regular";
  --font-cta: "Rankovate CTA";
  --font-badge: "Rankovate Badge";

  --rankovate-weight-regular: 400;
  --rankovate-weight-medium: 500;
  --rankovate-weight-semibold: 600;
  --rankovate-weight-bold: 700;
}

html,
body,
body .elementor,
body .elementor :where(*:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-light):not(.fa-brands):not([class^="fa-"]):not([class*=" fa-"]):not(.material-icons):not(.dashicons)),
body :where(p, li, blockquote, figcaption, input, textarea, select) {
  font-family: var(--font-body) !important;
  font-weight: var(--rankovate-weight-regular) !important;
  letter-spacing: -0.004em;
  font-synthesis: none;
  font-synthesis-weight: none;
  font-optical-sizing: auto;
  font-kerning: normal;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body :where(h1, .hero-title, .rk-main-heading, .rk-new-hero-left h1, .rkvh-copy h1, .rk-display, .rank-display) {
  font-family: var(--font-main-heading) !important;
  font-weight: var(--rankovate-weight-semibold) !important;
  letter-spacing: -0.035em;
}

body :where(h2, h3, h4, h5, h6, .section-title, .card-title, .rk-about-title, .rk-ms-head h2, .rk-adv-title, .rk-workflow-title, .rk-testimonials-title, .rk-blog-title, .rk-card h1, .rk-card h2, .rk-card h3, .rk-card h4, .rk-card h5, .rk-card h6, article h1, article h2, article h3, article h4, .rk-ms-card h3, .rk-blog-card h3, .rk-testimonial-card h3) {
  font-family: var(--font-heading) !important;
  font-weight: var(--rankovate-weight-semibold) !important;
  letter-spacing: -0.028em;
}

body :where(.subtitle, .subheading, .section-description, .hero-subtitle, .rk-new-hero-left p, .rkvh-copy p, .rk-about-copy p, .rk-ms-head p, .rk-adv-subtitle, .rk-workflow-subtitle, .rk-testimonials-subtitle, .rk-blog-subtitle) {
  font-family: var(--font-subheading) !important;
  font-weight: var(--rankovate-weight-medium) !important;
  letter-spacing: -0.006em;
}

body :where(nav a, .menu a, .rk-nav, .rk-nav-link, .rk-header-nav a, .rk-full-header-shell a) {
  font-family: var(--font-subheading) !important;
  font-weight: var(--rankovate-weight-medium) !important;
  letter-spacing: -0.004em;
}

body :where(button, .button, .elementor-button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], .cta, .rk-btn, a.button, .rk-new-hero-btn, .rkvh-btn, .rk-ms-head-cta, .rk-ms-quote-btn, .rk-blog-cta, .rk-footer-cta-button) {
  font-family: var(--font-cta) !important;
  font-weight: var(--rankovate-weight-semibold) !important;
  letter-spacing: -0.006em;
}

body :where(label, legend, .badge, .kicker, .label, .eyebrow, .rk-label, .rank-label, .rk-kicker, .rank-kicker, .rk-eyebrow, .rank-eyebrow, .rk-new-hero-kicker, .rkvh-badge, .rk-ms-label, .rk-adv-eyebrow, .rk-blog-label) {
  font-family: var(--font-badge) !important;
  font-weight: var(--rankovate-weight-semibold) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body :where(.rk-footer, .rk-site-footer, .rk-site-footer :where(*:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-light):not(.fa-brands):not([class^="fa-"]):not([class*=" fa-"]):not(.material-icons):not(.dashicons)), footer, footer :where(*:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-light):not(.fa-brands):not([class^="fa-"]):not([class*=" fa-"]):not(.material-icons):not(.dashicons))) {
  font-family: var(--font-body) !important;
}

body :where(strong, b, .rk-strong, .rk-stat-value, .rk-ms-metric strong, .rk-client-logo-card span, .rk-blog-date, .rk-footer-column strong) {
  font-family: var(--font-heading) !important;
  font-weight: var(--rankovate-weight-semibold) !important;
  letter-spacing: -0.008em;
}

body :where(.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-light, .fa-brands, [class^="fa-"], [class*=" fa-"], .material-icons, .dashicons) {
  font-family: var(--fa-style-family, inherit);
}
