/*
 * Site-wide typography: Roboto on every page — Kube.promo pages (body.kp-site) and the original WP Coupon pages alike.
 * One source of truth for the type scale's weights. Rules use !important because the parent theme, Semantic UI (Lato),
 * the Redux typography output and each page stylesheet all set their own font family and weights.
 * Later rules win over earlier ones of equal specificity, so the general rules come first and the specific ones after.
 */

/* Family: every element except icon fonts and code samples inside article text. Coupon codes use Roboto too. */
body,body *:not(i):not(.icon):not([class*="icon"]):not(pre):not(.kp-rich-text code){font-family:Roboto,Helvetica,Arial,sans-serif!important}

/* Body descriptions: Regular 400. */
body p,body li,body blockquote,body dd,body td,body .kp-lead,body .kp-ev-tagline,body .kp-pr-tagline,body .kp-tile small,body .kp-brand small,body .coupon-des,body .coupon-des-ellip,body .header-content p{font-weight:400!important}

/* Links: Medium 500. */
body a,body .kp-text-link,body .kp-ev-more,body .kp-ev-crumbs a,body .kp-pr-crumbs a{font-weight:500!important}
body .kp-ev-crumbs li,body .kp-pr-crumbs li{font-weight:400!important}

/* Section headings: ExtraBold 800. */
body h2,body .section-heading,body .widgettitle{font-weight:800!important}

/* Page titles: ExtraBold 800. */
body h1,body .kpc-page-title,body .header-content h1,body .header-content h1 strong{font-weight:800!important}

/* Main hero headings: Black 900. */
body .kp-hero h1,body .kp-ev-hero h1,body .kp-pr-hero h1,body .kp-pr-title{font-weight:900!important}

/* Card titles: Bold 700. */
body h3,body h3 a,body h5,body .kp-tile strong,body .kp-provider-card h2,body .kp-ev-highlights li strong,body .coupon-title,body .coupon-title a,body .store-name a,body .kp-ev-offer-title{font-weight:700!important}

/* Navigation menu: Medium 500. */
body .kp-header nav a:not(.kp-button),body .st-menu a,body .primary-navigation a{font-weight:500!important}

/* Buttons: SemiBold 600. */
body .kp-button,body button,body input[type="submit"],body input[type="button"],body .kp-menu,body .kp-ev-btn,body .kp-ev-copy-link,body .kp-ev-copy-link span,body .kp-pr-btn,body .ui.button,body .coupon-button,body .coupon-button .get-code,body .header-search-submit,body .search-submit,body .social-likes__button{font-weight:600!important}

/* Small uppercase labels: Bold 700. */
body .kp-eyebrow,body .kp-pr-eyebrow,body .kp-ev-badge,body .kp-pr-pill,body .highlight-text,body .c-type .c-code,body .voted-value,body .ui.label,body .widget-area.sidebar .widget-title{font-weight:700!important}

/* Search bars and filters: Regular 400. */
body .kp-filters label,body .kp-filters input,body .kp-filters select,body .kp-results-heading label,body .kp-results-heading select,body .header-search-input input,body .search-field,body .cat-filter-name,body .filter-sortby-name,body .ui.vertical.menu a.item{font-weight:400!important}

/* FAQ questions: Medium 500. */
body .kp-faq summary,body .schema-faq-question{font-weight:500!important}

/* Event dates and locations: Regular 400. */
body .kp-event-meta,body .kp-event-meta span,body .kp-ev-facts span,body .kp-ev-facts small,body .kp-ev-nw,body .kp-ev-rel-body p,body .kp-ev-rel-body p span,body .exp,body .exp-text{font-weight:400!important}

/* Coupon codes and discount values: Bold 700. */
body .code-text,body .thumb-padding,body .kp-ev-code code,body .kp-ev-offer-value{font-weight:700!important}

