/*
Theme Name: Instant Alliance
Template: Impreza
Version: 1.0
Author:	Brett Widmann
Theme URI: https://impreza.us-themes.com/
Author URI: https://brettwidmann.com/
*/

/* =============================================================================
   INSTANT ALLIANCE - CHILD THEME STYLES
   =============================================================================

   Consolidated 2026-07-27 from the two places this site's custom CSS used to live.
   Everything below is verbatim; only whitespace, ordering comments and section
   headers were added.

   CASCADE NOTE - this file loads as handle `theme-style`, which Impreza enqueues
   between the theme's own stylesheet and its generated inline blocks:

       matador-styles -> us-style -> us-gravityforms -> THIS FILE
       -> wp-custom-css -> us-theme-options-css -> us-custom-css -> us-design-options-css

   So anything here still loses to Theme Options and to per-element Design Options
   at equal specificity. Several blocks below depend on that and carry either
   !important or a deliberately raised specificity; the comments say which.

   PART 1 and PART 2 are kept in their original relative order for the same reason.
   Do not reorder them without re-checking the collisions called out inline.

   CONTENTS
     PART 1 - migrated from Appearance > Customize > Additional CSS (now empty)
       1.1  Icon brand scheme
       1.2  Page CTA band
       1.3  Feature cards
       1.4  Gravity Forms
       1.5  Sitemap
       1.6  Case study separators
       1.7  Responsive QA fixes
       1.8  Brand section washes
       1.9  Home page v3
       1.10 Button borders
       1.11 Home featured jobs
       1.12 Matador submit button
       1.13 Row divider headings
       1.14 Row divider wrapping
       1.15 Blog, Insights and sidebar
       1.16 Case study cards

     PART 2 - copied from Theme Options > Custom CSS
       STILL ACTIVE THERE. Theme Options loads later, so that copy is the one
       winning today; this is a staged duplicate. When the Theme Options box is
       cleared, these rules go live from here instead -- at an EARLIER cascade
       position. Re-check the footer and icon-box rules at that point.
   ============================================================================= */


/* =============================================================================
   PART 1 - migrated from Appearance > Customize > Additional CSS
   ============================================================================= */

/* === IA icon brand scheme (2026-07-23) - delete this block to revert to per-shortcode icon colors === */
.l-main i.fad {
  --fa-primary-color: #061b47;
  --fa-secondary-color: #00aeef;
}
/* Raised above the Theme Options rule for the same element (PART 2), which sets
   1.5em and a flat #00aeef border. `.l-main` is what wins it. */
