/*
 * Desktop font sizes for the landing page: every absolute font-size from
 * main.css, ng.css and ng-story.css, +2px. Loaded only at >= 1200px via the
 * <link media> in landing_page.blade.php, and after those files, so the same
 * selectors override them. em/% sizes are left alone - they already grow with
 * their parent.
 *
 * GENERATED - if you change a font-size in those files, update it here too.
 */

:root { --ng-fs-bump: 2px; }

body { font-size: 18px; }

/* --- main.css (69 rules) --- */
.tab-pane ul i { font-size: calc(1.25rem + 2px); }
.header .logo h1 { font-size: calc(30px + 2px); }
.header .btn-getstarted, .header .btn-getstarted:focus { font-size: calc(14px + 2px); }
@media (min-width: 1200px) {
  .navmenu a, .navmenu a:focus { font-size: calc(16px + 2px); }
  .navmenu a i, .navmenu a:focus i { font-size: calc(12px + 2px); }
  .navmenu .dropdown ul a { font-size: calc(15px + 2px); }
  .navmenu .dropdown ul a i { font-size: calc(12px + 2px); }
  .navmenu .megamenu ul li a, .navmenu .megamenu ul li:hover>a { font-size: calc(15px + 2px); }
}
.footer { font-size: calc(14px + 2px); }
.footer .footer-about .logo span { font-size: calc(26px + 2px); }
.footer .footer-about p { font-size: calc(14px + 2px); }
.footer .social-links a { font-size: calc(16px + 2px); }
.footer h4 { font-size: calc(16px + 2px); }
.footer .footer-links ul i { font-size: calc(12px + 2px); }
.footer .footer-newsletter .newsletter-form input[type=submit] { font-size: calc(16px + 2px); }
.footer .credits { font-size: calc(13px + 2px); }
.scroll-top i { font-size: calc(24px + 2px); }
.page-title h1 { font-size: calc(24px + 2px); }
.page-title .breadcrumbs ol { font-size: calc(14px + 2px); }
.section-title h2 { font-size: calc(32px + 2px); }
.hero h1 { font-size: calc(48px + 2px); }
.hero p { font-size: calc(20px + 2px); }
.hero .btn-get-started { font-size: calc(15px + 2px); }
.hero .btn-watch-video { font-size: calc(16px + 2px); }
.hero .btn-watch-video i { font-size: calc(32px + 2px); }
.featured-services .service-item .icon i { font-size: calc(32px + 2px); }
.featured-services .service-item .title { font-size: calc(18px + 2px); }
.featured-services .service-item .description { font-size: calc(14px + 2px); }
.about .content h3 { font-size: calc(2rem + 2px); }
.about .content ul i { font-size: calc(1.25rem + 2px); }
.about .content .read-more { font-size: calc(16px + 2px); }
.about .content .read-more i { font-size: calc(18px + 2px); }
.features .nav-link i { font-size: calc(22px + 2px); }
.features .nav-link h4 { font-size: calc(20px + 2px); }
.features .nav-link p { font-size: calc(15px + 2px); }
.container .btn-getstarted { font-size: calc(14px + 2px); }
.features-details .features-item h3 { font-size: calc(26px + 2px); }
.features-details .features-item ul i { font-size: calc(20px + 2px); }
.services .service-item .icon { font-size: calc(32px + 2px); }
.services .service-item h3 { font-size: calc(22px + 2px); }
.services .service-item .read-more { font-size: calc(14px + 2px); }
.more-features h3 { font-size: calc(28px + 2px); }
.more-features .icon-box i { font-size: calc(24px + 2px); }
.more-features .icon-box h4 { font-size: calc(18px + 2px); }
.more-features .icon-box p { font-size: calc(14px + 2px); }
.pricing h3 { font-size: calc(20px + 2px); }
.pricing h4 { font-size: calc(48px + 2px); }
.pricing h4 sup { font-size: calc(28px + 2px); }
.pricing h4 span { font-size: calc(18px + 2px); }
.pricing .description { font-size: calc(14px + 2px); }
.pricing .cta-btn { font-size: calc(16px + 2px); }
.pricing ul i { font-size: calc(24px + 2px); }
.pricing .featured .popular { font-size: calc(14px + 2px); }
.faq .faq-container .faq-item h3 { font-size: calc(16px + 2px); }
.faq .faq-container .faq-item .faq-toggle { font-size: calc(16px + 2px); }
.testimonials .testimonial-item h3 { font-size: calc(18px + 2px); }
.testimonials .testimonial-item h4 { font-size: calc(14px + 2px); }
.contact .info-item i { font-size: calc(24px + 2px); }
.contact .info-item h3 { font-size: calc(18px + 2px); }
.contact .info-item p { font-size: calc(14px + 2px); }
.contact .php-email-form input[type=text], .contact .php-email-form input[type=email], .contact .php-email-form textarea { font-size: calc(14px + 2px); }
.service-details .service-box h4 { font-size: calc(20px + 2px); }
.service-details .services-list a i { font-size: calc(16px + 2px); }
.service-details .download-catalog a i { font-size: calc(24px + 2px); }
.service-details .help-box .help-icon { font-size: calc(48px + 2px); }
.service-details h3 { font-size: calc(26px + 2px); }
.service-details p { font-size: calc(15px + 2px); }
.service-details ul { font-size: calc(15px + 2px); }
.service-details ul i { font-size: calc(20px + 2px); }