/* Footer headings: Bold 700. Footer links and descriptions: Regular 400. */
body .kp-footer h2,body .site-footer .widget-title{font-weight:700!important}
body .kp-footer a:not(.kp-brand),body .kp-footer p,body .site-footer p,body .site-footer a,body .site-footer li,body .footer_copy,body .footer_copy span{font-weight:400!important}
body .kp-brand strong{font-weight:700!important}

/* Homepage follows its approved design image: Source Sans 3 (the design's typeface, with the tailed "l").
   Weights measured from the design's stroke widths (the font loads as a variable 400-700 range): headings 650;
   labels and footer headings 700; tile and event card titles and the current menu item 600; links and FAQ questions 500;
   descriptions, buttons and menu items 400. */
body.home,body.home *:not(i):not(.icon):not([class*="icon"]):not(pre):not(.kp-rich-text code){font-family:"Source Sans 3",Helvetica,Arial,sans-serif!important}
body.home h1,body.home .kp-hero h1{font-weight:700!important}
body.home h3,body.home h3 a,body.home .kp-eyebrow,body.home .kp-footer h2{font-weight:700!important}
body.home .kp-hero h1{font-weight:700!important}
/* Section titles 625 and footer headings 620: stroke widths measured against the design. */
body.home.kp-site .kp-section-heading h2{font-weight:675!important}
/* The hero headline uses the design's rounder face, Open Sans (measured against the design: stroke, line widths, letter shapes). */
body.home.kp-site .kp-hero.kp-hero-home h1:not([hidden]){font-family:"Open Sans",Helvetica,Arial,sans-serif!important}
body.home .kp-header nav a[aria-current]{font-weight:600!important}
body.home.kp-site .kp-tile strong{font-weight:650!important}
body.home.kp-site .kp-featured-event h3{font-weight:650!important}
body.home .kp-faq summary{font-weight:500!important}
body.home .kp-button,body.home button,body.home .kp-menu,body.home .kp-header nav a:not(.kp-button):not([aria-current]){font-weight:400!important}

/* Events listing follows its approved design image: Inter, weights measured from the design (width and tone). */
body.post-type-archive-kp_event,body.post-type-archive-kp_event *:not(i):not(.icon):not([class*="icon"]):not(pre):not(.kp-rich-text code){font-family:Inter,Helvetica,Arial,sans-serif!important}
body.post-type-archive-kp_event h1,body.post-type-archive-kp_event h2,body.post-type-archive-kp_event h3,body.post-type-archive-kp_event .kp-footer h2,body.post-type-archive-kp_event .kp-eyebrow{font-weight:700!important}
body.post-type-archive-kp_event .kp-events-directory>h2{font-weight:800!important}
body.post-type-archive-kp_event .kp-filter-row label,body.post-type-archive-kp_event .kp-reset,body.post-type-archive-kp_event .kp-event-card .kp-text-link{font-weight:500!important}
body.post-type-archive-kp_event .kp-header nav a:not(.kp-button):not([aria-current]),body.post-type-archive-kp_event .kp-button,body.post-type-archive-kp_event .kp-lead,body.post-type-archive-kp_event p,body.post-type-archive-kp_event .kp-filters input,body.post-type-archive-kp_event .kp-filters select,body.post-type-archive-kp_event .kp-results-heading label,body.post-type-archive-kp_event .kp-event-meta,body.post-type-archive-kp_event .kp-event-meta span,body.post-type-archive-kp_event .kp-pagination a,body.post-type-archive-kp_event .kp-footer-grid>div>a:not(.kp-brand),body.post-type-archive-kp_event .kp-copyright{font-weight:400!important}
/* The header menu matches the homepage on every page: Source Sans 3, Regular, the current page SemiBold. */
body.post-type-archive-kp_event .kp-header nav .kp-nav-links a:not(.kp-button):not([hidden]){font-family:"Source Sans 3",Helvetica,Arial,sans-serif!important;font-weight:400!important}
body.post-type-archive-kp_event .kp-header nav .kp-nav-links a[aria-current]:not(.kp-button):not([hidden]){font-weight:600!important}

