/* Rubik arabic, italic; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-arabic-italic-wght.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Rubik cyrillic-ext, italic; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-cyrillic-ext-italic-wght.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Rubik cyrillic, italic; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-cyrillic-italic-wght.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Rubik hebrew, italic; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-hebrew-italic-wght.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

/* Rubik latin-ext, italic; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-latin-ext-italic-wght.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Rubik latin, italic; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-latin-italic-wght.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Rubik arabic, normal; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-arabic-normal-wght.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Rubik cyrillic-ext, normal; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-cyrillic-ext-normal-wght.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Rubik cyrillic, normal; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-cyrillic-normal-wght.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Rubik hebrew, normal; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-hebrew-normal-wght.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

/* Rubik latin-ext, normal; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-latin-ext-normal-wght.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Rubik latin, normal; Google Fonts, SIL OFL 1.1. */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/rubik/rubik-latin-normal-wght.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* HERED typography. Source of truth: /design.md. Font faces are self-hosted. */
:root {
  --hered-font-family: "Rubik", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --hered-type-body: 1rem;
  --hered-type-page: clamp(2rem, 4.4vw, 3.5rem);
  --hered-type-article: clamp(2rem, 4vw, 3.2rem);
  --hered-type-product: clamp(1.6rem, 2.5vw, 2.2rem);
  --hered-type-section: clamp(1.65rem, 2.8vw, 2.4rem);
  --hered-weight-body: 400;
  --hered-weight-medium: 500;
  --hered-weight-strong: 600;
  --hered-weight-heading: 700;
}

body:is(.hered-native-site, .hered-code-home) {
  font-family: var(--hered-font-family);
  font-size: var(--hered-type-body);
  font-weight: var(--hered-weight-body);
  line-height: 1.65;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
}

body:is(.hered-native-site, .hered-code-home) :is(h1, h2, h3, h4, h5, h6, button, input, select, textarea) {
  font-family: var(--hered-font-family);
}

body:is(.hered-native-site, .hered-code-home) h1 {
  font-size: var(--hered-type-page);
  font-weight: var(--hered-weight-medium);
  line-height: 1.15;
  letter-spacing: -.03em;
}

body:is(.hered-native-site, .hered-code-home) h2 {
  font-weight: var(--hered-weight-heading);
  line-height: 1.22;
  letter-spacing: -.02em;
}

body:is(.hered-native-site, .hered-code-home) :is(h3, h4, h5, h6) {
  font-weight: var(--hered-weight-strong);
  line-height: 1.3;
  letter-spacing: -.01em;
}

body:is(.hered-native-site, .hered-code-home) h3 { font-size: 1.25rem; }
body:is(.hered-native-site, .hered-code-home) .hered-section-heading h2 { font-size: var(--hered-type-section); }

body.hered-native-site .hered-article__header h1 {
  font-size: var(--hered-type-article);
  font-weight: var(--hered-weight-strong);
  line-height: 1.2;
}

body.hered-native-site .hered-product-summary h1 {
  font-size: var(--hered-type-product);
  font-weight: var(--hered-weight-strong);
  line-height: 1.25;
  letter-spacing: -.02em;
}

body:is(.hered-native-site, .hered-code-home) :is(.hered-primary-nav > a, .hered-nav-link > a, .hered-nav > a) {
  font-size: .9375rem;
  font-weight: var(--hered-weight-strong);
  line-height: 1.3;
  letter-spacing: normal;
}

body:is(.hered-native-site, .hered-code-home) :is(.hered-button, .hered-header-search button, .hered-menu-toggle) {
  font-size: .9375rem;
  font-weight: var(--hered-weight-medium);
  line-height: 1.4;
  letter-spacing: normal;
}

body:is(.hered-native-site, .hered-code-home) .hered-button { min-height: 46px; }
body:is(.hered-native-site, .hered-code-home) :is(.hered-eyebrow, .hered-kicker, .hered-catalog-eyebrow) { font-weight: var(--hered-weight-strong); }

body:is(.hered-native-site, .hered-code-home) :is(.hered-product-family, .hered-category-card) h3 {
  font-size: 1.1rem;
  font-weight: var(--hered-weight-medium);
  line-height: 1.35;
  letter-spacing: normal;
}

body.hered-native-site .hered-product-card h3 {
  font-size: .9rem;
  font-weight: var(--hered-weight-medium);
  line-height: 1.45;
  letter-spacing: normal;
}

body.hered-native-site .hered-post-card h2 {
  font-weight: var(--hered-weight-strong);
  line-height: 1.45;
  letter-spacing: -.015em;
}

body.hered-native-site .hered-rich-content { line-height: 1.8; }
body.hered-native-site .hered-rich-content :is(p, li) { line-height: 1.8; }
body.hered-native-site :is(.hered-table-scroll, .hered-rich-content) table { font-family: var(--hered-font-family); }
body.hered-native-site :is(.hered-table-scroll, .hered-rich-content) th { font-weight: var(--hered-weight-strong); }

body.hered-native-site :is(.hered-submenu a, .hered-catalog-navigation > summary, .hered-catalog-all, .hered-category-list a[aria-current], .hered-article-toc summary, .hered-faq summary) { font-weight: var(--hered-weight-strong); }
body.hered-native-site :is(.hered-category-overview-grid a, .hered-product-card-more, .hered-product-downloads a, .hered-text-link) { font-weight: var(--hered-weight-medium); }

body:is(.hered-native-site, .hered-code-home) :is(input, select, textarea) {
  font-size: 1rem;
  font-weight: var(--hered-weight-body);
  line-height: 1.55;
  letter-spacing: normal;
}

body.hered-native-site .hered-enquiry-field label {
  font-size: .8375rem;
  font-weight: var(--hered-weight-strong);
  line-height: 1.5;
}

body.hered-native-site .hered-field-optional { font-weight: var(--hered-weight-body); }
body.hered-native-site .hered-catalog-order select { max-width: 100%; min-width: 0; min-height: 46px; }
body.hered-native-site .hered-catalog-order button {
  font-size: .9375rem;
  font-weight: var(--hered-weight-medium);
  line-height: 1.4;
  min-height: 46px;
}

body:is(.hered-native-site, .hered-code-home) .hered-footer { font-size: .89rem; line-height: 1.8; }
body:is(.hered-native-site, .hered-code-home) .hered-footer p { line-height: 1.8; }
body:is(.hered-native-site, .hered-code-home) .hered-footer :is(h2, h3) {
  font-size: .92rem;
  font-weight: var(--hered-weight-strong);
  line-height: 1.3;
  letter-spacing: normal;
}

/* Text inherits the site family; icon fonts and the WordPress admin bar keep theirs. */
body.hered-native-site :is(.trp-language-switcher, .trp-shortcode-switcher, #trp-floater-ls) {
  font-family: var(--hered-font-family);
}

@media (max-width: 767px) {
  body:is(.hered-native-site, .hered-code-home) :is(.hered-product-family, .hered-category-card) h3 { font-size: 1rem; }
}

@media (max-width: 640px) {
  body.hered-native-site .hered-product-card h3 { font-size: .875rem; }
  body.hered-native-site .hered-catalog-order select { max-width: min(100%, 220px); }
}
