.elementor-647 .elementor-element.elementor-element-4733083 .e-off-canvas__content{background-color:#FAFBFA;border-style:none;border-radius:20px 0px 0px 20px;}.elementor-647 .elementor-element.elementor-element-4733083 .e-off-canvas__overlay{background-color:#00000000;}.elementor-647 .elementor-element.elementor-element-4733083{--e-off-canvas-justify-content:flex-end;--e-off-canvas-align-items:center;--e-off-canvas-height:100vh;--e-off-canvas-content-overflow:auto;--e-off-canvas-animation-duration:0.5s;--e-off-canvas-overlay-opacity:1;}.elementor-647 .elementor-element.elementor-element-2815ed9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;border-style:none;--border-style:none;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;--z-index:999;}.elementor-647 .elementor-element.elementor-element-ef53c01{--grid-columns:1;--grid-row-gap:16px;--grid-column-gap:0px;}.elementor-647 .elementor-element.elementor-element-ef53c01.elementor-element{--align-self:center;}.elementor-647 .elementor-element.elementor-element-b0c9de0{width:var( --container-widget-width, 69.435% );max-width:69.435%;--container-widget-width:69.435%;--container-widget-flex-grow:0;}.elementor-647 .elementor-element.elementor-element-b0c9de0.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-647 .elementor-element.elementor-element-f5af114{width:100%;max-width:100%;}.elementor-647 .elementor-element.elementor-element-f5af114.elementor-element{--align-self:center;}.elementor-647 .elementor-element.elementor-element-6567e1e{width:100%;max-width:100%;--lottie-container-width:100%;--lottie-container-max-width:100%;}.elementor-647 .elementor-element.elementor-element-6567e1e.elementor-element{--align-self:center;}.elementor-647 .elementor-element.elementor-element-9babb8c{width:100%;max-width:100%;--lottie-container-width:100%;--lottie-container-max-width:100%;}.elementor-647 .elementor-element.elementor-element-9babb8c.elementor-element{--align-self:center;}.elementor-647 .elementor-element.elementor-element-bc3074a{width:100%;max-width:100%;--lottie-container-width:100%;--lottie-container-max-width:100%;}.elementor-647 .elementor-element.elementor-element-bc3074a.elementor-element{--align-self:center;}.elementor-647 .elementor-element.elementor-element-1f969805{--swiper-slides-to-display:3;--swiper-slides-gap:16px;width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--arrow-prev-left-position:0px;--arrow-prev-top-position:0px;--arrow-next-right-position:0px;--arrow-next-top-position:0px;--arrow-size:17px;--arrow-normal-color:var( --e-global-color-text );--arrow-hover-color:#8A8A8A;--swiper-pagination-spacing:clamp(2rem, 8vw, 3rem);}.elementor-647 .elementor-element.elementor-element-1f969805 .swiper-slide > .elementor-element{height:100%;}:root{--page-title-display:none;}body.elementor-page-647{padding:0px 0px 0px 0px;}@media(max-width:1366px){.elementor-647 .elementor-element.elementor-element-1f969805{--swiper-slides-to-display:3;}}@media(max-width:1024px){.elementor-647 .elementor-element.elementor-element-2815ed9{--min-height:0vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-647 .elementor-element.elementor-element-ef53c01{--grid-columns:1;}.elementor-647 .elementor-element.elementor-element-1f969805{--swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-647 .elementor-element.elementor-element-2815ed9{--min-height:10vh;}.elementor-647 .elementor-element.elementor-element-ef53c01{--grid-columns:1;}.elementor-647 .elementor-element.elementor-element-1f969805{--swiper-slides-to-display:1;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-647 .elementor-element.elementor-element-2815ed9{--width:100%;}}@media(max-width:1366px) and (min-width:768px){.elementor-647 .elementor-element.elementor-element-2815ed9{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-647 .elementor-element.elementor-element-2815ed9{--width:100%;}}/* Start custom CSS for off-canvas, class: .elementor-element-4733083 */.elementor-647 .elementor-element.elementor-element-4733083 { position: relative; z-index: 40; }
.elementor-647 .elementor-element.elementor-element-4733083 .e-off-canvas__overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; }
.elementor-647 .elementor-element.elementor-element-4733083 .e-off-canvas__content { position: relative; top: 100px; max-height: min(644px, calc(100vh - 280px)); overflow-y: auto; }/* End custom CSS */
/* Start custom CSS for loop-carousel, class: .elementor-element-1f969805 *//* Prevent horizontal page scroll */
html,
body {
  overflow-x: hidden;
}