/* Course Providers listing follows its approved design image: Inter Tight, weights measured from the design. The header menu matches the homepage. */
body.kp-directory-page,body.kp-directory-page *:not(i):not(.icon):not([class*="icon"]):not(pre):not(.kp-rich-text code){font-family:"Inter Tight",Helvetica,Arial,sans-serif!important}
body.kp-directory-page .kp-header nav .kp-nav-links a:not(.kp-button):not([hidden]){font-family:"Source Sans 3",Helvetica,Arial,sans-serif!important;font-weight:400!important}
body.kp-directory-page .kp-header nav .kp-nav-links a[aria-current]:not(.kp-button):not([hidden]){font-weight:600!important}
body.kp-directory-page h1{font-weight:800!important}
body.kp-directory-page .kp-footer h2{font-weight:700!important}
body.kp-directory-page .kp-provider-card h2,body.kp-directory-page .kp-socials-title{font-weight:600!important}
body.kp-directory-page .kp-eyebrow,body.kp-directory-page .kp-button,body.kp-directory-page .kp-lead,body.kp-directory-page p,body.kp-directory-page .kp-topics span,body.kp-directory-page .kp-text-link,body.kp-directory-page .kp-footer-grid>div>a:not(.kp-brand),body.kp-directory-page .kp-copyright{font-weight:400!important}
/* Events listing footer matches the homepage footer: Source Sans 3, headings 620, links Regular. */
/* Homepage "Explore Events" section: weights measured against the approved design (stroke / letter-height ratio). */
body.home.kp-site #kp-home-events{font-weight:625!important}
body.home.kp-site .kp-featured-event h3{font-weight:650!important}
body.home.kp-site .kp-featured-event p{font-weight:340!important}

body.home.kp-site #kp-home-providers{font-weight:640!important}
body.post-type-archive-kp_event.kp-site .kp-event-card .kp-text-link{font-weight:500!important}
body.kp-directory-page.kp-site .kp-hero-providers .kp-eyebrow,body.kp-directory-page.kp-site .kp-provider-card .kp-text-link{font-weight:470!important}
body.kp-directory-page.kp-site .kp-provider-card h2{font-weight:630!important}

/* Individual course provider page follows its approved design: Open Sans in the page body (header and footer unchanged). */
body.tax-kp_course_provider .kp-provider-detail,body.tax-kp_course_provider .kp-provider-detail *:not(i):not(.icon):not([class*="icon"]):not(svg):not(path){font-family:"Open Sans",Helvetica,Arial,sans-serif!important}
body.tax-kp_course_provider .kp-pr-title,body.tax-kp_course_provider .kp-pr-about h2,body.tax-kp_course_provider .kp-pr-eyebrow,body.tax-kp_course_provider .kp-pr-pill{font-weight:700!important}
body.tax-kp_course_provider .kp-pr-crumbs a{font-weight:500!important}
body.tax-kp_course_provider .kp-pr-crumbs [aria-current],body.tax-kp_course_provider .kp-pr-tagline,body.tax-kp_course_provider .kp-pr-btn{font-weight:400!important}
body.tax-kp_course_provider .kp-pr-about .kp-rich-text,body.tax-kp_course_provider .kp-pr-about .kp-rich-text *{font-weight:300!important}

/* Provider page tagline and About text use the design's Reddit Sans (identified by letter shapes: single-storey g, double-storey a). */
body.tax-kp_course_provider.kp-site .kp-provider-detail .kp-pr-tagline,body.tax-kp_course_provider.kp-site .kp-provider-detail .kp-pr-about .kp-rich-text,body.tax-kp_course_provider.kp-site .kp-provider-detail .kp-pr-about .kp-rich-text *{font-family:"Reddit Sans",Helvetica,Arial,sans-serif!important}
body.tax-kp_course_provider.kp-site .kp-provider-detail .kp-pr-tagline{font-weight:400!important}
body.tax-kp_course_provider.kp-site .kp-provider-detail .kp-pr-about .kp-rich-text,body.tax-kp_course_provider.kp-site .kp-provider-detail .kp-pr-about .kp-rich-text *{font-weight:400!important}
body.tax-kp_course_provider.kp-site .kp-provider-detail .kp-pr-hero .kp-pr-hero-body p.kp-pr-tagline{font-family:"Reddit Sans",Helvetica,Arial,sans-serif!important;font-weight:400!important}