.l-main .w-iconbox.style_circle .w-iconbox-icon,
.l-main .w-iconbox.with-icon .w-iconbox-icon {
  width: 1.62em !important;
  height: 1.62em !important;
  border: 2px solid transparent !important;
  background:
    linear-gradient(140deg, #f2fbfe 0%, #f5fcfa 45%, #f7f4fa 100%) padding-box,
    linear-gradient(140deg, #005b99 0%, #00aeef 100%) border-box !important;
}

/* === IA page-cta band (2026-07-23) - pale cyan-to-teal wash (secondary palette #35c4af); delete to revert to #fafafa === */
.l-main .page-cta {
  background: linear-gradient(135deg, #effaff 0%, #e6f7f3 100%) !important;
}

/* === IA feature cards (2026-07-23) - uniform height (tallest 3-line card = 206px at 20px body) === */
.l-main .w-iconbox.with-icon {
  min-height: 10.3rem;
}
.l-main .w-iconbox-title {
  margin-bottom: .5rem;
}

/* [IA-GF-MATCH 2026-07-24, revised 2026-07-31] Gravity Forms field labels and inputs.
   The submit button used to live here too; it now shares one definition with Matador's in
   [IA-FORM-CONTROLS] at the end of this file, since both are <input> and need the same
   workaround. Labels are 25px, matched by Matador's in [IA-FORM-CONTROLS].
   Revert: delete this block. */
.l-main .gform_wrapper .gfield_label:not(.gform-field-label--type-inline):not(.gfield_consent_label) {
  font-size: 25px;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 10px;
}
.l-main .gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.l-main .gform_wrapper textarea {
  padding: 10px !important;
  height: auto !important;
  line-height: 24px !important;
}
/* [IA-SITEMAP 2026-07-24] sitemap page grid - revert: delete block */
.ia-sitemap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2rem 3rem;
}
.ia-sitemap ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ia-sitemap li {
  margin: 0 0 0.4rem;
}
.ia-sitemap h3 {
  margin-bottom: 0.75rem;
}
/* [IA-CS-SEPARATORS 2026-07-24] center line separators on case_study singles - the sitewide
   donor rule (body .w-separator.size_small.with_line) forces margin 0 and the existing
   centering rule is scoped to body.page only. Revert: delete block. */
body.single-case_study .w-separator.initial-center.size_small.with_line {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* [IA-QA-RESPONSIVE 2026-07-24] Playwright QA fixes - revert: delete block */
/* Job single: the 1/3 sticky application-form column is too narrow below ~1367px
   (Google reCAPTCHA iframe is a fixed 304px and overflows the viewport at tablet). */
@media (max-width: 1024px) {
  body.single-matador-job-listings .g-cols.via_flex > .wpb_column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  body.single-matador-job-listings .vc_column-inner.type_sticky {
    position: static !important;
    top: auto !important;
  }
}
@media (min-width: 1025px) and (max-width: 1366px) {
  body.single-matador-job-listings .vc_col-sm-4 .vc_column-inner.type_sticky {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  body.single-matador-job-listings .matador-field-recaptcha .g-recaptcha {
    transform: scale(0.9);
    transform-origin: 0 0;
  }
}
/* Guard: never allow sub-pixel/abs-positioned leaks to widen the page (clip, not hidden, preserves sticky) */
html,
body {
  overflow-x: clip;
}

/* Owl carousels: clip the stage so track rounding never widens the page */
.l-main .owl-carousel .owl-stage-outer {
  overflow: hidden !important;
}

/* Home industries grid: 2-up tiles on phones instead of a 16-tile single-column scroll */
@media (max-width: 767px) {
  .ia-ind-tile {
    width: 50% !important;
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .ia-ind-tile .vc_column-inner {
    min-height: 120px !important;
  }
}

/* [IA-BRAND-WASH 2026-07-26b] reusable section backgrounds from the Brand Guidelines p22
   secondary palette, used as low-saturation texture. Angles vary on purpose so consecutive
   sections do not read as the same fade. Add as a Row "Extra class". Revert: delete block. */
.l-section.ia-wash-cool {
  background: linear-gradient(135deg,#f4fcfd 0%,#e0f3f9 55%,#edf8fc 100%) !important;
}
.l-section.ia-wash-violet {
  background: linear-gradient(160deg,#fbf9fd 0%,#eee7f7 55%,#f5f2fb 100%) !important;
}
.l-section.ia-wash-warm {
  background: linear-gradient(200deg,#fffefc 0%,#fdf5ef 55%,#fefbf8 100%) !important;
}
.l-section.ia-wash-mint {
  background: linear-gradient(120deg,#f5fbf7 0%,#e2f5ea 55%,#f0f9f3 100%) !important;
}
.l-section.ia-wash-slate {
  background: linear-gradient(180deg,#fbfcfe 0%,#e6edf7 55%,#f3f6fb 100%) !important;
}
/* [IA-HOME-V3 2026-07-26] home section redesign - revert: delete this block */

/* nested grids ignore columns_gap, so spacing is set on the column inner box */
.ia-grid.g-cols {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}
.ia-grid.g-cols > .wpb_column > .vc_column-inner {
  margin: 0 1.25rem 2.5rem;
}
@media (max-width: 900px) {
  .ia-grid.g-cols { margin-left: 0; margin-right: 0; }
  .ia-grid.g-cols > .wpb_column > .vc_column-inner { margin: 0 0 2rem; }
}

/* stats band: display face for the figures + hairline dividers */
.ia-stats .w-counter-value {
  font-family: "Tungsten Medium", sans-serif !important;
  font-size: 4.6rem !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}
.ia-stats .w-counter-title {
  opacity: .82;
}
.ia-stats .vc_col-sm-3 + .vc_col-sm-3 .vc_column-inner {
  border-left: 1px solid rgba(255,255,255,.16);
}
@media (max-width: 600px) {
  .ia-stats .vc_column-inner { border-left: 0 !important; }
  .ia-stats .w-counter-value { font-size: 3.4rem !important; }
}

/* service cards */
.ia-svc-card {
  cursor: pointer;
}
.ia-svc-card .vc_column-inner {
  transition: transform .35s ease, box-shadow .35s ease;
}
.ia-svc-card:hover .vc_column-inner {
  transform: translateY(-6px);
  box-shadow: 0 20px 44px rgba(6,27,71,.30);
}

/* card action link: display face + arrow centred on the text (was serif on the baseline) */
.ia-svc-card .w-text.icon_atright {
  font-family: "Tungsten Medium", sans-serif !important;
  font-size: 1.1rem !important;
  letter-spacing: .1em !important;
  margin-top: .35rem;
}
.ia-svc-card .w-text.icon_atright .w-text-h {
  display: inline-flex !important;
  align-items: center;
  gap: .5rem;
}
.ia-svc-card .w-text.icon_atright i {
  font-size: .8em;
  line-height: 1;
  transition: transform .25s ease;
}
.ia-svc-card:hover .w-text.icon_atright i {
  transform: translateX(4px);
}
/* industries: typographic directory */
.ia-ind-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ia-ind-list li {
  margin: 0;
}
.ia-ind-list li a {
  display: block;
  padding: .9rem 0;
  border-bottom: 1px solid rgba(6,27,71,.14);
  font-family: "Tungsten Medium", sans-serif;
  font-size: 1.3rem;
  line-height: 1.25;
  color: #061b47;
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}
.ia-ind-list li:first-child a {
  border-top: 1px solid rgba(6,27,71,.14);
}
.ia-ind-list li a:hover {
  color: #00aeef;
  padding-left: .45rem;
}

/* [IA-BTN-BORDER 2026-07-27] gradient button ring that respects border-radius.
   Impreza draws the button border on .w-btn::before (position:absolute; inset:0;
   border-radius:inherit; border-width:var(--btn-border-width)) and inherits border-color
   and border-image from the element. Two consequences:
     1. Never give .w-btn a real border-width -- the pseudo already draws the ring, so a
        second one stacks outside it and grows the box by 2*width.
     2. A gradient set in Theme Options arrives as border-image, which CSS does not clip
        to border-radius, so the corners come out square.
   Painting the ring as a masked background on that same pseudo avoids both: backgrounds
   ARE clipped by border-radius. The gradient direction is held constant on hover; only
   the fill and text colours change, and those come from Theme Options.
   Width, radius and the solid fallback colours stay in Theme Options > Button Styles.
   Revert: delete this block. */
.w-btn {
  border-color: var(--btn-border-color, transparent);
}
.w-btn:hover,
.w-btn:focus {
  border-color: var(--btn-hover-border-color, var(--btn-border-color, transparent));
}
.us-btn-style_1,
.us-btn-style_3 {
  --ia-ring-a: #005b99;
  --ia-ring-b: #00aeef;
}
.us-btn-style_2,
.us-btn-style_4 {
  --ia-ring-a: #686663;
  --ia-ring-b: #9b9993;
}
.us-btn-style_1::before, .us-btn-style_2::before,
.us-btn-style_3::before, .us-btn-style_4::before {
  border-color: transparent;
  border-image: none;
  background-image: linear-gradient(100deg, var(--ia-ring-a) 0%, var(--ia-ring-b) 100%);
  background-origin: border-box;
  background-clip: border-box;
  -webkit-mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  -webkit-mask-clip: padding-box, border-box;
  mask-clip: padding-box, border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

/* [IA-FEATURED-JOBS 2026-07-27] Home > Featured Opportunities. The built-in text_card
   layout pins its title with `.layout_text_card .usg_post_title_1 {font-size:1.1rem
   !important}`, so raising it needs !important plus higher specificity.
   grid-auto-rows:1fr equalises the implicit rows -- without it CSS grid sizes each row to
   its own tallest card, so a wrapped two-line title makes that whole row taller than the
   one above it. --gap and --columns are written inline on the grid element, so any
   override of those needs !important too. */
.ia-featured-jobs .w-post-elm.post_title {
  font-size: 1.4rem !important;
  line-height: 1.14;
}
.ia-featured-jobs .w-grid-list {
  grid-auto-rows: 1fr;
}
/* [IA-ROW-DIVIDER 2026-07-27] */
.row-divider h2 {
  max-width: 500px;
}

/* [IA-DIVIDER-WRAP 2026-07-27] Suppress the stray divider on columns that START a visual
   row in a wrapping row-divider grid.

   The base rule lives in THEME OPTIONS > CUSTOM CSS (not here): it draws the 1px vertical
   line on every column except :first-child. That is only correct while the row fits on one
   line. Talent Advisory has a 9-column row-divider row that wraps to 3 lines of 3, so
   columns 4 and 7 sit at the left edge of their line and paint a line with nothing to the
   left of it.

   The per-line count is derived from the column width class, so this self-corrects for any
   row rather than hard-coding Talent Advisory: sm-6 = 2 up, sm-4 = 3 up, sm-3 = 4 up,
   sm-2 = 6 up. Rows that do not wrap are unaffected -- the extra nth-child positions simply
   do not exist. `.l-section` is included only to outrank the base rule, which is otherwise
   the same specificity. Below 768px the base CSS already hides all dividers.
   Revert: delete this block. */
@media (min-width: 768px) {
  .l-section.row-divider .g-cols > .vc_col-sm-2:nth-child(6n+1)::before,
  .l-section.row-divider .g-cols > .vc_col-sm-3:nth-child(4n+1)::before,
  .l-section.row-divider .g-cols > .vc_col-sm-4:nth-child(3n+1)::before,
  .l-section.row-divider .g-cols > .vc_col-sm-6:nth-child(2n+1)::before {
    display: none;
  }
}

/* [IA-BLOG 2026-07-27] Blog post meta, featured image and sidebar widgets.

   The sidebar is NOT the theme sidebar: single posts render through content template 1904
   ("Blog Single") and Insights through page 72, and a builder content template bypasses
   Theme Options > Sidebar entirely. Both place the widget area as a page element via
   [vc_widget_sidebar], so these rules cover the two wrappers that produces:
   .ia-blog-sidebar (the column on template 1904) and .wpb_widgetised_column (Insights).
   Revert: delete this block. */

/* Post meta, matched to the home page card links: Tungsten, uppercase, tracked. */
.single-post .l-main .w-post-elm.post_date,
.single-post .l-main .w-post-elm.post_taxonomy {
  font-family: "Tungsten Medium", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 1.15rem;
}

/* Featured image pinned to 16:9. Sources range from 750x480 photos to a 1500x2067
   portrait, and without this the tall ones ran over 1500px high. */
.single-post .l-main .w-post-elm.post_image img {
  width: 100%;
  /* Most sources are 750x480. Capping the display width keeps the upscale at ~1.1x
     instead of the 1.47x it was at the old full-width 1100px, which is what made these
     look fuzzy -- there is no extra detail in the files to recover. Matters most at
     1024px, where the sidebar stacks and the content column would otherwise go
     full width. */
  max-width: 820px;
  margin-inline: auto;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px;
}

/* ---- sidebar widgets ---- */
.ia-blog-sidebar .widget,
.wpb_widgetised_column .widget {
  margin-bottom: 2.25rem;
}
.ia-blog-sidebar .widget:last-child,
.wpb_widgetised_column .widget:last-child {
  margin-bottom: 0;
}
.ia-blog-sidebar .widgettitle,
.wpb_widgetised_column .widgettitle,
.ia-blog-sidebar .widget > h1, .ia-blog-sidebar .widget > h2,
.ia-blog-sidebar .widget > h3, .ia-blog-sidebar .widget > h4,
.ia-blog-sidebar .widget > h5, .ia-blog-sidebar .widget > h6,
.wpb_widgetised_column .widget > h1, .wpb_widgetised_column .widget > h2,
.wpb_widgetised_column .widget > h3, .wpb_widgetised_column .widget > h4,
.wpb_widgetised_column .widget > h5, .wpb_widgetised_column .widget > h6 {
  font-family: "Tungsten Medium", sans-serif;
  font-size: 1.35rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #061b47;
  margin: 0 0 0.9rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #00aeef;
}
.ia-blog-sidebar .widget ul,
.wpb_widgetised_column .widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ia-blog-sidebar .widget li,
.wpb_widgetised_column .widget li {
  padding: 0.4rem 0;
  border-bottom: 1px solid #dee5ef;
  font-size: 0.95rem;
  line-height: 1.35;
}
.ia-blog-sidebar .widget li:last-child,
.wpb_widgetised_column .widget li:last-child {
  border-bottom: 0;
}
.ia-blog-sidebar .widget p,
.wpb_widgetised_column .widget p {
  font-size: 0.95rem;
  line-height: 1.5;
}
.ia-blog-sidebar .widget select,
.wpb_widgetised_column .widget select,
.ia-blog-sidebar .widget input[type="search"],
.wpb_widgetised_column .widget input[type="search"] {
  width: 100%;
  padding: 0.6rem 0.75rem;
  border: 1px solid #dee5ef;
  border-radius: 10px;
  background: #fff;
  font-size: 0.95rem;
  /* the theme pins select height to 33px, which clipped the Archives label under the
     padding above -- let it size to its content instead */
  height: auto !important;
  line-height: 1.4;
}

/* Insights keeps its live grid filters instead of Search/Categories widgets, so the
   filter headings are matched to the widget headings for one consistent column. */
.wpb_widgetised_column .w-filter-item-title,
.vc_column_container .w-filter-item-title {
  font-family: "Tungsten Medium", sans-serif;
  font-size: 1.35rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #061b47;
  margin: 0 0 0.9rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #00aeef;
}
.ia-widget-socials a {
  display: inline-block;
  margin-inline-end: 1rem;
  font-family: "Tungsten Medium", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #00aeef;
}

/* The CTA widget reads as a card so it does not look like another link list. */
.ia-blog-sidebar .widget_custom_html:last-child,
.wpb_widgetised_column .widget_custom_html:last-child,
.ia-blog-sidebar .widget_text:last-child,
.wpb_widgetised_column .widget_text:last-child {
  background: linear-gradient(150deg, #e8f5fc 0%, #eef9f6 55%, #f3eff9 100%);
  border-radius: 12px;
  padding: 1.4rem;
}
.ia-blog-sidebar .widget_custom_html:last-child .widgettitle,
.wpb_widgetised_column .widget_custom_html:last-child .widgettitle,
.ia-blog-sidebar .widget_text:last-child .widgettitle,
.wpb_widgetised_column .widget_text:last-child .widgettitle,
.ia-blog-sidebar .widget_text:last-child > h5,
.wpb_widgetised_column .widget_text:last-child > h5 {
  border-bottom: 0;
  padding-bottom: 0;
}

/* Stack the sidebar under the content from tablet down. At 768px the 1/3 column collapsed
   to ~190px, which wrapped the CTA button onto two lines and squeezed the copy to a few
   words per line. Impreza's own stacking breakpoint is below this.
   `.ia-blog-row` sits on a vc_row on the single-post template (so el_class lands on
   .l-section) and on a vc_row_inner on Insights (where it lands on .g-cols itself) --
   hence the two selectors. */
@media (max-width: 1024px) {
  .ia-blog-row > .l-section-h > .g-cols > .wpb_column,
  .ia-blog-row.g-cols > .wpb_column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  .ia-blog-sidebar { margin-top: 2.5rem; }
}

/* =============================================================================
   PART 2 - copied from Theme Options > Custom CSS
   Still active in Theme Options; that copy currently wins. See header note.
   ============================================================================= */

footer ul {
    list-style-type: none;
    margin-inline-start: 0 !important;
}

footer #footer-slogan p {
    max-width: 300px;
    margin: auto;
    font-size: 18px;
}

body.single ul.matador-job-meta,
body.single nav.matador-job-navigation,
body footer h2.widgettitle {
    display: none !important;
  visibility: hidden !important;
}

body.single blockquote {
  font-size: 1.2rem !important;
  line-height: 1.4 !important;
}

body.single .type_sticky {
  box-shadow: 2px 1px 8px 2px black;
    border-radius: .5rem;
    z-index: 3;
}

.single-matador-job-listings .matador-application, .single-matador-job-listings .matador-form {
    border: none !important;
    margin: 0 !important;
}

body .w-separator.size_small.with_line:not(.with_text) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    height: 2.5rem !important;
    max-width: 80px;
}

body.page .w-separator.initial-center.size_small.with_line.width_30 {
    margin-left: auto !important;
    margin-right: auto !important;
}

body footer .w-separator.size_small.with_line {
  height: 1.5rem !important;
  max-width: 35px !important;
}

/* Two columns on tablet and up */
@media (min-width: 768px) {
  #menu-industries, .role-list ul {
    column-count: 3;
    column-gap: 20px;
    /* keep default list styling intact */
    /*margin: 0;
    padding: 0;*/
  }

  #menu-industries .menu-item, .role-list li {
    /* stop items from being split across the two columns */
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* One column on mobile */
@media (max-width: 767px) {
  #menu-industries, .role-list ul {
    column-count: 1;
  }
}

/* ===== Column dividers — any column width ===== */
@media (min-width: 768px) {
  .row-divider {
    --divider-shift: 0; /* default: exact seam */
  }
  /* line on the left seam of every column after the first */
  .row-divider .g-cols > [class*="vc_col-sm-"]:not(:first-child) {
    position: relative;
  }
  .row-divider .g-cols > [class*="vc_col-sm-"]:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 10%;
    bottom: 10%;
    left: var(--divider-shift);
    margin-left: -0.5px;
    width: 1px;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      transparent 0%,
      var(--color-content-secondary) 25%,
      var(--color-content-secondary) 75%,
      transparent 100%
    );
  }
  .divider-shift-left {
    --divider-shift: -12%; /* negative = left, tune to taste */
  }

  /* modifier: keep only the divider between col 1 and col 2 */
  .divider-first-only .g-cols > [class*="vc_col-sm-"]:not(:nth-child(2))::before {
    display: none;
  }
}
@media (max-width: 767px) {
  .row-divider .g-cols > [class*="vc_col-sm-"]::before {
    display: none;
  }
}

.divider-first-only .g-cols > [class*="vc_col-sm-"]:not(:nth-child(2))::before {
  content: none;
}

/* Icon Boxes */

p.w-iconbox-title {
  font-family: "Tungsten Medium", sans-serif;
    font-size: 1.2rem !important;
    letter-spacing: .02em;
    font-weight: 500 !important;
  padding: 0 !important;
}

.w-iconbox.hide-icon .w-iconbox-icon {
  display: none;
  width: 0 !important;
  height: 0 !important;
}

body .w-iconbox.with-icon {
    align-items: center !important;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  background-color: #fff !important;
}

body .w-iconbox-text {
    max-width: 400px;
}

.w-iconbox.style_circle .w-iconbox-icon, .w-iconbox.style_outlined .w-iconbox-icon {
  line-height: 1.5em !important;
  height: 1.5em !important;
  width: 1.5em !important;
  border: 2px solid #00aeef;
}

.w-nav-arrow:before {
  vertical-align: middle !important;
  font-size: 1em !important;
}

h1.w-post-elm.post_title.color_link_inherit {
    margin-bottom: 0 !important;
}

.single-matador-job-listings .matador-application, .single-matador-job-listings .matador-form {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.matador-application .matador-field-type-file .for-file, .matador-application .matador-field-type-files .for-file, .matador-form .matador-field-type-file .for-file, .matador-form .matador-field-type-files .for-file {
    border: 1px solid #fff !important;
    color: #fff !important;
    margin: 15px !important;
}

.matador-application input[type=date], .matador-application input[type=email], .matador-application input[type=password], .matador-application input[type=tel], .matador-application input[type=text], .matador-application select:not([multiple]), .matador-application textarea, .matador-form input[type=date], .matador-form input[type=email], .matador-form input[type=password], .matador-form input[type=tel], .matador-form input[type=text], .matador-form select:not([multiple]), .matador-form textarea {
  height: 1.4em !important;
}

.matador-field-description {
    font-size: 16px !important;
    font-style: italic;
}

.matador-application .matador-field-type-checkbox input, .matador-application .matador-field-type-radio input, .matador-form .matador-field-type-checkbox input, .matador-form .matador-field-type-radio input {
  top: -.3rem !important;
}

/* === Footer recolor (Option 1 — light gray) — overrides instant-alliance.css navy === */
.l-footer,
.l-footer .l-section.color_footer-top { background:#eef1f4 !important; }
.l-footer .ia-subfooter,
.l-footer .l-section.color_footer-bottom,
.l-subfooter { background:#f3f3f3 !important; border-top-color:#d0d6dd !important; }
.ia-foot-h { color:#061b47 !important; }
.l-footer p, .ia-foot-list li, .ia-foot-contact li { color:#1a1a1a !important; }
.ia-foot-list a, .ia-foot-contact a { color:#0096ce !important; }
.ia-foot-list a:hover, .ia-foot-contact a:hover { color:#061b47 !important; }
.l-footer .ia-subfooter p, .l-subfooter, .l-subfooter a { color:#1a1a1a !important; }
.l-footer .w-socials.style_outlined .w-socials-item-link { color:#5c6066 !important; border-color:#cfd6de !important; }
.l-footer .w-socials.style_outlined .w-socials-item-link:hover { color:#fff !important; background:#00aeef !important; border-color:#00aeef !important; }

footer li {
  margin: 0 0 0 .25rem !important;
}

body footer .w-separator.size_small.with_line:not(.with_text) {height: 1.5rem !important;}

/* [IA-STATS-ALIGN 2026-07-27] Keep the home stats band lined up across desktop widths.

   The four counter titles wrap unevenly as the viewport narrows -- at 1280 one goes to two
   lines, at 1200 three do, at 1024 all four. The values and titles stay aligned, but each
   description then starts at a different height, which is the raggedness the client saw.
   Reserving two lines on the title means every description starts on the same baseline
   whatever the wrap. 2.4em = 2 x the 33.6px line-height at the title's 28px size. */
.ia-stats .w-counter-title {
  min-height: 2.4em;
}

/* [IA-GF-COLUMNS 2026-07-27] Two-column choice groups that fill top-down, as designed.

   Gravity Forms' own gf_list_2col lays choices out left-to-right, so "Full-Time, Part-Time"
   ends up on the first row. The Hire Talent mockup groups them down each column instead
   (Full-Time / Part-Time / Contract on the left, Contract-to-Hire / Project-Based /
   Internship on the right), which keeps the related options together. CSS columns flow
   column-major, so this restores the intended pairing.

   `display` needs !important: Gravity Forms' own theme CSS sets `display: grid` on the
   choice list at the same specificity but loads later, so column-count alone is ignored
   (the grid keeps laying rows out first). Only the display mode has to be forced. */
.gform_wrapper .gf_list_2col .gfield_checkbox,
.gform_wrapper .gf_list_2col .gfield_radio {
  display: block !important;
  column-count: 2;
  column-gap: 2.5rem;
}
.gform_wrapper .gf_list_2col .gfield_checkbox .gchoice,
.gform_wrapper .gf_list_2col .gfield_radio .gchoice {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

@media (max-width: 600px) {
  .gform_wrapper .gf_list_2col .gfield_checkbox,
  .gform_wrapper .gf_list_2col .gfield_radio {
    column-count: 1;
  }
}

/* The form description sits flush against the first field label with no gap of its own. */
.gform_wrapper .gform_heading,
.gform_wrapper .gform_description {
  display: block;
  margin-bottom: 1.5rem;
}

/* [IA-FORM-CONTROLS 2026-07-31] Gravity Forms + Matador submit buttons and field labels.

   BUTTONS - button Style 1's gradient ring, on elements that cannot draw a pseudo-element.
   Impreza paints the Style 1 ring on .w-btn::before as a masked background. Both form
   submits are <input> elements, which render no pseudo-elements at all, so neither form
   could ever pick that ring up - they had been falling back to a flat cyan border.
   Two stacked background layers reproduce it without a pseudo: the top layer is the solid
   fill clipped to padding-box, the bottom is the same 100deg gradient clipped to
   border-box, so the gradient shows only in the 2px border strip. Backgrounds are clipped
   by border-radius, which is why this keeps the round corners that border-image squares off.

   Geometry is Style 1's minus the border width. Style 1's ring sits INSIDE the element
   (::before is inset:0) and adds no height, but a real border on an input does, so its
   11px/28.6px padding becomes 9px/26.6px and both buttons land on Style 1's 48px box.

   --ia-btn-fill is registered so the hover fill still fades over .3s like every other
   button on the site: gradient background-images are not interpolatable, a registered
   custom property is. Browsers without @property support snap instead, which is the only
   visible difference.

   The values below are Style 1's computed values - A COPY, NOT A REFERENCE.
   Re-check them whenever Theme Options > Button Styles changes.

   LABELS - Matador wraps every label in <h5>, which is where the 29px Tungsten heading
   face came from. This drops it to 25px and swaps the face to the body Caslon so both forms
   read the same. Scoped to .matador-field-label so the file-upload control's own inner
   label, which is deliberately smaller, is left alone. Revert: delete this block. */
@property --ia-btn-fill {
  syntax: "<color>";
  inherits: false;
  initial-value: #00aeef;
}

.l-main .gform_wrapper .gform_button.button,
.matador-application input[type="submit"].matador-button {
  --ia-btn-fill: #00aeef;
  background-color: transparent !important;
  background-image:
    linear-gradient(var(--ia-btn-fill), var(--ia-btn-fill)),
    linear-gradient(100deg, #005b99 0%, #00aeef 100%) !important;
  background-origin: border-box !important;
  background-clip: padding-box, border-box !important;
  border: 2px solid transparent !important;
  border-radius: 10px !important;
  padding: 9px 26.6px !important;
  color: #fff !important;
  font-family: "Tungsten Medium", sans-serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 0.44px !important;
  line-height: 26.4px !important;
  height: auto !important;
  text-transform: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: --ia-btn-fill .3s, color .3s !important;
}
.l-main .gform_wrapper .gform_button.button:hover,
.l-main .gform_wrapper .gform_button.button:focus,
.matador-application input[type="submit"].matador-button:hover,
.matador-application input[type="submit"].matador-button:focus {
  --ia-btn-fill: #061b47;
  background-color: transparent !important;
  border-color: transparent !important;
  color: #fff !important;
}

.matador-application .matador-field-label,
.matador-application .matador-field-label label {
  font-family: "Caslon Pro", Georgia, serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.3;
}

/* [IA-CS-GRID 2026-07-31] Case study grid: card treatment, compact CTA, phone stacking.

   CARD - matched to the stacking iconbox cards on the industry pages, whose measured values
   are radius 10px, box-shadow 0 2px 8px rgba(0,0,0,.2) and 25px padding. Those cards carry no
   real border, only the shadow, so the hairline here is a deliberate addition: it holds the
   card edge against the ia-wash-cool page background, which is close enough in value to the
   card that the shadow alone reads soft. The gradient runs white into the brand blue and a
   hint of violet, the same wash used elsewhere, kept faint so the client logos stay the
   brightest thing in the row.

   CTA - a filled Style 1 button in a row this compact reads as heavy, and putting it in a
   third column squeezes the excerpt to about 330px. Instead it borrows the home page service
   cards' pattern (us_text, #00aeef, 0.95rem, uppercase, 0.08em tracking, arrow right), so the
   grid keeps a real, editable us_btn element with a working post link while reading as a text
   link. .w-btn::before is the theme's ring - it has to go, or the chrome comes back.

   STACKING - layout 2423 puts the logo left of the copy, which needs flex-wrap:nowrap because
   Impreza's .w-vwrapper is width:100% and would otherwise push the copy onto its own line at
   every width. Nowrap is right on desktop but at phone widths it leaves the excerpt about
   177px wide, so below 700px the row wraps and the logo sits above the title.

   SIDEBAR - white panel on Case Studies and Insights so the filter column belongs with the
   cards. Extra top padding keeps the search field off the panel edge. Scoped to those two page
   ids: the Blog Single template (1904) uses the same class and is deliberately left alone.
   Revert: delete this block. */
.w-grid-item.type-case_study .w-grid-item-h {
  background: linear-gradient(100deg, #ffffff 0%, #f5fafd 55%, #f8f5fb 100%);
  border: 1px solid rgba(0, 91, 153, 0.12);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  padding: 25px;
}

.w-grid-item.type-case_study .ia-cs-btn.w-btn {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0;
  color: #00aeef !important;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: color 0.25s;
  /* the vwrapper is a flex column, so the link stretches the full row width and its
     hit area runs across empty space. align-self shrinks it to its text and parks it
     at the end of the row. */
  align-self: flex-end;
  width: auto;
}
.w-grid-item.type-case_study .ia-cs-btn.w-btn::before {
  display: none;
}
.w-grid-item.type-case_study .ia-cs-btn.w-btn .w-btn-icon {
  transition: transform 0.25s;
}
.w-grid-item.type-case_study:hover .ia-cs-btn.w-btn .w-btn-icon {
  transform: translateX(4px);
}
/* Cyan to navy on hover. Impreza's own `.no-touch .us-btn-style_1:hover {color:#fff!important}`
   has to be outranked, hence the !important on a selector that already carries five classes. */
.w-grid-item.type-case_study .ia-cs-btn.w-btn:hover,
.w-grid-item.type-case_study .ia-cs-btn.w-btn:focus,
.w-grid-item.type-case_study:hover .ia-cs-btn.w-btn {
  color: #061b47 !important;
}

.page-id-1925 .ia-blog-sidebar,
.page-id-72 .ia-blog-sidebar {
  background: #ffffff;
  border: 1px solid rgba(0, 91, 153, 0.12);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  padding: 2rem 25px 25px;
}

@media (max-width: 700px) {
  .w-grid-item.type-case_study .w-hwrapper {
    flex-wrap: wrap;
  }
  .w-grid-item.type-case_study .w-vwrapper {
    width: 100%;
  }
}