/* --- ng.css (51 rules) --- */
[data-ng] .ng-theme-toggle { font-size: calc(17px + 2px); }
[data-ng] .ng-login-pill { font-size: calc(14px + 2px); }
[data-ng] .section-title h2 { font-size: calc(clamp(2rem, 1.2rem + 2.6vw, 3rem) + 2px); }
[data-ng] .ng-doc-head h1 { font-size: calc(clamp(2.1rem, 1.2rem + 3vw, 3.4rem) + 2px); }
[data-ng] .ng-lede { font-size: calc(1.075rem + 2px); }
[data-ng] .ng-eyebrow { font-size: calc(.75rem + 2px); }
[data-ng] .ng-crumbs ol { font-size: calc(.85rem + 2px); }
[data-ng] .ng-updated { font-size: calc(.85rem + 2px); }
[data-ng] .ng-toc-title { font-size: calc(.7rem + 2px); }
[data-ng] .ng-toc a { font-size: calc(.875rem + 2px); }
[data-ng] .ng-doc-sec h2 { font-size: calc(1.4rem + 2px); }
[data-ng] .ng-doc-sec h3 { font-size: calc(1.05rem + 2px); }
[data-ng] .ng-doc-sec p { font-size: calc(1.02rem + 2px); }
[data-ng] .ng-doc-sec li { font-size: calc(1.02rem + 2px); }
[data-ng] .ng-doc-sec ul.ng-ticks li::before { font-size: calc(1.05rem + 2px); }
[data-ng] .ng-callout i { font-size: calc(1.4rem + 2px); }
[data-ng] .ng-value-num { font-size: calc(2.4rem + 2px); }
[data-ng] .ng-value-card h3 { font-size: calc(1.15rem + 2px); }
[data-ng] .ng-value-card p { font-size: calc(.97rem + 2px); }
[data-ng] .ng-cta h2 { font-size: calc(clamp(1.5rem, 1rem + 1.8vw, 2.15rem) + 2px); }
[data-ng] .contact .info-item p, [data-ng] .contact .info-item a { font-size: calc(.95rem + 2px); }
[data-ng] .php-email-form .section-heading h6 { font-size: calc(.72rem + 2px); }
[data-ng] .php-email-form .section-heading h4 { font-size: calc(1.5rem + 2px); }
[data-ng] .php-email-form .form-control { font-size: calc(.95rem + 2px); }
[data-ng] .ng-compare { font-size: calc(.93rem + 2px); }
[data-ng] .ng-compare .ng-plan { font-size: calc(1rem + 2px); }
[data-ng] .ng-compare .ng-badge { font-size: calc(.62rem + 2px); }
[data-ng] .ng-scroll-hint { font-size: calc(.82rem + 2px); }
[data-ng] .ng-plan-card-head h3 { font-size: calc(1.15rem + 2px); }
[data-ng] .ng-plan-price { font-size: calc(.95rem + 2px); }
[data-ng] .ng-plan-card dt { font-size: calc(.9rem + 2px); }
[data-ng] .ng-plan-card dd { font-size: calc(.9rem + 2px); }
[data-ng] .ng-plan-ribbon { font-size: calc(.6rem + 2px); }
[data-ng] .hero h1 { font-size: calc(clamp(2.3rem, 1.2rem + 4vw, 4rem) + 2px); }
[data-ng] .feature-content { font-size: calc(18px + 2px); }
[data-ng] .ng-promo .ng-slide-icon { font-size: calc(clamp(1.6rem, 2vw, 2.3rem) + 2px); }
[data-ng] .ng-promo h3 { font-size: calc(clamp(1.3rem, 1rem + 1.6vw, 2.1rem) + 2px); }
[data-ng] .ng-promo p { font-size: calc(.98rem + 2px); }
[data-ng] .ng-fa-hero h1 { font-size: calc(clamp(2.3rem, 1.2rem + 4.2vw, 4.2rem) + 2px); }
[data-ng] .ng-fa-chip { font-size: calc(.88rem + 2px); }
[data-ng] .ng-fa-stat .v { font-size: calc(clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem) + 2px); }
[data-ng] .ng-fa-stat .l { font-size: calc(.8rem + 2px); }
[data-ng] .ng-fa-cell i.ng-fa-ic { font-size: calc(1.25rem + 2px); }
[data-ng] .ng-fa-cell h3 { font-size: calc(1.12rem + 2px); }
[data-ng] .ng-fa-cell.is-a h3 { font-size: calc(clamp(1.3rem, 1rem + 1vw, 1.7rem) + 2px); }
[data-ng] .ng-fa-cell p { font-size: calc(.95rem + 2px); }
[data-ng] .ng-fa-mchip { font-size: calc(.9rem + 2px); }
[data-ng] .ng-fa-step h3 { font-size: calc(1.05rem + 2px); }
[data-ng] .ng-fa-step p { font-size: calc(.95rem + 2px); }
[data-ng] .footer .ng-footer-cols h4 { font-size: calc(.74rem + 2px); }
[data-ng] .footer .ng-footer-cols a { font-size: calc(.92rem + 2px); }