/* Single event page follows its approved design: Inter in the page content (header and footer unchanged). */
body.single-kp_event.kp-site .kp-ev,body.single-kp_event.kp-site .kp-ev *:not(svg):not(path):not(i):not(.icon){font-family:Inter,Helvetica,Arial,sans-serif!important}
body.single-kp_event.kp-site main h1{font-weight:800!important}
body.single-kp_event.kp-site main :is(.kp-ev-card h2,.kp-ev-related h2,.kp-ev-reg-panel h2,.kp-ev-offer-title,.kp-ev-empty h3){font-weight:700!important}
body.single-kp_event.kp-site main :is(.kp-ev-highlights strong,.kp-ev-verified h3,.kp-ev-rel h3,.kp-ev-rel h3 a,.kp-ev-badge,.kp-ev-facts strong){font-weight:600!important}
body.single-kp_event.kp-site main :is(.kp-ev-btn,.kp-ev-copy-link,.kp-ev-copy-link span,.kp-ev-more){font-weight:500!important}
body.single-kp_event.kp-site main :is(p,li,.kp-ev-tagline,.kp-rich-text,.kp-rich-text *,.kp-ev-highlights span span,.kp-ev-facts span,.kp-ev-tags li){font-weight:400!important}

body.single-kp_event.kp-site main .kp-ev-hero p.kp-ev-badge{font-weight:600!important}
body.single-kp_event.kp-site main .kp-ev-hero p.kp-ev-tagline{font-weight:350!important}
body.single-kp_event.kp-site main .kp-ev-reg .kp-ev-btn{font-weight:400!important}
body.single-kp_event.kp-site main .kp-ev-offer p.kp-ev-offer-title{font-weight:700!important}
body.single-kp_event.kp-site main .kp-ev-offer p.kp-ev-offer-value{font-weight:800!important}
body.single-kp_event.kp-site main .kp-ev-code code{font-weight:700!important}
body.single-kp_event.kp-site main .kp-ev-code button,body.single-kp_event.kp-site main .kp-ev-code button span{font-weight:600!important}
body.single-kp_event.kp-site main .kp-ev-copy-link,body.single-kp_event.kp-site main .kp-ev-copy-link span{font-weight:700!important}
/* Design body text is light. */
body.single-kp_event.kp-site main :is(.kp-ev-about .kp-rich-text p,.kp-ev-highlights li span span,.kp-ev-agenda p,.kp-ev-verified p,.kp-ev-empty p,.kp-ev-reg-panel p){font-weight:350!important}
body.kp-directory-page.kp-site .kp-provider-directory .kp-provider-card a.kp-text-link{font-weight:400!important}
body.kp-directory-page.kp-site .kp-provider-card p.kp-topics,body.kp-directory-page.kp-site .kp-provider-card p.kp-topics span,body.kp-directory-page.kp-site .kp-provider-card p:not(.kp-topics){font-weight:350!important}
body.single-kp_event.kp-site main .kp-ev-tags li{font-weight:500!important;font-family:Inter,sans-serif!important}
body.kp-site :is(a.kp-text-link,a.kp-ev-more,a.kp-reset),body.kp-site :is(a.kp-text-link,a.kp-ev-more,a.kp-reset) *{letter-spacing:-.2px!important}
body.single-kp_event.kp-site main .kp-ev-offer p.kp-ev-offer-value.kp-ev-offer-value{font-weight:700!important}