/* Slider breakout */
.case-study-slider {
  width: calc(100% + ((100vw - 100%) / 2));
  max-width: none;
  margin-right: calc((100% - 100vw) / 2);
}


/* Main carousel */
.case-study-carousel {
  position: relative;
  overflow: visible !important;
  padding-bottom: clamp(1.5rem, 2.5vw, 2.75rem) !important;
}


/* Allow carousel wrappers to show the card shadow */
.case-study-carousel,
.case-study-carousel > .elementor-widget-container,
.case-study-carousel .swiper,
.case-study-carousel .swiper-wrapper,
.case-study-carousel .swiper-slide,
.case-study-carousel .elementor-loop-container {
  overflow: visible !important;
}


/* Swiper viewport */
.case-study-carousel .swiper {
  padding-top: 16px;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0;

  box-sizing: border-box;
  overflow: visible !important;
  cursor: grab;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch;
  user-select: none;
  -webkit-user-select: none;
}

.case-study-carousel .swiper:active {
  cursor: grabbing;
}


/* Slides row */
.case-study-carousel .swiper-wrapper {
  gap: 0;
  margin-left: 0 !important;
  cursor: grab;
  touch-action: pan-y !important;
  user-select: none;
  -webkit-user-select: none;
  transition-timing-function: cubic-bezier(.25, .46, .45, .94) !important;
}

.case-study-carousel .swiper-wrapper:active {
  cursor: grabbing;
}


/* Slide sizing */
.case-study-carousel .swiper-slide {
    width: clamp(320px, 28vw, 410px) !important;
  flex-shrink: 0;
  margin-right: 16px !important;
}


/* Outer rounded wrapper */
.case-study-carousel .case-study-card-hover {
  position: relative;
  border-radius: 20px;
  overflow: visible !important;

  box-shadow:
    0 16px 20px 0 rgba(0, 0, 0, 0.06);

  transition:
    box-shadow 600ms cubic-bezier(.16, 1, .3, 1);
}


/* Desktop hover shadow */
.case-study-carousel .case-study-card-hover:hover {
  box-shadow:
    0 16px 30px 0 rgba(0, 0, 0, 0.14),
    0 4px 12px -4px rgba(0, 0, 0, 0.12);
}


/* Make Loop Item fill the slide */
.case-study-carousel .swiper-slide > .e-loop-item,
.case-study-carousel .swiper-slide > .elementor {
  width: 100%;
}


/* Inner card */
.case-study-carousel .case-study-card {
  position: relative;
  width: 100%;
  border-radius: 20px;
  overflow: hidden !important;

  cursor: grab;
  pointer-events: auto !important;
  touch-action: pan-y !important;
  user-select: none;
  -webkit-user-select: none;
}

.case-study-carousel .case-study-card:active {
  cursor: grabbing;
}


/* Full-size video */
.case-study-carousel .case-study-video,
.case-study-carousel .case-study-video > .elementor-widget-container,
.case-study-carousel .case-study-video .elementor-wrapper {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.case-study-carousel .case-study-video video,
.case-study-carousel .case-study-video .elementor-video {
  position: absolute !important;
  inset: 0 !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center;
}


/* Post title line height */
.case-study-carousel .case-study-title,
.case-study-carousel .case-study-title *,
.case-study-carousel .case-study-title .elementor-heading-title {
  line-height: 1.3 !important;
}


/* Prevent internal card layers from blocking drag or swipe */
.case-study-carousel .case-study-card video,
.case-study-carousel .case-study-card img,
.case-study-carousel .case-study-card picture,
.case-study-carousel .case-study-card svg,
.case-study-carousel .case-study-card .elementor-video,
.case-study-carousel .case-study-card .elementor-wrapper,
.case-study-carousel .case-study-card .elementor-widget-container,
.case-study-carousel .case-study-card .e-hosted-video,
.case-study-carousel .case-study-card .e-video,
.case-study-carousel .case-study-card .case-study-overlay,
.case-study-carousel .case-study-card .case-study-content,
.case-study-carousel .case-study-card .case-study-chips {
  pointer-events: none !important;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}


/* Pagination */
.case-study-carousel .swiper-pagination {
  bottom: 0.5rem !important;
  transform: translateX(-50%) translateY(-1.75rem) !important;
}

.case-study-carousel .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 6px !important;
  background: #c8c8c1;
  opacity: 1;
}