/* --- ng-story.css (48 rules) --- */
[data-ng] .ng-st-big { font-size: calc(clamp(2rem, 1rem + 4.4vw, 4.4rem) + 2px); }
[data-ng] .ng-st-checkpoint i { font-size: calc(1.2rem + 2px); }
[data-ng] .ng-st-checkpoint p { font-size: calc(1.06rem + 2px); }
[data-ng] .ng-st-checkpoint p span { font-size: calc(.88rem + 2px); }
[data-ng] .ng-st-nav a span { font-size: calc(.74rem + 2px); }
[data-ng] .ng-st-cue { font-size: calc(.78rem + 2px); }
[data-ng] .ng-st-cue i { font-size: calc(1.3rem + 2px); }
[data-ng] .ng-st-chaos-card { font-size: calc(.92rem + 2px); }
[data-ng] .ng-st-chaos-card span { font-size: calc(.78rem + 2px); }
[data-ng] .ng-st-one .bi { font-size: calc(2rem + 2px); }
[data-ng] .ng-st-one h3 { font-size: calc(1.5rem + 2px); }
[data-ng] .ng-st-one p { font-size: calc(.95rem + 2px); }
[data-ng] .ng-st-caption { font-size: calc(clamp(1rem, .9rem + .7vw, 1.3rem) + 2px); }
[data-ng] .ng-st-modlist h3 { font-size: calc(1.02rem + 2px); }
[data-ng] .ng-st-modlist p { font-size: calc(.88rem + 2px); }
[data-ng] .ng-st-modlist a { font-size: calc(.82rem + 2px); }
[data-ng] .ng-st-modvis .pane i { font-size: calc(clamp(4rem, 10vw, 7rem) + 2px); }
[data-ng] .ng-st-moment .why { font-size: calc(1rem + 2px); }
[data-ng] .ng-st-timeline summary .yr { font-size: calc(1.35rem + 2px); }
[data-ng] .ng-st-timeline summary .hint { font-size: calc(.8rem + 2px); }
[data-ng] .ng-st-timeline details > p { font-size: calc(.95rem + 2px); }
[data-ng] .ng-st-state { font-size: calc(.85rem + 2px); }
[data-ng] .ng-st-state[data-tip]::after { font-size: calc(.72rem + 2px); }
[data-ng] .ng-st-bar b { font-size: calc(.78rem + 2px); }
[data-ng] .ng-st-bar span { font-size: calc(.68rem + 2px); }
[data-ng] .ng-st-bignum { font-size: calc(clamp(3rem, 2rem + 6vw, 6.4rem) + 2px); }
[data-ng] .ng-st-bignum + .lbl { font-size: calc(.78rem + 2px); }
[data-ng] .ng-st-cmp-before .bit { font-size: calc(.78rem + 2px); }
[data-ng] .ng-st-cmp-after .bi { font-size: calc(2.6rem + 2px); }
[data-ng] .ng-st-cmp-after h3 { font-size: calc(clamp(1.2rem, 1rem + 1.4vw, 1.9rem) + 2px); }
[data-ng] .ng-st-cmp-after p { font-size: calc(.95rem + 2px); }
[data-ng] .ng-st-cmp-divider::after { font-size: calc(1.05rem + 2px); }
[data-ng] .ng-st-door > .bi { font-size: calc(2.2rem + 2px); }
[data-ng] .ng-st-door h3 { font-size: calc(1.4rem + 2px); }
[data-ng] .ng-st-door p { font-size: calc(.93rem + 2px); }
[data-ng] .ng-st-door .more { font-size: calc(.85rem + 2px); }
[data-ng] .ng-st-finale h2 { font-size: calc(clamp(2rem, 1rem + 4.6vw, 4.6rem) + 2px); }
[data-ng] .ng-hr-beat { font-size: calc(clamp(1.9rem, 1rem + 3.3vw, 3.7rem) + 2px); }
[data-ng] .ng-hr-h1 { font-size: calc(clamp(2.1rem, 1rem + 3.6vw, 3.9rem) + 2px); }
[data-ng] .ng-hr-sub { font-size: calc(1.02rem + 2px); }
[data-ng] .ng-hr-trust { font-size: calc(.85rem + 2px); }
[data-ng] .ng-hr-chip { font-size: calc(.8rem + 2px); }
[data-ng] .ng-hr-core { font-size: calc(1.7rem + 2px); }
[data-ng] .ng-hr-card b { font-size: calc(1.25rem + 2px); }
[data-ng] .ng-hr-card span { font-size: calc(.72rem + 2px); }
[data-ng] .ng-hr-state { font-size: calc(.68rem + 2px); }
[data-ng] .ng-hr-count::before { font-size: calc(1.05rem + 2px); }
[data-ng] button.ng-hr-play i { font-size: calc(1.1rem + 2px); }
