/*------------------------------------*\
    $COMPONENTS
    Layer 4 of 6. Kit file.

    Reusable jcd_ui_ components and plugin overrides.
    Tokens only — no hex values, no font names, no !important.
\*------------------------------------*/


/*------------------------------------*\
    $BUTTONS
\*------------------------------------*/
a.jcd_ui_btn_pill,
button.jcd_ui_btn_pill,
.jcd_ui_btn_pill .pp-button,
.jcd_ui_btn_pill a.pp-button,
.jcd_ui_btn_pill.fl-module a.pp-button,
.jcd_ui_btn_pill .fl-button,
.jcd_ui_btn_pill.fl-module a.fl-button,
.jcd_ui_btn_dual .pp-button,
.jcd_ui_btn_dual.fl-module a.pp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-btn-size);
  font-weight: var(--jcd-btn-weight);
  line-height: 1;
  text-transform: var(--jcd-btn-transform);
  letter-spacing: var(--jcd-btn-tracking);
  min-height: var(--jcd-btn-height);
  padding: 0 var(--jcd-btn-inset);
  border-radius: var(--jcd-radius-pill);
  border: 1px solid var(--jcd-color-ink);
  background-color: var(--jcd-color-ink);
  color: var(--jcd-color-paper);
  text-decoration: none;
  transition:
    background-color var(--jcd-duration-base) ease-out,
    border-color var(--jcd-duration-base) ease-out,
    color var(--jcd-duration-base) ease-out;
}

.jcd_ui_btn_pill .pp-button .pp-button-text,
.jcd_ui_btn_pill.fl-module a.pp-button .pp-button-text,
.jcd_ui_btn_pill .fl-button > span,
.jcd_ui_btn_pill.fl-module a.fl-button > span,
.jcd_ui_btn_dual .pp-button-1-text,
.jcd_ui_btn_dual .pp-button-2-text {
  color: currentColor;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.jcd_ui_btn_pill .pp-button i,
.jcd_ui_btn_pill.fl-module a.pp-button i,
.jcd_ui_btn_pill .pp-button svg,
.jcd_ui_btn_pill.fl-module a.pp-button svg {
  color: currentColor;
  fill: currentColor;
}

.jcd_ui_btn_pill .pp-button-wrap {
  display: inline-flex;
  margin: 0;
}

.jcd_ui_btn_pill .pp-button:hover,
.jcd_ui_btn_pill .pp-button:focus-visible,
.jcd_ui_btn_pill.fl-module a.pp-button:hover,
.jcd_ui_btn_pill.fl-module a.pp-button:focus-visible {
  background-color: var(--jcd-color-accent);
  border-color: var(--jcd-color-accent);
  color: var(--jcd-color-cta-fg);
}

.jcd_ui_btn_pill .pp-button:focus-visible,
.jcd_ui_btn_pill.fl-module a.pp-button:focus-visible,
.jcd_ui_btn_dual .pp-button:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px currentColor;
}

/* --- Outline variant --------------------------------------------------- */
.jcd_ui_btn_pill_outline .pp-button,
.jcd_ui_btn_pill_outline.fl-module a.pp-button {
  background-color: transparent;
  border-color: var(--jcd-color-ink);
  color: var(--jcd-color-ink);
}

.jcd_ui_btn_pill_outline .pp-button:hover,
.jcd_ui_btn_pill_outline .pp-button:focus-visible,
.jcd_ui_btn_pill_outline.fl-module a.pp-button:hover,
.jcd_ui_btn_pill_outline.fl-module a.pp-button:focus-visible {
  background-color: var(--jcd-color-ink);
  border-color: var(--jcd-color-ink);
  color: var(--jcd-color-paper);
}

/* --- Inverse variant, for use on ink backgrounds ----------------------- */
.jcd_ui_btn_pill_inverse .pp-button,
.jcd_ui_btn_pill_inverse.fl-module a.pp-button {
  background-color: var(--jcd-color-paper);
  border-color: var(--jcd-color-paper);
  color: var(--jcd-color-ink);
}

.jcd_ui_btn_pill_inverse .pp-button:hover,
.jcd_ui_btn_pill_inverse .pp-button:focus-visible,
.jcd_ui_btn_pill_inverse.fl-module a.pp-button:hover,
.jcd_ui_btn_pill_inverse.fl-module a.pp-button:focus-visible {
  background-color: var(--jcd-color-accent);
  border-color: var(--jcd-color-accent);
  color: var(--jcd-color-cta-fg);
}

