/* accessibility.css */

.hidden-accessibly, .absorb--hidden-accessibly {
  /* Accessibility helper class to hide elements visually but keep them accessible to screen readers */
  -webkit-mask: none !important;
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  anchor-name: none !important;
  animation: none !important;
  appearance: none !important;
  aspect-ratio: auto !important;
  backdrop-filter: none !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  clip-path: inset(50%) !important;
  clip: rect(0, 0, 0, 0) !important;
  contain: strict !important;
  content-visibility: visible !important;
  cursor: inherit !important;
  filter: none !important;
  float:none !important;
  height: 1px !important;
  inset: 0 auto auto 0 !important;
  margin: 0 !important;
  mask: none !important; 
  max-height: 1px !important;
  max-width: 1px !important;
  min-height: 1px !important;
  min-width: 1px !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  outline: none !important;
  overflow: clip !important;
  padding: 0 !important;
  place-self: auto auto !important;
  position-anchor: revert !important;
  position-area: none !important;
  position-try: revert !important;
  position: absolute !important;
  resize: none !important;
  scroll-margin: 0 !important;
  scroll-padding: 0 !important;
  text-shadow: none !important;
  touch-action: none !important;
  transform: none !important;
  transition: none !important;
  user-select: none !important;
  visibility: visible !important;
  white-space: nowrap !important;
  width: 1px !important;
  z-index: -2147483646 !important;
  zoom: 1 !important;
}

/* buttons.css */

button, select, *[type="button"], *[type="submit"], *[role="button"], *[role="tab"], a[data-w-tab], a.button, a.absorb--button, a.w-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
/* header.css */

@media screen and (max-width: 1280px) {
  .x-abs-header-brand, .absorb--x-abs-header-brand {
    padding-right: 0;
  }
  .nav-menu, .absorb--nav-menu {
    padding-left: 8px;
  }
  #nav-cta-secondary {
    display: none;
  }
  :is(.nav-menu, .absorb--nav-menu) :is(.card, .absorb--card, .card-wrapper, .absorb--card-wrapper) {
    display: none;
  }
  .nav-ctas, .absorb--nav-ctas {
    column-gap: 8px;
  }
  .header-nav-dropdown-list.header-nav-customers.w--open, .absorb--header-nav-dropdown-list.absorb--header-nav-customers.w--open {
    left: -20px;
  }
  .header-nav-dropdown-list.header-nav-resources.w--open, .absorb--header-nav-dropdown-list.absorb--header-nav-resources.w--open {
    left: -20px;
  }
}
@media screen and (max-width: 991px) {
  #nav-cta-secondary {
    display: block;
  }

  .nav-menu, .absorb--nav-menu {
    padding-left: 0;
  }
}

/* When the mobile nav is open, prevent body scrolling */
body:has(div.w-nav.navbar .w-nav-button.w--open, div.w-nav.absorb--navbar .w-nav-button.w--open) {
  overflow: clip;
}

/* Dropdown button focus styles */

.header-nav-dropdown-button:focus-visible .dropdown-icon, 
.absorb--header-nav-dropdown-button:focus-visible .absorb--dropdown-icon {
  display: block;
  
}
.header-nav-dropdown-button.w--open:has(:focus-visible) .dropdown-icon,
.absorb--header-nav-dropdown-button.w--open:has(:focus-visible) .absorb--dropdown-icon {
  outline-style: solid;
}
/* accordion.css */

/* This is a Webflow tab control on the homepage that was turned into an accordion. */

.accordion-toggle:not(.w--current) .expanded-accordion-content,
.absorb--accordion-toggle:not(.w--current) .absorb--expanded-accordion-content{
  display: none;
}
.accordion-toggle:not(.w--current) .accordion-arrow,
.absorb--accordion-toggle:not(.w--current) .absorb--accordion-arrow {
  transform: rotate(0deg);
}
/* testimonial-slider.css */

.testimonial-slider, .absorb--testimonial-slider {

  /* Default Dots */
  .w-slider-dot {
    background-color: var(--absorb_colors---forms--input-background, var(--_colors---forms--input-background));
    border: 2px solid var(--absorb_colors---colors-core--neutral--neutral-200, var(--_colors---colors-core--neutral--neutral-200));
    border-radius: 50%;
    opacity: 1;
  }

  /* Active Dot */
  .w-slider-dot.w-active {
    background-color: var(--absorb_colors---colors-core--blue--blue-200, var(--_colors---colors-core--blue--blue-200));
    border-color: var(--absorb_colors---colors-core--neutral--neutral-200, var(--_colors---colors-core--neutral--neutral-200));
  }

}
/* marketo-form.css */

