@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* Shared website typography. */
:root {
  --font-heading: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-body: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-weight-text: 400;
  --fs-display: clamp(1.5rem, 1rem + 1.5vw, 2.125rem);
  --fs-h1: clamp(1.375rem, 1rem + 1.25vw, 2rem);
  --fs-h2: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  --fs-h3: clamp(1.125rem, 1rem + .3vw, 1.25rem);
  --fs-h4: 1rem;
  --fs-body-lg: .9375rem;
  --fs-body: .875rem;
  --fs-small: .875rem;
  --fs-eyebrow: .75rem;
  --fs-caption: .75rem;
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
}

.loader-text {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#ftco-navbar .nav-link,
#ftco-navbar .navbar-toggler {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}

/* The login control has an older !important font-size and weight in global.css. */
#ftco-navbar .btn-client-login-style {
  font-size: var(--fs-small) !important;
  font-weight: 600 !important;
}

#ftco-navbar .mega-col-title {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .12em;
}

#ftco-navbar .mega-col-desc {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

/* Product item names and descriptions have legacy !important typography. */
#ftco-navbar .product-item h5 {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-body) !important;
  font-weight: 600 !important;
  line-height: 1.2;
  letter-spacing: 0;
}

#ftco-navbar .product-item p {
  font-family: var(--font-body);
  font-size: var(--fs-small) !important;
  font-weight: 400;
  line-height: 1.5 !important;
  letter-spacing: 0;
}

#heroSlider .hero-slide-text-item > span,
.type-eyebrow,
.hero-tagline-section .text-uppercase,
.ftco-section .subheading,
.svc-subheading,
.threat-scenarios-section .text-uppercase {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.svc-tag {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}

#heroSlider .hero-slide-text-item > p {
  font-family: var(--font-body);
  font-size: var(--fs-body-lg);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0;
}

.hero-tagline-section .main-hero-h1 {
  font-family: var(--font-heading);
  /* Beats the legacy tablet h1 size as well as the mobile theme rule. */
  font-size: var(--fs-h1) !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.hero-tagline-section h2,
.ftco-section h2:not(.footer-title),
.ftco-partner h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.ftco-section h3,
.ftco-section h3 a {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.ftco-section h4 {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.hero-tagline-section > .container > p,
.ftco-section .section-intro,
.ftco-section .heading-section > p,
.ftco-section .h2-answer-capsule,
.ftco-partner .h2-answer-capsule {
  font-family: var(--font-body);
  font-size: var(--fs-body-lg);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
}

.ftco-section p,
.ftco-section li,
.threat-scenarios-section ul {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
}

.ftco-section .product-card p,
.ftco-section .threat-card p:not(.threat-action-title),
.ftco-section .threat-card li,
.ftco-section .svc-card p {
  font-size: var(--fs-small);
  line-height: 1.5;
}

.threat-scenarios-section .threat-meta {
  font-size: var(--fs-caption);
  font-weight: 600;
  line-height: 1.5;
}

.ftco-section .threat-card p.threat-meta {
  font-size: var(--fs-caption);
  font-weight: 600;
  line-height: 1.5;
}

.threat-scenarios-section .threat-action-title {
  font-size: var(--fs-body);
  font-weight: 700;
}

.stat-value,
.stat-label,
.stat-desc {
  font-family: var(--font-body);
  letter-spacing: 0;
}

.stat-value {
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 1.2;
}

.stat-label {
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: 1.2;
}

.stat-desc {
  font-size: var(--fs-small);
  font-weight: 400;
  line-height: 1.5;
}

.vc-label,
.bc-meta,
.bc-meta span {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}

.comparison-matrix-section table th,
.comparison-matrix-section table td {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

.comparison-matrix-section table th,
.comparison-matrix-section table td.col-dim {
  font-weight: 600;
}

.comparison-matrix-section table th {
  font-weight: 700;
}

.ftco-section .btn,
.shimmer-btn,
.btn-how-it-works,
#floating-cta .fcta-btn {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}

#enterpriseFaqAccordion .card-header button {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
}

#enterpriseFaqAccordion .card-body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
}

#enterpriseFaqAccordion .card-body a,
.h2-answer-capsule a,
.section-intro a {
  font-weight: 600;
}

.ftco-footer h2.footer-title {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.ftco-footer .footer-brand-card p,
.ftco-footer .ftco-footer-widget p,
.ftco-footer .ftco-footer-widget li,
.ftco-footer .ftco-footer-widget li a,
.ftco-footer .contact-item .text a,
.ftco-footer .footer-bottom {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

input,
textarea,
select,
input::placeholder,
textarea::placeholder {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
}

/* global.css has mobile !important type sizes for bare h1/h2/h3/p. */
@media (max-width: 767.98px) {
  .hero-tagline-section .main-hero-h1 {
    font-size: var(--fs-h1) !important;
    line-height: 1.2 !important;
  }

  .hero-tagline-section h2,
  .ftco-section h2:not(.footer-title),
  .ftco-partner h2 {
    font-size: var(--fs-h2) !important;
    line-height: 1.2 !important;
  }

  .ftco-section h3 {
    font-size: var(--fs-h3) !important;
  }

  #heroSlider .hero-slide-text-item > p,
  .hero-tagline-section > .container > p,
  .ftco-section .section-intro,
  .ftco-section .heading-section > p,
  .ftco-section .h2-answer-capsule,
  .ftco-partner .h2-answer-capsule {
    font-size: var(--fs-body-lg) !important;
    line-height: 1.65 !important;
  }

  .ftco-section p {
    font-size: var(--fs-body) !important;
    line-height: 1.65 !important;
  }

  .ftco-section .product-card p,
  .ftco-section .threat-card p:not(.threat-action-title),
  .ftco-section .svc-card p {
    font-size: var(--fs-small) !important;
    line-height: 1.5 !important;
  }

  .ftco-section .threat-card p.threat-meta {
    font-size: var(--fs-caption) !important;
  }

  .ftco-section .btn,
  #floating-cta .fcta-btn {
    font-size: var(--fs-small) !important;
  }

  #enterpriseFaqAccordion .card-header button {
    font-size: var(--fs-h4) !important;
  }

  .ftco-footer .footer-brand-card p,
  .ftco-footer .ftco-footer-widget p,
  .ftco-footer .footer-bottom p {
    font-size: var(--fs-small) !important;
    line-height: 1.5 !important;
  }

  .ftco-footer h2.footer-title {
    font-size: var(--fs-h4) !important;
    line-height: 1.2 !important;
  }

  input,
  textarea,
  select,
  input::placeholder,
  textarea::placeholder {
    font-size: 1rem;
  }
}

/* Role refinements come after mobile theme compatibility rules. */
.hero-tagline-section #hero-tagline-heading {
  font-size: var(--fs-h3) !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
}

#howItWorksTabs .nav-link {
  font-size: var(--fs-body);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}