/* --- Brass variant, for a primary CTA on ink --------------------------- */
.jcd_ui_btn_pill_brass .pp-button,
.jcd_ui_btn_pill_brass.fl-module a.pp-button {
  background-color: var(--jcd-color-accent);
  border-color: var(--jcd-color-accent);
  color: var(--jcd-color-cta-fg);
}

.jcd_ui_btn_pill_brass .pp-button:hover,
.jcd_ui_btn_pill_brass .pp-button:focus-visible,
.jcd_ui_btn_pill_brass.fl-module a.pp-button:hover,
.jcd_ui_btn_pill_brass.fl-module a.pp-button:focus-visible {
  background-color: var(--jcd-color-accent-hover);
  border-color: var(--jcd-color-accent-hover);
  color: var(--jcd-color-cta-fg);
}


/*------------------------------------*\
    $DUAL BUTTON — POSITIONAL VARIANTS
\*------------------------------------*/
.jcd_ui_dual_1_brass .pp-dual-button-1 a.pp-button,
.jcd_ui_dual_1_brass.fl-module .pp-dual-button-1 a.pp-button {
  background-color: var(--jcd-color-accent);
  border-color: var(--jcd-color-accent);
  color: var(--jcd-color-cta-fg);
}

.jcd_ui_dual_1_brass .pp-dual-button-1 a.pp-button:hover,
.jcd_ui_dual_1_brass .pp-dual-button-1 a.pp-button:focus-visible,
.jcd_ui_dual_1_brass.fl-module .pp-dual-button-1 a.pp-button:hover,
.jcd_ui_dual_1_brass.fl-module .pp-dual-button-1 a.pp-button:focus-visible {
  background-color: var(--jcd-color-accent-hover);
  border-color: var(--jcd-color-accent-hover);
  color: var(--jcd-color-cta-fg);
}

.jcd_ui_dual_2_ghost .pp-dual-button-2 a.pp-button,
.jcd_ui_dual_2_ghost.fl-module .pp-dual-button-2 a.pp-button {
  background-color: transparent;
  border-color: var(--jcd-color-inverse-rule);
  color: var(--jcd-color-inverse);
}

.jcd_ui_dual_2_ghost .pp-dual-button-2 a.pp-button:hover,
.jcd_ui_dual_2_ghost .pp-dual-button-2 a.pp-button:focus-visible,
.jcd_ui_dual_2_ghost.fl-module .pp-dual-button-2 a.pp-button:hover,
.jcd_ui_dual_2_ghost.fl-module .pp-dual-button-2 a.pp-button:focus-visible {
  background-color: color-mix(in srgb, var(--jcd-color-inverse) 8%, transparent);
  border-color: var(--jcd-color-accent);
  color: var(--jcd-color-inverse);
}

.jcd_ui_btn_dual .pp-dual-button,
.jcd_ui_btn_dual.fl-module .pp-dual-button,
.jcd_ui_btn_dual .pp-button-wrap,
.jcd_ui_btn_dual.fl-module .pp-button-wrap {
  width: auto;
  max-width: none;
}

.jcd_ui_btn_dual a.pp-button,
.jcd_ui_btn_dual.fl-module .pp-dual-button a.pp-button {
  width: auto;
  max-width: none;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .jcd_ui_btn_dual a.pp-button,
  .jcd_ui_btn_dual.fl-module .pp-dual-button a.pp-button {
    white-space: normal;
  }

  .pp-dual-button-content .pp-dual-button-inner {
        display: inline-block;
        float: none;
        width: 100%;
    }

 .pp-dual-button-content .pp-dual-button {
    text-align: left;
} 

.jcd_ui_btn_dual a.pp-button,
.jcd_ui_btn_dual.fl-module .pp-dual-button a.pp-button {
  width: 100%;
  max-width: none;
  white-space: nowrap;
}
}

/* --- Restoring inline-flex on each button itself ------------------------ */
.jcd_ui_btn_dual .pp-dual-button-content .pp-dual-button a.pp-button,
.jcd_ui_btn_dual.fl-module .pp-dual-button-content .pp-dual-button a.pp-button {
  display: inline-flex;
}

/* --- Ghost variant, transparent on an ink or image ground -------------- */
.jcd_ui_btn_pill_ghost .pp-button,
.jcd_ui_btn_pill_ghost.fl-module a.pp-button {
  background-color: transparent;
  border-color: var(--jcd-color-inverse-rule);
  color: var(--jcd-color-inverse);
}