abs-mkto-form label.field,
abs-mkto-form label.absorb--field {
  display: flex;
}
abs-mkto-form form:not([data-zi-mapped-form]):has(input[type="email"]:invalid) {
  label[data-wf--custom-field-dropdown--appearance-visibility-in-zoominfo-form="hide-unless-needed"],
  label[data-wf--custom-field-text--appearance-visibility-in-zoominfo-form="hide-unless-needed"],
  label[data-wf--custom-field-telephone--appearance-visibility-in-zoominfo-form="hide-unless-needed"],
  label[data-wf--absorb--custom-field-dropdown--appearance-visibility-in-zoominfo-form="hide-unless-needed"],
  label[data-wf--absorb--custom-field-text--appearance-visibility-in-zoominfo-form="hide-unless-needed"],
  label[data-wf--absorb--custom-field-telephone--appearance-visibility-in-zoominfo-form="hide-unless-needed"] {
    display: none;
  }
}

/* 

FANCY FIELD AND LABEL STYLES

For these complicated form styles, the split between Webflow and external CSS is as follows:

Webflow variables: CSS variables for colors, font sizes, spacing, etc.
Webflow styles: The default appearance of form fields and labels in their empty, unfocused state - and, opportunistically, some basic states.
External styles (here): Advanced selectors for when to apply which styles, based on field state (focused, filled, empty, etc.)

*/

.field, .absorb--field {
  &:has(*[placeholder]:not(:placeholder-shown), option:checked:not(:disabled), input:focus, textarea:focus, button:focus, button[aria-haspopup="true"][aria-expanded="true"]) {
    .field-text-overlay, .absorb--field-text-overlay {
      /* When fields are focused or have content, minimize labels to eyebrow position */

      left: var(--input-fields--min-label-position-left, var(--absorb---input-fields--min-label-position-left));
      top: var(--input-fields--min-label-position-top, var(--absorb---input-fields--min-label-position-top));
      right: var(--input-fields--min-label-position-right, var(--absorb---input-fields--min-label-position-right));

      padding-top: var(--input-fields--min-label-padding-top, var(--absorb---input-fields--min-label-padding-top));
      padding-bottom: var(--input-fields--min-label-padding-bottom, var(--absorb---input-fields--min-label-padding-bottom));

      padding-left: var(--_form-control-sizes---min-label-padding-left, var(--absorb_form-control-sizes---min-label-padding-left));
      padding-right: var(--_form-control-sizes---min-label-padding-right, var(--absorb_form-control-sizes---min-label-padding-right));

      font-size: var(--input-fields--min-label-font-size, var(--absorb---input-fields--min-label-font-size));
      line-height: var(--input-fields--min-label-line-height, var(--absorb---input-fields--min-label-line-height));
      color: var(--_colors---forms--input-min-label-text, var(--absorb_colors---forms--input-min-label-text));
    }

        
    .field-control, 
    .absorb--field-control {
      /* When fields are focused or have content, set the field content text styles */
      color: var(--_colors---forms--input-text, var(--absorb_colors---forms--input-text));

      &:not(:hover) {
        border-color: var(--_colors---forms--input-border, var(--absorb_colors---forms--input-border));
      }

      &[data-has-attempted-submit]:invalid {
        border-color: var(--_colors---forms--input-border-invalid, var(--absorb_colors---forms--input-border-invalid));
      }
      

      &.dropdown, &.absorb--dropdown {
        background-position-y: 75%;
      }

      /* 
      If we ever want to actually support true placeholders again, which would only appear when a field is focused and empty:

      &::placeholder {
        color: var(--_colors---forms--input-text-placeholder, var(--absorb_colors---forms--input-text-placeholder));
        opacity: 0.5;
      } 
      */
    }
  }

  &:has(textarea:not(:placeholder-shown)) {
    .field-text-overlay, .absorb--field-text-overlay {
      /* Textareas can scroll vertically. The label overlaps the content in this case, so we need to set a background color */
      background-color: var(--_colors---forms--textarea-label-background, var(--absorb_colors---forms--textarea-label-background));
    }
  }
}


.field-control, 
.absorb--field-control {
  &:placeholder-shown, &:has(option:checked:disabled) {
    &:not(:focus, :hover) {
      /* When fields are empty and not focused or hovered, set the field content text styles */
      border-color: var(--_colors---forms--input-border-empty, var(--absorb_colors---forms--input-border-empty));
    }

    &[data-has-attempted-submit]:invalid {
      border-color: var(--_colors---forms--input-border-invalid, var(--absorb_colors---forms--input-border-invalid));
    }
  }
  
  &:focus {
    /* When fields are focused, override with the correct border style */
    border-color: var(--_colors---forms--input-border-focused, var(--absorb_colors---forms--input-border-focused));
  }
  
  &:autofill {
    /* Prevent browsers from applying their forced background styles autofilled inputs */
    transition: background-color 0s 864000s, background-image 0s 864000s;

    /* Set our own autofill text color to preserve the usability aspect */
    -webkit-text-fill-color: var(--_colors---forms--input-text-autofill, var(--absorb_colors---forms--input-text-autofill));
  }

  &::picker(select), option {
    /* Attempt to ensure that dropdown pickers have the correct text color, not transparent */
    color: var(--_colors---forms--input-text, var(--absorb_colors---forms--input-text));
  }
}
/* webflow.css */
.hide-when-custom-code-on, .absorb--hide-when-custom-code-on { display: none; }
html a.w-webflow-badge { display: none !important; }
/* article-embeds.css */