#enterpriseFaqAccordion .card-header button {
  font-weight: 600 !important;
  letter-spacing: 0;
}

#ftco-navbar .docs-product-copy strong {
  font-size: var(--fs-body);
  font-weight: 600;
  line-height: 1.2;
}

#ftco-navbar .docs-library-intro,
#ftco-navbar .docs-featured-description,
#ftco-navbar .docs-featured-category,
#ftco-navbar .docs-featured-cta {
  font-size: var(--fs-small) !important;
  line-height: 1.5 !important;
}

#ftco-navbar .docs-library-eyebrow,
#ftco-navbar .docs-featured-badge,
#ftco-navbar .docs-product-list-heading > span,
.svc-tag {
  font-size: var(--fs-caption);
  line-height: 1.5;
}

.eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .12em;
}

.text-h2 { font-size: var(--fs-h2); }
.text-h3 { font-size: var(--fs-h3); }
.text-h4 { font-size: var(--fs-h4); }

/* Lighter homepage treatment: regular copy and medium-weight titles.
   Important is needed to beat Bootstrap bold utilities and legacy theme rules. */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body strong,
body b,
body .font-weight-bold,
body .fw-bold,
body .type-eyebrow,
body .eyebrow,
body .subheading,
body .svc-subheading,
body .stat-value,
body .stat-label,
body .threat-action-title,
body .threat-meta,
body .svc-tag,
body .loader-text,
body .shimmer-btn,
body .btn,
#heroSlider .hero-slide-text-item > span,
#ftco-navbar .nav-link,
#ftco-navbar .navbar-toggler,
#ftco-navbar .btn-client-login-style,
#ftco-navbar .mega-col-title,
#ftco-navbar .product-item h5,
#ftco-navbar .docs-library-title,
#ftco-navbar .docs-featured-name,
#ftco-navbar .docs-product-copy strong,
#ftco-navbar .docs-library-eyebrow,
#ftco-navbar .docs-featured-badge,
#ftco-navbar .docs-featured-cta,
#howItWorksTabs .nav-link,
#enterpriseFaqAccordion .card-header button,
#floating-cta .fcta-btn,
.comparison-matrix-section table th,
.comparison-matrix-section table td.col-dim {
  font-weight: 500 !important;
}

#heroSlider .hero-slide-text-item > p,
.vc-label,
.bc-meta,
.bc-meta span,
#enterpriseFaqAccordion .card-body a,
.h2-answer-capsule a,
.section-intro a {
  font-weight: 400;
}

/* One text family across every page, including inline styles and injected
   dialogs. Keep icon glyph elements and their pseudo-elements untouched. */
html body,
html body *:not(
  [class^="icon-"], [class*=" icon-"],
  [class^="ion-"], [class*=" ion-"], .ionicons,
  [class^="flaticon-"], [class*=" flaticon-"],
  [class^="fa-"], [class*=" fa-"], .fa,
  [class^="bi-"], [class*=" bi-"], .glyphicon,
  .oi, [data-icon],
  .fa, .fas, .far, .fab, .fal, .fad,
  .material-icons, .material-symbols-outlined
) {
  font-family: var(--font-body) !important;
}

/* Important declarations in a layer outrank the legacy unlayered theme and
   Bootstrap bold rules, including styles inserted by popup scripts.
   Only weight changes here; preserve all sizes, spacing and icon glyphs. */
@layer uniform-text-weight {
  html body,
  html body *:not(
    [class^="icon-"], [class*=" icon-"],
    [class^="ion-"], [class*=" ion-"], .ionicons,
    [class^="flaticon-"], [class*=" flaticon-"],
    [class^="fa-"], [class*=" fa-"], .fa,
    [class^="bi-"], [class*=" bi-"], .glyphicon,
    .oi, [data-icon],
    .fa, .fas, .far, .fab, .fal, .fad,
    .material-icons, .material-symbols-outlined
  ),
  html body input::placeholder,
  html body textarea::placeholder {
    font-weight: var(--font-weight-text) !important;
  }

  #ftco-navbar .docs-product-list-heading h4,
  .docs-mockup .docs-product-list-heading h3,
  .docs-mockup .docs-current-tools-heading h3 {
    font-weight: 700 !important;
  }
}