.jcd_ui_btn_pill_ghost .pp-button:hover,
.jcd_ui_btn_pill_ghost .pp-button:focus-visible,
.jcd_ui_btn_pill_ghost.fl-module a.pp-button:hover,
.jcd_ui_btn_pill_ghost.fl-module a.pp-button:focus-visible {
  background-color: color-mix(in srgb, var(--jcd-color-inverse) 8%, transparent);
  border-color: var(--jcd-color-accent);
  color: var(--jcd-color-inverse);
}

/* --- Small size variant, for a header/nav-scale CTA --------------------- */
.jcd_ui_btn_pill_sm .pp-button,
.jcd_ui_btn_pill_sm.fl-module a.pp-button {
  min-height: 44px;
  padding: 0 var(--jcd-space-md);
  font-size: var(--jcd-text-caption);
}

/* --- Text link with trailing arrow ------------------------------------- */
.jcd_ui_read_link,
.jcd_ui_read_link a {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-kicker);
  font-weight: var(--jcd-weight-semi);
  text-transform: uppercase;
  letter-spacing: var(--jcd-tracking-tight);
  color: var(--jcd-color-ink);
  text-decoration: none;
  transition: color var(--jcd-duration-base) ease-out;
}

.jcd_ui_read_link a:hover,
.jcd_ui_read_link a:focus-visible {
  color: var(--jcd-color-accent-text);
}

.jcd_ui_read_link a:focus-visible {
  outline: 2px solid var(--jcd-color-focus);
  outline-offset: 3px;
  border-radius: var(--jcd-radius-sm);
}

/*------------------------------------*\
    $HEADING — POWERPACK SMART HEADING
\*------------------------------------*/
.pp-heading .title-text,
.pp-heading .heading-title a {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}

.pp-heading .heading-title {
  margin: 0;
}


/*------------------------------------*\
    $SECTION INTRO
\*------------------------------------*/
.jcd_ui_section_intro {
  margin-bottom: var(--jcd-space-2xl);
}

.jcd_ui_section_intro > .fl-col-content {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}


/*------------------------------------*\
    $KICKER
\*------------------------------------*/
.jcd_ui_kicker,
.jcd_ui_kicker .pp-heading,
.jcd_ui_kicker .heading-title,
.jcd_ui_kicker .title-text,
.jcd_ui_kicker .pp-primary-title,
.jcd_ui_kicker h2,
.jcd_ui_kicker h3,
.jcd_ui_kicker h4,
.jcd_ui_kicker h5,
.jcd_ui_kicker h6 {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-kicker);
  font-weight: var(--jcd-weight-kicker);
  text-transform: uppercase;
  letter-spacing: var(--jcd-tracking-kicker);
  line-height: var(--jcd-leading-kicker);
  color: var(--jcd-color-accent-text);
}

.jcd_ui_kicker_muted,
.jcd_ui_kicker_muted .pp-heading {
  color: var(--jcd-color-muted);
}

.jcd_ui_kicker .pp-sub-heading,
.jcd_ui_kicker .pp-sub-heading p {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-body);
  font-weight: var(--jcd-weight-regular);
  line-height: var(--jcd-leading-body);
  text-transform: none;
  letter-spacing: normal;
  color: var(--jcd-color-muted);
}

.jcd_ui_inverse .jcd_ui_kicker .pp-sub-heading,
.jcd_ui_inverse .jcd_ui_kicker .pp-sub-heading p,
.jcd_ui_on_ink .jcd_ui_kicker .pp-sub-heading,
.jcd_ui_on_ink .jcd_ui_kicker .pp-sub-heading p {
  color: var(--jcd-color-inverse-bright);
}

/* --- Size modifier ------------------------------------------------------ */
.jcd_ui_kicker_lg,
.jcd_ui_kicker_lg .pp-heading,
.jcd_ui_kicker_lg .heading-title,
.jcd_ui_kicker_lg .title-text,
.jcd_ui_kicker_lg .pp-primary-title,
.jcd_ui_kicker_lg h2,
.jcd_ui_kicker_lg h3,
.jcd_ui_kicker_lg h4,
.jcd_ui_kicker_lg h5,
.jcd_ui_kicker_lg h6 {
  font-size: var(--jcd-text-kicker-lg);
}


