/* Inter, SIL OFL 1.1. Source and hashes: assets/fonts/inter/source.json */
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter/inter-vietnamese-italic.woff2) format("woff2");
  unicode-range:
    U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter/inter-latin-italic.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;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter/inter-vietnamese-normal.woff2) format("woff2");
  unicode-range:
    U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter/inter-latin-normal.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;
}

:root {
  --tb-font-contact-title-size: 20px;
  --tb-font-contact-body-size: 15px;
  --tb-font-contact-body-line: 1.55;
  --tb-font-footer-title-size: 18px;
  --tb-font-footer-tagline-size: 24px;
  --tb-font-family: "Inter", sans-serif;
  --tb-font-body-size: 16px;
  --tb-font-body-line: 1.6;
  --tb-font-normal: 400;
  --tb-font-medium: 500;
  --tb-font-semibold: 600;
  --tb-font-bold: 700;
  --tb-font-hero-size: 38px;
  --tb-font-h1-size: 36px;
  --tb-font-h2-size: 30px;
  --tb-font-h3-size: 24px;
  --tb-font-h4-size: 20px;
  --tb-font-h5-size: 18px;
  --tb-font-h6-size: 16px;
  --tb-font-nav-size: 15px;
  --tb-font-product-size: 16px;
  --tb-font-technical-size: 14px;
  --tb-font-button-size: 14px;
  --tb-font-caption-size: 13px;
  --tb-font-hero-line: 1.2;
  --tb-font-h1-line: 1.25;
  --tb-font-h2-line: 1.3;
  --tb-font-h3-line: 1.35;
  --tb-font-heading-line: 1.4;
  --tb-font-ui-line: 1.4;
  --tb-font-data-line: 1.5;
}
html,
body.tb-site {
  font-family: var(--tb-font-family);
  font-size: var(--tb-font-body-size);
  line-height: var(--tb-font-body-line);
  font-weight: var(--tb-font-normal);
  font-synthesis: none;
  letter-spacing: normal;
}
/* One intentional family-only lock. Flatsome heading/nav rules and UX inline
   font declarations otherwise defeat inheritance. No universal selector;
   icons, SVG branding, code, admin bar and embedded editors are excluded. */