/* For migrated blogs from Contentful/Wordpress/Drupal, opt in to
   special styling for embedded content */

.article-content-rich-text[data-article-type="Migrated"],
.absorb--article-content-rich-text[data-article-type="Migrated"] {
  [data-embed-card-inline],
  [data-embed-inline-blocks],
  .stroke-div {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto var(--absorb---padding--padding-2xl, var(--padding--padding-2xl, 40px)) auto;
    background-color: var(--absorb_colors---article-embeds--embed-card-background, var(--_colors---article-embeds--embed-card-background), #f3f4f6);
    border-radius: var(--absorb---borders--border-radius-lg, var(--borders--border-radius-lg, 20px));
    padding: var(--absorb---padding--padding-lg, var(--padding--padding-lg, 24px));
    position: relative;
    border-style: solid;
    border-width: var(--absorb---borders--border-width-default, var(--borders--border-width-default, 1px));
    border-color: var(--absorb_colors---article-embeds--embed-card-border, var(--_colors---article-embeds--embed-card-border, #e0e0e0));
    max-width: var(--absorb_component-sizes---articles--article-body-max-width, var(--_component-sizes---articles--article-body-max-width, 780px));

    :last-child { margin-bottom: 0; }
    :first-child { margin-top: 0; }
  }

  [data-embed-card-inline] a {
    text-decoration: none;
  }

  [data-embed-inline-blocks] {
    align-items: flex-start;
     margin-bottom: var(--absorb---padding--padding-lg, var(--padding--padding-lg, 24px));
  }

  [data-embed-card-inline] a.link-card {
    position: absolute;
    inset: 0;
    z-index: 10;
  }

  [data-embed-form] {
    padding: var(--absorb---padding--padding-2xl, var(--padding--padding-2xl, 40px));
    border-radius: var(--absorb---borders--border-radius-default, var(--borders--border-radius-default, 10px));
    border-width: var(--absorb---borders--border-width-bold, var(--borders--border-width-bold, 2px));
    border-style: solid;
    border-color: var(--absorb_colors---article-embeds--embed-card-border, var(--_colors---article-embeds--embed-card-border, #e0e0e0));
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  [data-embed-form] h4,
  [data-embed-form] h4 + p,
  [data-embed-inline-blocks] h5 {
    margin-left: 0;
    margin-right: 0;
    align-self: flex-start;
  }

  [data-embed-inline-blocks] ul {
    padding-left: var(--absorb---padding--padding-default, var(--padding--padding-default, 16px));
  }

  .embed-table,
  [data-embed-table] {
    width: 100%;
    max-width: var(--absorb_component-sizes---articles--article-body-max-width, var(--_component-sizes---articles--article-body-max-width, 780px));
    overflow-x: auto;
    margin: 0 auto;
  }

  .embed-table table,
  [data-embed-table] table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--absorb---typography--font-size--font-size-sm, var(--typography--font-size--font-size-sm, 14px));
    margin-bottom: var(--absorb---padding--padding-xl, var(--padding--padding-xl, 32px));
  }

  .embed-table th,
  .embed-table td,
  [data-embed-table] th,
  [data-embed-table] td {
    padding: var(--absorb---padding--padding-xs, var(--padding--padding-xs, 8px));
    border-width: var(--absorb---borders--border-width-default, var(--borders--border-width-default, 1px));
    border-style: solid;
    border-color: var(--absorb_colors---colors-semantic-tokens--separator-line, var(--_colors---colors-semantic-tokens--separator-line, #e0e0e0));
    vertical-align: top;
    margin: 0;
  }

  .embed-table th,
  .embed-table td,
  .embed-table th p,
  .embed-table td p,
  [data-embed-table] th,
  [data-embed-table] td,
  [data-embed-table] th p,
  [data-embed-table] td p {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
    text-align: left;
    line-height: var(--absorb---typography--line-height--line-height-xl, var(--typography--line-height--line-height-xl, 140%));
  }

  .embed-table th,
  [data-embed-table] th {
    background-color: var(--absorb_colors---article-embeds--embed-card-background, var(--_colors---article-embeds--embed-card-background), #f3f4f6);
    font-weight: var(--absorb---typography--font-weight--font-weight-semibold, var(--typography--font-weight--font-weight-semibold, 600));
    top: 0;
    z-index: 1;
  }

  .embed-table p,
  [data-embed-table] p {
    margin: 0;
  }

  h1, h2, h3, h4, h5, h6, header {
    strong {
      color: var(--absorb_colors---colors-semantic-tokens--text-highlight, var(--_colors---colors-semantic-tokens--text-highlight, #e92b8d));
      font-weight: unset;
    }
  }
}