/*------------------------------------*\
    $PULL QUOTE
\*------------------------------------*/
.jcd_ui_pull_quote {
  font-family: var(--jcd-font-serif);
  font-size: var(--jcd-text-h3);
  font-weight: var(--jcd-weight-light);
  line-height: 1.3;
  color: var(--jcd-color-ink);
  border-left: 2px solid var(--jcd-color-accent);
  padding-left: var(--jcd-space-lg);
  margin: var(--jcd-space-xl) 0;
}

.jcd_ui_pull_quote__attribution {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-caption);
  font-weight: var(--jcd-weight-regular);
  letter-spacing: var(--jcd-tracking-tight);
  text-transform: uppercase;
  color: var(--jcd-color-muted);
  margin-top: var(--jcd-space-md);
}

/*------------------------------------*\
    $NUMBERED LIST
\*------------------------------------*/

.jcd_ui_numbered_list ol {
  list-style: none;
  counter-reset: jcd-list;
  margin: 0;
  padding: 0;
}

.jcd_ui_numbered_list li {
  counter-increment: jcd-list;
  display: flex;
  gap: var(--jcd-space-md);
  padding: var(--jcd-space-md) 0;
  border-bottom: 1px solid var(--jcd-color-rule);
}

.jcd_ui_numbered_list li::before {
  content: counter(jcd-list, decimal-leading-zero);
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-lead);
  font-weight: var(--jcd-weight-semi);
  color: var(--jcd-color-accent-text);
  flex-shrink: 0;
}


/*------------------------------------*\
    $FORM FIELDS — GRAVITY FORMS
\*------------------------------------*/

.jcd_ui_field .gform_wrapper .gfield input[type="text"],
.jcd_ui_field .gform_wrapper .gfield input[type="email"],
.jcd_ui_field .gform_wrapper .gfield input[type="tel"],
.jcd_ui_field .gform_wrapper .gfield textarea,
.jcd_ui_field .gform_wrapper .gfield select {
  font-family: var(--jcd-font-sans) !important;
  font-size: var(--jcd-text-body) !important;
  color: var(--jcd-color-ink) !important;
  background-color: var(--jcd-color-surface) !important;
  border: 1px solid var(--jcd-color-accent-text) !important;
  border-radius: var(--jcd-radius-sm) !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  transition: border-color var(--jcd-duration-base) ease-out;
  outline-offset: 2px !important;
}
 
.jcd_ui_field .gform_wrapper .gfield input::placeholder,
.jcd_ui_field .gform_wrapper .gfield textarea::placeholder {
  color: var(--jcd-color-placeholder) !important;
}
 
/*  Gravity Forms' default focus box-shadow is removed sitewide by many
    themes and replaced with nothing, leaving no visible focus state.
    A ring is substituted — WCAG 2.4.7.                                 */
.jcd_ui_field .gform_wrapper .gfield input:focus,
.jcd_ui_field .gform_wrapper .gfield textarea:focus,
.jcd_ui_field .gform_wrapper .gfield select:focus {
  box-shadow: none !important;
  border-color: var(--jcd-color-accent-text) !important;
  outline: 2px solid var(--jcd-color-accent) !important;
  outline-offset: 2px !important;
}
 
.jcd_ui_field .gform_wrapper .gfield_label {
  display: block;
  margin-bottom: 8px !important;
}
 
.jcd_ui_field .gform_wrapper .gfield_label,
.jcd_ui_field .gform_wrapper .gform-field-label__text {
  font-family: var(--jcd-font-sans) !important;
  font-size: 0.8125rem !important;
  font-weight: var(--jcd-weight-semi) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--jcd-color-muted) !important;
}
 
.jcd_ui_field .gform_wrapper .gfield_error .gfield_label,
.jcd_ui_field .gform_wrapper .gfield_error .gform-field-label__text,
.jcd_ui_field .gform_wrapper .validation_message {
  color: var(--jcd-color-accent-text) !important;
}
 
/* --- Underline field variant ------------------------------------------- */
.jcd_ui_field_underline .gform_wrapper .gfield input {
  border: 0;
  border-bottom: 1px solid var(--jcd-color-rule);
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}
 
.jcd_ui_field_underline .gform_wrapper .gfield input:focus {
  border-bottom-color: var(--jcd-color-ink);
}
 