body.tb-site
  :is(
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    a,
    ul,
    ol,
    li,
    dl,
    dt,
    dd,
    table,
    thead,
    tbody,
    tfoot,
    tr,
    td,
    th,
    caption,
    small,
    strong,
    b,
    em,
    label,
    input,
    textarea,
    select,
    option,
    button,
    blockquote,
    figcaption,
    legend,
    summary,
    span,
    div,
    font
  ):not(
    :where(
      svg *,
      svg,
      .tb-logo,
      .tb-logo *,
      #wpadminbar,
      #wpadminbar *,
      pre,
      pre *,
      code,
      code *,
      kbd,
      samp,
      .dashicons,
      .dashicons-before,
      .material-icons,
      i[class^="icon-"],
      i[class*=" icon-"],
      span[class^="icon-"],
      span[class*=" icon-"],
      [class^="fa-"],
      .fa,
      .fas,
      .far,
      .fab,
      [contenteditable="true"],
      [contenteditable="true"] *,
      .mce-container,
      .mce-container *
    )
  ) {
  font-family: var(--tb-font-family) !important;
}
body.tb-site :is(h1, h2, h3, h4, h5, h6) {
  letter-spacing: normal;
  text-transform: none;
  overflow: visible;
}
body.tb-site h1 {
  font-size: var(--tb-font-h1-size);
  line-height: var(--tb-font-h1-line);
  font-weight: var(--tb-font-bold);
}
body.tb-site h2 {
  font-size: var(--tb-font-h2-size);
  line-height: var(--tb-font-h2-line);
  font-weight: var(--tb-font-bold);
}
body.tb-site h3 {
  font-size: var(--tb-font-h3-size);
  line-height: var(--tb-font-h3-line);
  font-weight: var(--tb-font-semibold);
}
body.tb-site h4 {
  font-size: var(--tb-font-h4-size);
  line-height: var(--tb-font-heading-line);
  font-weight: var(--tb-font-semibold);
}
body.tb-site h5 {
  font-size: var(--tb-font-h5-size);
  line-height: var(--tb-font-heading-line);
  font-weight: var(--tb-font-semibold);
}
body.tb-site h6 {
  font-size: var(--tb-font-h6-size);
  line-height: var(--tb-font-heading-line);
  font-weight: var(--tb-font-semibold);
}
body.tb-site :is(strong, b) {
  font-weight: var(--tb-font-bold);
}
body.tb-site .tb-hero h1 {
  font-size: var(--tb-font-hero-size);
  line-height: var(--tb-font-hero-line);
}
body.tb-site
  :is(
    .tb-menu a,
    .nav > li > a,
    .nav-dropdown a,
    .tb-languages,
    .tb-product-tabs
  ) {
  font-size: var(--tb-font-nav-size);
  font-weight: var(--tb-font-semibold);
  line-height: var(--tb-font-ui-line);
  letter-spacing: normal;
  text-transform: none;
}
body.tb-site
  :is(.tb-button, .button, button, input[type="submit"], .ux-button) {
  font-size: var(--tb-font-button-size);
  line-height: var(--tb-font-ui-line);
  font-weight: var(--tb-font-semibold);
  letter-spacing: normal;
  text-transform: none;
  height: auto;
  white-space: normal;
}
body.tb-site :is(input:not([type="submit"]), select, textarea) {
  font-size: var(--tb-font-body-size);
  line-height: var(--tb-font-body-line);
  font-weight: var(--tb-font-normal);
}
body.tb-site ::placeholder {
  font-family: inherit;
  font-weight: var(--tb-font-normal);
  opacity: 0.75;
}
body.tb-site :is(.tb-form label, .tb-filters label, .tb-feature-filter) {
  font-size: var(--tb-font-body-size);
  line-height: var(--tb-font-body-line);
  font-weight: var(--tb-font-medium);
}
body.tb-site
  :is(
    .tb-product-info h3,
    .product-small .name,
    .woocommerce-loop-product__title
  ) {
  font-size: var(--tb-font-product-size);
  line-height: var(--tb-font-data-line);
  font-weight: var(--tb-font-semibold);
  text-transform: none;
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
  min-height: 3em;
}
body.tb-site
  :is(
    .tb-spec-table,
    .tb-spec-table th,
    .tb-spec-table td,
    .shop_attributes,
    .shop_attributes th,
    .shop_attributes td,
    .tb-card-spec
  ) {
  font-size: var(--tb-font-technical-size);
  line-height: var(--tb-font-data-line);
  font-weight: var(--tb-font-normal);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
body.tb-site
  :is(
    .tb-eyebrow,
    .tb-small,
    .tb-topbar,
    .tb-breadcrumb,
    .tb-source,
    .tb-card-links,
    .tb-footer-bottom,
    small,
    caption,
    figcaption,
    .tb-hero-foot,
    .tb-hero-scroll,
    .tb-strap
  ) {
  font-size: var(--tb-font-caption-size);
  line-height: var(--tb-font-data-line);
  font-weight: var(--tb-font-normal);
  letter-spacing: normal;
}
body.tb-site :is(.tb-text-link, .tb-category-name) {
  font-weight: var(--tb-font-semibold);
}
body.tb-site .tb-phone {
  font-size: var(--tb-font-h3-size);
  font-weight: var(--tb-font-semibold);
}
body.tb-site .tb-product-card {
  display: flex;
  flex-direction: column;
}
body.tb-site .tb-product-info {
  display: flex;
  flex-direction: column;
  flex: 1;
}
body.tb-site .tb-card-links {
  margin-top: auto;
  gap: 10px;
}
body.tb-site .tb-spec-table {
  table-layout: fixed;
  width: 100%;
}
body.tb-site
  :is(
    .tb-product-summary,
    .tb-product-info,
    .tb-service,
    .tb-contact-card,
    .tb-news-card
  ) {
  min-width: 0;
  overflow-wrap: anywhere;
}
body.tb-site .tb-menu {
  gap: 14px;
}
body.tb-site .tb-header-inner {
  gap: 18px;
}
body.tb-site .tb-header-cta {
  padding-inline: 12px;
}
@media (max-width: 767px) {
  :root {
    --tb-font-body-size: 15px;
    --tb-font-hero-size: 28px;
    --tb-font-h1-size: 28px;
    --tb-font-h2-size: 24px;
    --tb-font-h3-size: 21px;
    --tb-font-h4-size: 18px;
    --tb-font-product-size: 15px;
  }
  body.tb-site .tb-strap > .tb-container {
    flex-wrap: wrap;
    gap: 12px;
    padding-block: 16px;
  }
  body.tb-site .tb-hero-foot {
    flex-wrap: wrap;
    gap: 8px;
  }
  body.tb-site .tb-product-info {
    padding: 14px;
  }
}