.case-study-carousel .swiper-pagination-bullet-active {
  background: #ff6400;
}


/* Arrows */
.case-study-carousel .elementor-swiper-button,
.case-study-carousel .swiper-button-prev,
.case-study-carousel .swiper-button-next {
  position: absolute !important;
  top: auto !important;
  bottom: 0.25rem !important;

  width: 40px;
  height: 40px;

  color: #222;

  display: flex;
  align-items: center;
  justify-content: center;
}


/* Next arrow at full right edge */
.case-study-carousel .elementor-swiper-button-next,
.case-study-carousel .swiper-button-next {
  left: auto !important;
  right: 0 !important;
}


/* Previous arrow beside next */
.case-study-carousel .elementor-swiper-button-prev,
.case-study-carousel .swiper-button-prev {
  left: auto !important;
  right: 40px !important;
}

.case-study-carousel .swiper-button-prev::after,
.case-study-carousel .swiper-button-next::after {
  font-size: 28px;
}


/* Touch devices */
@media (hover: none), (pointer: coarse) {

  .case-study-carousel .swiper,
  .case-study-carousel .swiper-wrapper,
  .case-study-carousel .swiper-slide,
  .case-study-carousel .case-study-card {
    touch-action: pan-y !important;
  }

  .case-study-carousel .swiper-wrapper {
    will-change: transform;
  }

  .case-study-carousel .case-study-card-hover:hover {
    box-shadow:
      0 16px 20px 0 rgba(0, 0, 0, 0.06);
  }
}


/* Tablet */
@media (max-width: 1024px) {

  .case-study-carousel {
    padding-bottom: clamp(1.5rem, 2.5vw, 2.75rem);
  }

  .case-study-carousel .swiper {
    padding-top: 16px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0;
  }

  .case-study-carousel .swiper-slide {
    width: clamp(280px, 45vw, 360px) !important;
  }

  .case-study-carousel .elementor-swiper-button,
  .case-study-carousel .swiper-button-prev,
  .case-study-carousel .swiper-button-next {
    display: none !important;
  }
}