/* --- Submit --------------------------------------------------------------*/
.jcd_ui_field .gform_wrapper .gform_footer input[type="submit"],
.jcd_ui_field .gform_wrapper .gform_footer button[type="submit"] {
  display: block;
  width: 100% !important;
  font-family: var(--jcd-font-sans) !important;
  font-size: inherit !important;
  font-weight: var(--jcd-weight-semi) !important;
  letter-spacing: var(--jcd-tracking-btn) !important;
  padding: var(--jcd-space-sm) var(--jcd-space-lg) !important;
  border-radius: var(--jcd-radius-pill) !important;
  border: 1px solid var(--jcd-color-accent) !important;
  background-color: var(--jcd-color-accent) !important;
  color: var(--jcd-color-cta-fg) !important;
  cursor: pointer;
  transition:
    background-color var(--jcd-duration-base) ease-out,
    border-color var(--jcd-duration-base) ease-out;
}
 
.jcd_ui_field .gform_wrapper .gform_footer input[type="submit"]:hover,
.jcd_ui_field .gform_wrapper .gform_footer input[type="submit"]:focus-visible,
.jcd_ui_field .gform_wrapper .gform_footer button[type="submit"]:hover,
.jcd_ui_field .gform_wrapper .gform_footer button[type="submit"]:focus-visible {
  background-color: var(--jcd-color-accent-hover) !important;
  border-color: var(--jcd-color-accent-hover) !important;
  color: var(--jcd-color-cta-fg) !important;
}

/*------------------------------------*\
    $INVERSE CONTEXT
\*------------------------------------*/
.jcd_ui_inverse,
.jcd_ui_on_ink {
  --jcd-color-accent-text: var(--jcd-color-accent);
  --jcd-color-focus:       var(--jcd-color-accent);
  --jcd-color-muted:       var(--jcd-color-inverse-muted);
}

.jcd_ui_inverse {
  background-color: var(--jcd-color-ink);
  color: var(--jcd-color-inverse-body);
}

.jcd_ui_inverse h1,
.jcd_ui_inverse h2,
.jcd_ui_inverse h3,
.jcd_ui_inverse h4 {
  color: var(--jcd-color-paper);
}

.jcd_ui_inverse .jcd_ui_field .gform_wrapper .gfield_label,
.jcd_ui_inverse .jcd_ui_field .gform_wrapper .gform-field-label__text {
  color: var(--jcd-color-inverse-muted);
}

.jcd_ui_inverse .jcd_ui_field .gform_wrapper .gfield input {
  color: var(--jcd-color-paper);
  border-color: var(--jcd-color-inverse-rule);
}

.jcd_ui_inverse .jcd_ui_field .gform_wrapper .gfield input::placeholder {
  color: var(--jcd-color-inverse-muted);
}


/*------------------------------------*\
    $FOOTER
\*------------------------------------*/
.section_is_footer,
.section_is_footer_legal {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.section_is_footer .fl-col-content {
  display: flex;
  flex-direction: column;
  gap: var(--jcd-space-md);
}
.section_is_footer .fl-module,
.section_is_footer .fl-module > .fl-module-content,
.section_is_footer_legal .fl-module,
.section_is_footer_legal .fl-module > .fl-module-content {
  margin: 0 !important;
}

.jcd_ui_footer_logo img {
  height: 24px;
  width: auto;
}

.jcd_ui_footer_blurb {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-caption);
  line-height: 1.625;
  color: var(--jcd-color-muted);
  max-width: 24rem;
}

.jcd_ui_footer_heading,
.jcd_ui_footer_heading .pp-heading,
.jcd_ui_footer_heading h2,
.jcd_ui_footer_heading h3 {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-kicker);
  font-weight: var(--jcd-weight-medium);
  text-transform: uppercase;
  letter-spacing: var(--jcd-tracking-kicker);
  line-height: 1.3;
  color: var(--jcd-color-muted);
}

.jcd_ui_footer_heading_accent,
.jcd_ui_footer_heading_accent .pp-heading,
.jcd_ui_footer_heading_accent h2,
.jcd_ui_footer_heading_accent h3 {
  color: var(--jcd-color-accent-text);
}

.section_is_footer .pp-advanced-menu ul,
.section_is_footer_legal .pp-advanced-menu ul {
  margin: 0;
  padding: 0;
}

.section_is_footer .pp-advanced-menu .menu > li,
.section_is_footer_legal .pp-advanced-menu .menu > li {
  margin: 0;
}

.jcd_ui_footer_menu .pp-advanced-menu .menu > li > a,
.jcd_ui_footer_legal_menu .pp-advanced-menu .menu > li > a {
  font-family: var(--jcd-font-sans);
  font-size: 13px;;
  font-weight: var(--jcd-weight-regular);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.6;
  color: var(--jcd-color-muted);
  padding: var(--jcd-space-xs) 0;
  transition: color var(--jcd-duration-base) ease-out;
}