/* Mobile */
@media (max-width: 767px) {

  /* Break out of site-width parent */
  .case-study-slider {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  .case-study-carousel {
    padding-bottom: clamp(2.75rem, 6vw, 3.5rem) !important;
  }

  /* Match BOCO mobile carousel spacing */
  .case-study-carousel .swiper {
    padding-top: 16px;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    padding-bottom: 0;
    overflow: visible !important;
    box-sizing: border-box;
  }

  .case-study-carousel .swiper-wrapper {
    gap: 0 !important;
    margin-left: 0 !important;
  }

  /* Mobile card sizing */
  .case-study-carousel .swiper-slide {
    width: calc(100vw - 3rem) !important;
    margin-right: 16px !important;
  }

  .case-study-carousel .swiper-slide > .e-loop-item,
  .case-study-carousel .swiper-slide > .elementor,
  .case-study-carousel .swiper-slide > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  .case-study-carousel .case-study-card {
    width: 100% !important;
  }

  .case-study-carousel .swiper-pagination {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;

    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 2rem !important;

    transform: translateX(-50%) translateY(0) !important;

    z-index: 20 !important;
    width: auto !important;
  }

  .case-study-carousel .swiper-pagination-bullet {
    display: block !important;
  }
}/* End custom CSS */
/* Start custom CSS */body {
  background-color: #e7e9e3;
  transition: background-color 0.6s ease;
}

body.bg-invert {
  background-color: #ffffff;
}


/* ========================================
   CAPABILITY FEATURE TILE
   ARROW HOVER INTERACTION
   ======================================== */

/* Desktop */

@media (hover: hover) and (pointer: fine) {

  .cap-feature-tile .cap-feature-arrow {
    opacity: 0;
    transform: translate3d(-8px, 0, 0);

    transition:
      opacity .35s cubic-bezier(.16, 1, .3, 1),
      transform .5s cubic-bezier(.16, 1, .3, 1);
  }

  .cap-feature-tile:hover .cap-feature-arrow,
  .cap-feature-tile:focus-within .cap-feature-arrow {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

}

/* Tablet and Mobile / Touch */

@media (hover: none), (pointer: coarse) {

  .cap-feature-tile .cap-feature-arrow {
    opacity: 1;
    transform: none;
  }

}

/* Accessibility */

.cap-feature-tile:focus-within .cap-feature-arrow {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {

  .cap-feature-tile .cap-feature-arrow {
    transition: none;
    transform: none;
  }

}



/* Fun Button Off Canvas */

/* ===== Insights off-canvas ===== */

/* Off-canvas lives inside the hero and scrolls away with it */
.elementor-element-4733083{ position:absolute; inset:0; z-index:20; pointer-events:none; }
#off-canvas-4733083{ position:absolute; inset:0; z-index:auto; pointer-events:auto; }

/* Fun button sits above the panel so it can close it */
.elementor-element-bbad3de{ z-index:30; }

/* Snappier slide: travel ~panel width, ease-out (exit reverses automatically) */
#off-canvas-4733083 .e-off-canvas__main.animated.slideInRight{
  animation-name:bocoOcSlide; animation-duration:.42s;
  animation-timing-function:cubic-bezier(.22,1,.36,1);
}
@keyframes bocoOcSlide{
  from{ transform:translate3d(360px,0,0); opacity:0; }
  to{ transform:none; opacity:1; }
}



/* Sizing tokens */
#off-canvas-4733083 {
   --oc-w: clamp(280px, 21vw, 340px);  /* was clamp(300px, 24vw, 380px) */
  /* width scales with screen, capped */
  --oc-top: 10px;     /* clears the floating header */
  --oc-bottom: 250px;  /* clears the "New Insights" button */
  --oc-bg: #FAFBFA;
}

/* Panel docked to the right edge */
#off-canvas-4733083 .e-off-canvas__main { align-items: flex-start; }

#off-canvas-4733083 .e-off-canvas__content {
  --e-off-canvas-width: var(--oc-w);
  width: var(--oc-w);
  height: auto;
  max-height: calc(100dvh - var(--oc-top) - var(--oc-bottom));
  margin: var(--oc-top) 0 0 0;
  padding: 0;
  border-radius: 20px 0 0 20px;           /* left corners only */
  background: var(--oc-bg);
  box-shadow:
    -12px 16px 48px rgba(0,0,0,.18),      /* big soft spread */
    -2px 4px 12px rgba(0,0,0,.08);        /* tight contact shadow */
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
#off-canvas-4733083 .e-off-canvas__content::-webkit-scrollbar { display: none; }

/* Remove the blue focus ring */
#off-canvas-4733083 .e-off-canvas__content:focus,
#off-canvas-4733083 .e-off-canvas__content:focus-visible { outline: none; }

/* Bottom fade: signals more content */
#off-canvas-4733083 .e-off-canvas__content::after {
  content: "";
  position: sticky;
  bottom: 0;
  z-index: 1000;          /* inner container sits at z-index 999 */
  display: block;
  height: 96px;
  margin-top: -96px;
  pointer-events: none;   /* cards underneath stay clickable */
  background: linear-gradient(to bottom, rgba(250,251,250,0) 0%, var(--oc-bg) 99%);
}
/* Fade disappears once you scroll to the last card (modern browsers) */
@supports (animation-timeline: scroll()) {
  #off-canvas-4733083 .e-off-canvas__content::after {
    animation: oc-fade-out linear both;
    animation-timeline: scroll(nearest block);
    animation-range: calc(100% - 120px) 100%;
  }
}
@keyframes oc-fade-out { to { opacity: 0; } }

/* Inner spacing */
#off-canvas-4733083 .e-off-canvas__content > .e-con { padding: 12px 12px 32px; }
#off-canvas-4733083 .elementor-loop-container { gap: 16px; }

/* Cards */
#off-canvas-4733083 .blog-card {
  padding: 8px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease;
}
#off-canvas-4733083 .blog-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}
#off-canvas-4733083 .blog-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 12px;
}
#off-canvas-4733083 .blog-card > .e-con:last-child {
  padding: 12px 4px 6px;
  gap: 8px;
}
#off-canvas-4733083 .blog-card .elementor-heading-title {
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.3;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Arrow: push right + sit on the text baseline */
#off-canvas-4733083 .card-arrow {
  min-width: 0;
  width: auto;               /* was a fixed 30px box with the arrow centered */
  justify-content: flex-end;
  margin-left: 12px;         /* breathing room from the "…" */
  margin-right: -4px;        /* nudge closer to the card edge */
}
#off-canvas-4733083 .card-arrow .e-svg-base {
  position: relative;
  top: -0.2em;               /* lifts it onto the text baseline */
}

#off-canvas-4733083 .blog-card .e-svg-base {
  font-size: clamp(14px, 1vw, 16px);  /* same as the title */
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
}
#off-canvas-4733083 .blog-card .e-svg-base svg {
  width: 100%;
  height: 100%;
}


/* Tablet */
@media (max-width: 1024px) {
  #off-canvas-4733083 { --oc-w: 35vw; --oc-top: 112px; }
}
/* Mobile: nearly full width, still docked right */
@media (max-width: 767px) {
  #off-canvas-4733083 { --oc-w: 50vw; --oc-top: 96px; --oc-bottom: 104px; }
}
/* Short laptop screens */
@media (max-height: 700px) {
  #off-canvas-4733083 { --oc-top: 96px; --oc-bottom: 96px; }
}


/* Homepage "Where leading brands come to grow": balanced logo sizes */
.elementor .partner-logo-strip .logo-item { width: auto; }

/* Row 1 */
.elementor .partner-logo-strip .logo-item[src*="ameriprise_logo"]        { height: 35px; }
.elementor .partner-logo-strip .logo-item[src*="Banfield-logo"]          { height: 28px; }
.elementor .partner-logo-strip .logo-item[src*="anytimefitness_logo"]    { height: 28px; }
.elementor .partner-logo-strip .logo-item[src*="ScottsMiracleGro_Logo"]  { height: 22px; }
.elementor .partner-logo-strip .logo-item[src*="Generac-Logo"]           { height: 25px; }
.elementor .partner-logo-strip .logo-item[src*="cariboucoffee_logo"]     { height: 31px; }
.elementor .partner-logo-strip .logo-item[src*="BEHR_Logo"]              { height: 26px; }
.elementor .partner-logo-strip .logo-item[src*="bestbuy_logo"]           { height: 40px; }
.elementor .partner-logo-strip .logo-item[src*="caterpillar_logo"]       { height: 23px; }
.elementor .partner-logo-strip .logo-item[src*="binks_logo"]             { height: 26px; }
.elementor .partner-logo-strip .logo-item[src*="ebay_logo"]              { height: 33px; }
.elementor .partner-logo-strip .logo-item[src*="bostonscientific_logo"]  { height: 33px; }
.elementor .partner-logo-strip .logo-item[src*="cambria_logo"]           { height: 27px; }

/* Row 2 */
.elementor .partner-logo-strip .logo-item[src*="andersen_logo"]          { height: 22px; }
.elementor .partner-logo-strip .logo-item[src*="greatclips_logo"]        { height: 24px; }
.elementor .partner-logo-strip .logo-item[src*="intuit_logo"]            { height: 23px; }
.elementor .partner-logo-strip .logo-item[src*="KwikTrip_Logo"]          { height: 22px; }
.elementor .partner-logo-strip .logo-item[src*="Nerdwallet_Logo"]        { height: 23px; }
.elementor .partner-logo-strip .logo-item[src*="onepass_logo"]           { height: 28px; }
.elementor .partner-logo-strip .logo-item[src*="polaris_logo"]           { height: 17px; }
.elementor .partner-logo-strip .logo-item[src*="redwing_logo"]           { height: 39px; }
.elementor .partner-logo-strip .logo-item[src*="toro_logo"]              { height: 38px; }
.elementor .partner-logo-strip .logo-item[src*="watkinswellness_logo"]   { height: 30px; }
.elementor .partner-logo-strip .logo-item[src*="wex_logo"]               { height: 27px; }
.elementor .partner-logo-strip .logo-item[src*="/sps."]                  { height: 33px; }
.elementor .partner-logo-strip .logo-item[src*="WPS_Logo"]               { height: 36px; }
.elementor .partner-logo-strip .logo-item[src*="StrategicEd_Logo"]       { height: 35px; }/* End custom CSS */