.jcd_ui_footer_menu .pp-advanced-menu .menu > li > a:hover,
.jcd_ui_footer_menu .pp-advanced-menu .menu > li > a:focus-visible,
.jcd_ui_footer_legal_menu .pp-advanced-menu .menu > li > a:hover,
.jcd_ui_footer_legal_menu .pp-advanced-menu .menu > li > a:focus-visible {
  color: var(--jcd-color-accent-text);
}

.jcd_ui_footer_menu .pp-advanced-menu .menu > li > a:focus-visible,
.jcd_ui_footer_legal_menu .pp-advanced-menu .menu > li > a:focus-visible {
  outline: 2px solid var(--jcd-color-focus);
  outline-offset: 3px;
  border-radius: var(--jcd-radius-sm);
}

.jcd_ui_footer_legal_menu .pp-advanced-menu-horizontal {
  justify-content: flex-end;
  gap: var(--jcd-space-lg);
}

/* --- Bright modifier ---------------------------------------------------- */
.jcd_ui_footer_legal_menu_bright .pp-advanced-menu .menu > li > a {
  color: var(--jcd-color-inverse);
}

.jcd_ui_footer_legal_menu_bright .pp-advanced-menu .menu > li > a:hover,
.jcd_ui_footer_legal_menu_bright .pp-advanced-menu .menu > li > a:focus-visible {
  color: var(--jcd-color-accent);
}

.jcd_ui_footer_logo_bright {
  color: var(--jcd-color-inverse);
}

/* --- Small text wordmark, legal row -------------------------------------- */
.jcd_ui_footer_wordmark {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display, var(--jcd-weight-light));
  text-transform: uppercase;
  letter-spacing: var(--jcd-tracking-display, var(--jcd-tracking-nav));
  font-size: var(--jcd-text-caption);
  line-height: 1;
  color: var(--jcd-color-muted);
}

.jcd_ui_footer_wordmark_bright {
  color: var(--jcd-color-inverse);
}

.jcd_ui_footer_social .pp-social-icon a,
.jcd_ui_footer_social .pp-social-icon a i,
.jcd_ui_footer_social .pp-social-icon a i::before {
  color: var(--jcd-color-muted);
  transition: color var(--jcd-duration-base) ease-out;
}

.jcd_ui_footer_social .pp-social-icon a:hover,
.jcd_ui_footer_social .pp-social-icon a:hover i,
.jcd_ui_footer_social .pp-social-icon a:hover i::before,
.jcd_ui_footer_social .pp-social-icon a:focus-visible,
.jcd_ui_footer_social .pp-social-icon a:focus-visible i,
.jcd_ui_footer_social .pp-social-icon a:focus-visible i::before {
  color: var(--jcd-color-accent-text);
}

.jcd_ui_footer_social .pp-social-icon a:focus-visible {
  outline: 2px solid var(--jcd-color-focus);
  outline-offset: 3px;
  border-radius: var(--jcd-radius-sm);
}

.jcd_ui_footer_social .pp-social-icon svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.section_is_footer_legal .fl-col-group {
  align-items: center;
}

.jcd_ui_footer_legal {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-caption);
  color: var(--jcd-color-muted);
}

@media (max-width: 992px) {
  .jcd_ui_footer_legal_menu .pp-advanced-menu-horizontal {
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  .jcd_ui_footer_blurb {
    max-width: none;
  }
}


/*------------------------------------*\
    $POWERPACK / UABB TRANSITIONS
\*------------------------------------*/

/*  One grouped rule. Vendor prefixes are omitted deliberately —
    -webkit-, -moz- and -o- transition support ended years ago, and
    -ms-transition was never implemented by any browser.                */

span.pp-icon,
.pp-video-play-icon,
.pp-video-play-icon svg,
.pp-video-gallery .pp-video-title,
.pp-faq-item .pp-faq-button-icon,
.pp-categories-outer .swiper-button-prev,
.pp-categories-outer .swiper-button-next,
.pp-content-post-carousel .owl-nav button[class*="owl"],
.pp-image-carousel-wrapper .pp-swiper-button,
.pp-social-icon,
.pp-social-icon a,
.pp-testimonials-wrap .owl-theme .owl-dots .owl-dot span {
  transition: all var(--jcd-duration-fast) linear;
}

.pp-testimonials button {
  box-shadow: none;
}