{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/UIrMjSS6ZX89L0CsT8k6/w90zR0qzeh1mgaDSvD54/Carousel.js", "ssg:https://ga.jspm.io/npm:@motionone/utils@10.12.0/dist/index.es.js", "ssg:https://framerusercontent.com/modules/m0wu5rwT1GGOR02psI5Q/BoIMPAtsk6DEBx0SzQYE/PQUjQGsDQ.js"],
  "sourcesContent": ["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Children, useCallback, useLayoutEffect, useEffect, useState, useRef, cloneElement } from \"react\";\nimport { addPropertyControls, ControlType, RenderTarget } from \"framer\";\nimport { scroll, resize } from \"@motionone/dom\";\nimport { clamp, progress } from \"@motionone/utils\";\nimport { animate, motion, useMotionValue, useTransform, useReducedMotion } from \"framer-motion\";\nimport { usePadding, paddingControl } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\"; /**\n                                                                                                   * Calculate the width of the fade mask. Fade width and inset are provided\n                                                                                                   * as percentages. There's a fade on the left and the right, so we return\n                                                                                                   * a maximum of 50%.\n                                                                                                   */\nfunction calcMaskWidth([inset, width]) {\n  return inset + (100 - inset) * (width / 100) * .5;\n} /**\n  * Use media queries to determine if this device uses a mouse as\n  * the primary input.\n  */\nfunction useIsMouse() {\n  const [isMouseDevice, setIsMouseDevice] = useState(false);\n  useLayoutEffect(() => {\n    setIsMouseDevice(window.matchMedia(\"(pointer:fine)\").matches);\n  }, []);\n  return isMouseDevice;\n} /**\n  * This checks a scroll position against the available scrollable\n  * range. If we have hit an edge, start/end, we fade out the pagination\n  * controls and mask. Likewise if we've just moved away from an edge we\n  * fade them back in.\n  */\nfunction checkLimit(progress, target, {\n  edgeOpacity,\n  moreItems,\n  buttonRef\n}, transition) {\n  if (moreItems.current && progress === target) {\n    moreItems.current = false;\n    animate(edgeOpacity, 1, transition);\n    buttonRef.current.setAttribute(\"disabled\", \"\");\n  } else if (!moreItems.current && progress !== target) {\n    moreItems.current = true;\n    animate(edgeOpacity, 0, transition);\n    buttonRef.current.removeAttribute(\"disabled\");\n  }\n}\nfunction useGUI(initialMoreItems, initialAlpha) {\n  const moreItems = useRef(initialMoreItems);\n  const edgeOpacity = useMotionValue(moreItems.current ? 0 : 1);\n  const fadeOpacity = useTransform(edgeOpacity, [0, 1], [initialAlpha || 0, 1]);\n  const buttonOpacity = useTransform(edgeOpacity, v => 1 - v);\n  const buttonRef = useRef(null); /**\n                                  * Returns a pointer-events CSS value for a given opacity.\n                                  * The threshold here is arbitrary, the theory being we\n                                  * should only enable pointer-events when the button is\n                                  * somewhat visible.\n                                  */\n  const pointerEvents = useTransform(buttonOpacity, v => v > .2 ? \"auto\" : \"none\"); /**\n                                                                                    * Returns a cursor CSS value for a given pointer-events value.\n                                                                                    * So only indicate\n                                                                                    */\n  const cursor = useTransform(pointerEvents, v => v === \"auto\" ? \"pointer\" : \"default\");\n  const buttonStyle = {\n    ...baseButtonStyles,\n    opacity: buttonOpacity,\n    pointerEvents,\n    cursor\n  };\n  return {\n    moreItems,\n    fadeOpacity,\n    edgeOpacity,\n    buttonStyle,\n    buttonRef\n  };\n}\nfunction setAriaVisible({\n  element\n}) {\n  element.setAttribute(\"aria-hidden\", false);\n}\nfunction useScrollLimits(container, axis, scrollInfo, updateCurrentScroll, targetScroll, checkLimits, measureItems) {\n  useEffect(() => {\n    if (!container.current) return;\n    const updateScrollInfo = info => {\n      scrollInfo.current = info[axis]; /**\n                                       * If we've reached our target scroll, delete it.\n                                       * This way we know when to make calculations based on the\n                                       * actual current scroll or the target scroll.\n                                       */\n      if (info[axis].current === targetScroll.current) {\n        targetScroll.current = undefined;\n      }\n      updateCurrentScroll(info[axis].current);\n      checkLimits();\n    };\n    const stopScroll = scroll(updateScrollInfo, {\n      container: container.current,\n      axis\n    });\n    const stopResize = resize(container.current, () => {\n      measureItems();\n      checkLimits();\n    });\n    return () => {\n      stopScroll();\n      stopResize();\n    };\n  }, [checkLimits, measureItems]);\n} /**\n  *\n  * @framerIntrinsicWidth 400\n  * @framerIntrinsicHeight 200\n  *\n  * @framerDisableUnlink\n  *\n  * @framerSupportedLayoutWidth any-prefer-fixed\n  * @framerSupportedLayoutHeight any-prefer-fixed\n  */\nexport default function Carousel({\n  slots,\n  gap,\n  axis,\n  align,\n  sizingObject,\n  fadeObject,\n  arrowObject,\n  snapObject,\n  progressObject,\n  ariaLabel,\n  borderRadius,\n  effectsObject,\n  ...props\n}) {\n  const numItems = Children.count(slots);\n  const isCanvas = RenderTarget.current() === RenderTarget.canvas;\n  const padding = usePadding(props);\n  const axisLabel = axis ? \"x\" : \"y\";\n  const {\n    fadeContent,\n    fadeWidth,\n    fadeInset,\n    fadeTransition,\n    fadeAlpha\n  } = fadeObject;\n  const {\n    snap,\n    snapEdge,\n    fluid\n  } = snapObject;\n  const {\n    widthType,\n    widthInset,\n    widthColumns,\n    heightType,\n    heightInset,\n    heightRows\n  } = sizingObject;\n  const {\n    showScrollbar,\n    showProgressDots,\n    dotSize,\n    dotsInset,\n    dotsRadius,\n    dotsPadding,\n    dotsGap,\n    dotsFill,\n    dotsBackground,\n    dotsActiveOpacity,\n    dotsOpacity,\n    dotsBlur\n  } = progressObject;\n  const {\n    showMouseControls,\n    arrowSize,\n    arrowRadius,\n    arrowFill,\n    leftArrow,\n    rightArrow,\n    arrowPadding\n  } = arrowObject; /**\n                   * The latest scroll info on the scrollable axis as reported by Motion One.\n                   */\n  const scrollInfo = useRef(undefined); /**\n                                        * The target scroll we're currently animating to, calculated when\n                                        * a user presses a pagination button.\n                                        */\n  const targetScroll = useRef(undefined); /**\n                                          * If we're performing a scroll animation, return the target scroll instead\n                                          * of the latest scroll position. This will help users paginate through\n                                          * a carousel much quicker.\n                                          */\n  const currentScroll = useMotionValue(0);\n  const updateCurrentScroll = newScroll => {\n    currentScroll.set(targetScroll.current !== undefined ? targetScroll.current : newScroll);\n  }; /**\n     * We only want to display pagination buttons if the user has enabled the setting\n     * and this is actually a mouse device.\n     */\n  const isMouseDevice = useIsMouse(); /**\n                                      * Create all the motion values for the GUI at each end of the carousel.\n                                      */\n  const start = useGUI(false, fadeAlpha);\n  const end = useGUI(true, fadeAlpha);\n  const startMaskInset = useMotionValue(fadeInset * .5);\n  const endMaskInset = useTransform(startMaskInset, v => 100 - v);\n  const baseWidth = useMotionValue(fadeWidth);\n  const startMaskWidth = useTransform([startMaskInset, baseWidth], calcMaskWidth);\n  const endMaskWidth = useTransform(startMaskWidth, v => 100 - v);\n  const direction = useMotionValue(axis ? \"right\" : \"bottom\");\n  const mask = useTransform([direction, start.fadeOpacity, startMaskInset, startMaskWidth, end.fadeOpacity, endMaskInset, endMaskWidth], latest => {\n    return `linear-gradient(to ${latest[0]}, rgb(0, 0, 0, ${latest[1]}) ${latest[2]}%, rgb(0, 0, 0, 1) ${latest[3]}%, rgba(0, 0, 0, 1) ${latest[6]}%, rgb(0, 0, 0, ${latest[4]}) ${latest[5]}%)`;\n  });\n  const carouselRef = useRef(null); /**\n                                    * Dots state\n                                    */\n  const [numPages, setNumPages] = useState(isCanvas ? 4 : 1); /**\n                                                              * Generate styles for components.\n                                                              */\n  const itemStyle = {\n    scrollSnapAlign: snapEdge,\n    flexShrink: 0\n  };\n  const childStyle = {};\n  if (align === \"stretch\") {\n    if (axis) {\n      childStyle.height = \"100%\";\n      itemStyle.height = \"auto\";\n    } else {\n      childStyle.width = \"100%\";\n      itemStyle.width = \"auto\";\n    }\n  }\n  if (!fluid) {\n    itemStyle.scrollSnapStop = \"always\";\n  }\n  if (widthType === \"stretch\") {\n    itemStyle.width = `calc(100% - ${widthInset || 0}px)`;\n    childStyle.width = \"100%\";\n  } else if (widthType === \"columns\") {\n    itemStyle.width = `calc(${100 / widthColumns}% - ${gap}px + ${gap / widthColumns}px)`;\n    childStyle.width = \"100%\";\n  }\n  if (heightType === \"stretch\") {\n    itemStyle.height = `calc(100% - ${heightInset || 0}px)`;\n    childStyle.height = \"100%\";\n  } else if (heightType === \"rows\") {\n    itemStyle.height = `calc(${100 / heightRows}% - ${gap}px + ${gap / heightRows}px)`;\n    childStyle.height = \"100%\";\n  }\n  const scrollOverflow = isCanvas ? \"hidden\" : \"auto\";\n  const containerStyle = {\n    ...baseContainerStyle,\n    padding\n  };\n  const carouselStyle = {\n    ...baseCarouselStyle,\n    gap,\n    alignItems: align,\n    flexDirection: axis ? \"row\" : \"column\",\n    overflowX: axis ? scrollOverflow : \"hidden\",\n    overflowY: axis ? \"hidden\" : scrollOverflow,\n    scrollSnapType: snap ? `${axisLabel} mandatory` : undefined,\n    WebkitOverflowScrolling: \"touch\",\n    WebkitMaskImage: fadeContent ? mask : undefined,\n    MozMaskImage: fadeContent ? mask : undefined,\n    maskImage: fadeContent ? mask : undefined,\n    borderRadius\n  };\n  const carouselA11y = {\n    [\"aria-roledescription\"]: \"carousel\"\n  };\n  if (ariaLabel) {\n    carouselA11y[\"aria-title\"] = ariaLabel;\n  }\n  const itemA11y = {};\n  if (align === \"stretch\") {\n    itemA11y[\"aria-role\"] = \"group\";\n    itemA11y[\"aria-roledescription\"] = \"slide\";\n  }\n  if (!isCanvas) {\n    const itemSizes = useRef([]);\n    useScrollLimits(carouselRef, axisLabel, scrollInfo, updateCurrentScroll, targetScroll, useCallback(() => {\n      if (!scrollInfo.current) return;\n      const {\n        targetLength,\n        containerLength,\n        scrollLength\n      } = scrollInfo.current;\n      const current = currentScroll.get();\n      if (!targetLength && !containerLength) return;\n      if (targetLength > containerLength) {\n        checkLimit(current, 0, start, fadeTransition);\n        checkLimit(current, scrollLength, end, fadeTransition);\n        for (let i = 0; i < itemSizes.current.length; i++) {\n          const {\n            element,\n            start: start1,\n            end: end1\n          } = itemSizes.current[i];\n          if (end1 < current || start1 > current + containerLength) {\n            element.setAttribute(\"aria-hidden\", true);\n          } else {\n            element.setAttribute(\"aria-hidden\", false);\n          }\n        }\n      } else {\n        checkLimit(0, 0, start, fadeTransition);\n        checkLimit(1, 1, end, fadeTransition);\n        itemSizes.current.forEach(setAriaVisible);\n      } // This used to be Math.ceil, which would round 3.05 to 4.\n      // This now uses Math.round to ensure people get a perfect amount of dots\n      // when using Columns or Rows \u2014\u00A0Benjamin\n      /**\n                       * Update by Matt: changing back to ceil, might break dots but round was incorrectly\n                       * paginating for all widths - overshooting items at shorter viewports and\n                       * not paginating at all for wide.\n                       */\n      let newNumPages = Math.ceil(targetLength / containerLength);\n      if (!isNaN(newNumPages)) {\n        // If the number of dots is 65% of the number of items, make it 100%\n        if (newNumPages / numItems > .65) newNumPages = numItems;\n        if (newNumPages !== numPages) setNumPages(newNumPages);\n      }\n    }, [numPages]), useCallback(() => {\n      if (!carouselRef.current) return;\n      itemSizes.current = Array.from(carouselRef.current.children).map(element => {\n        return axis ? {\n          element,\n          start: element.offsetLeft,\n          end: element.offsetLeft + element.offsetWidth\n        } : {\n          element,\n          start: element.offsetTop,\n          end: element.offsetTop + element.offsetHeight\n        };\n      });\n    }, []));\n  } /**\n    * On the canvas, we want to keep the motion values updated\n    * with the latest props. Outside of the canvas these will never\n    * update.\n    */\n  if (isCanvas) {\n    useEffect(() => {\n      baseWidth.set(fadeWidth);\n    }, [fadeWidth]);\n    useEffect(() => {\n      startMaskInset.set(fadeInset * .5);\n    }, [fadeInset]);\n    useEffect(() => {\n      direction.set(axis ? \"right\" : \"bottom\");\n    }, [axis]);\n  }\n  const findNextItem = (delta, target) => {\n    if (!scrollInfo.current) return;\n    const {\n      current\n    } = scrollInfo.current;\n    const {\n      children\n    } = carouselRef.current;\n    let scrollTarget;\n    let i = delta === 1 ? 0 : children.length - 1;\n    while (scrollTarget === undefined) {\n      const item = children[i];\n      const start = axis ? item.offsetLeft : item.offsetTop;\n      const length = axis ? item.offsetWidth : item.offsetHeight;\n      const end = start + length;\n      const threshold = .05;\n      if (delta === 1) {\n        const visibility = progress(start, end, target);\n        if (visibility < 1 - threshold) {\n          scrollTarget = start;\n        } else if (i === children.length - 1) {\n          scrollTarget = end;\n        }\n      } else if (delta === -1) {\n        const visibility1 = progress(start, end, target);\n        if (visibility1 > threshold) {\n          scrollTarget = end;\n        } else if (i === 0) {\n          scrollTarget = start;\n        }\n      }\n      i += delta;\n    }\n    return scrollTarget;\n  };\n  const isReducedMotion = useReducedMotion();\n  const goto = scrollTo => {\n    targetScroll.current = scrollTo;\n    const options = axis ? {\n      left: scrollTo\n    } : {\n      top: scrollTo\n    };\n    carouselRef.current.scrollTo({\n      ...options,\n      behavior: isReducedMotion ? \"auto\" : \"smooth\"\n    });\n  };\n  const gotoPage = page => {\n    if (!scrollInfo.current) return;\n    const {\n      scrollLength\n    } = scrollInfo.current;\n    goto(page * (scrollLength / (numPages - 1)));\n  };\n  const gotoDelta = delta => () => {\n    if (!scrollInfo.current) return;\n    const {\n      containerLength,\n      scrollLength\n    } = scrollInfo.current;\n    const current = currentScroll.get();\n    const pageLength = scrollLength / numPages;\n    const currentPage = clamp(0, numPages - 1, Math.floor(current / pageLength));\n    gotoPage(currentPage + delta);\n  }; /**\n     * Return placeholder if no children\n     */\n  if (numItems === 0) {\n    return /*#__PURE__*/_jsx(Placeholder, {});\n  }\n  const dots = [];\n  const dotsBlurStyle = {};\n  if (numPages > 1 && showProgressDots && !showScrollbar) {\n    for (let i = 0; i < numPages; i++) {\n      const isSelected = isCanvas && !i || false;\n      dots.push( /*#__PURE__*/_jsx(Dot, {\n        dotStyle: {\n          ...dotStyle,\n          width: dotSize,\n          height: dotSize,\n          backgroundColor: dotsFill\n        },\n        buttonStyle: baseButtonStyles,\n        isSelected: isSelected,\n        selectedOpacity: dotsActiveOpacity,\n        opacity: dotsOpacity,\n        onClick: () => gotoPage(i),\n        currentScroll: currentScroll,\n        scrollInfo: scrollInfo,\n        total: numPages,\n        index: i,\n        gap: dotsGap,\n        padding: dotsPadding,\n        axis: axis\n      }));\n    }\n    if (dotsBlur) {\n      dotsBlurStyle.backdropFilter = dotsBlurStyle.WebkitBackdropFilter = dotsBlurStyle.MozBackdropFilter = `blur(${dotsBlur}px)`;\n    }\n  }\n  return /*#__PURE__*/_jsxs(\"section\", {\n    style: containerStyle,\n    ...carouselA11y,\n    children: [/*#__PURE__*/_jsx(motion.ul, {\n      ref: carouselRef,\n      style: carouselStyle,\n      className: \"framer--carousel\",\n      \"data-show-scrollbar\": showScrollbar,\n      \"aria-atomic\": \"false\",\n      \"aria-live\": \"polite\",\n      onWheel: () => targetScroll.current = undefined,\n      children: Children.map(slots, (child, index) => {\n        var ref; /*#__PURE__*/\n        return _jsx(\"li\", {\n          style: itemStyle,\n          ...itemA11y,\n          \"aria-label\": `${index + 1} of ${numItems}`,\n          children: /*#__PURE__*/cloneElement(child, {\n            ...child.props,\n            style: {\n              ...((ref = child.props) === null || ref === void 0 ? void 0 : ref.style),\n              ...childStyle\n            }\n          })\n        });\n      })\n    }), /*#__PURE__*/_jsxs(\"fieldset\", {\n      style: {\n        ...controlsStyles,\n        padding: arrowPadding,\n        display: \"flex\",\n        flexDirection: axis ? \"row\" : \"column\"\n      },\n      \"aria-label\": \"Carousel pagination controls\",\n      className: \"framer--carousel-controls\",\n      \"data-show-mouse-controls\": showMouseControls,\n      children: [/*#__PURE__*/_jsx(motion.button, {\n        ref: start.buttonRef,\n        type: \"button\",\n        style: {\n          ...start.buttonStyle,\n          backgroundColor: arrowFill,\n          width: arrowSize,\n          height: arrowSize,\n          borderRadius: arrowRadius,\n          rotate: !axis ? 90 : 0,\n          display: showMouseControls ? \"block\" : \"none\"\n        },\n        onClick: gotoDelta(-1),\n        \"aria-label\": \"Previous\",\n        whileTap: {\n          scale: .9\n        },\n        transition: {\n          duration: .05\n        },\n        children: /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          width: arrowSize,\n          height: arrowSize,\n          src: leftArrow || \"https://framerusercontent.com/images/6tTbkXggWgQCAJ4DO2QEdXXmgM.svg\"\n        })\n      }), /*#__PURE__*/_jsx(motion.button, {\n        ref: end.buttonRef,\n        type: \"button\",\n        style: {\n          ...end.buttonStyle,\n          backgroundColor: arrowFill,\n          width: arrowSize,\n          height: arrowSize,\n          borderRadius: arrowRadius,\n          rotate: !axis ? 90 : 0,\n          display: showMouseControls ? \"block\" : \"none\"\n        },\n        onClick: gotoDelta(1),\n        \"aria-label\": \"Next\",\n        whileTap: {\n          scale: .9\n        },\n        transition: {\n          duration: .05\n        },\n        children: /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          width: arrowSize,\n          height: arrowSize,\n          src: rightArrow || \"https://framerusercontent.com/images/11KSGbIZoRSg4pjdnUoif6MKHI.svg\"\n        })\n      }), dots.length > 1 ? /*#__PURE__*/_jsx(\"div\", {\n        style: {\n          ...dotsContainerStyle,\n          left: axis ? \"50%\" : dotsInset,\n          top: !axis ? \"50%\" : \"unset\",\n          transform: axis ? \"translateX(-50%)\" : \"translateY(-50%)\",\n          flexDirection: axis ? \"row\" : \"column\",\n          bottom: axis ? dotsInset : \"unset\",\n          borderRadius: dotsRadius,\n          backgroundColor: dotsBackground,\n          ...dotsBlurStyle\n        },\n        children: dots\n      }) : null]\n    }), /*#__PURE__*/_jsx(MouseStyles, {})]\n  });\n}\n; /* Default Properties */\nCarousel.defaultProps = {\n  gap: 10,\n  padding: 10,\n  progressObject: {\n    showScrollbar: false,\n    showProgressDots: false\n  },\n  sizingObject: {\n    widthType: \"auto\",\n    widthOffset: 0,\n    widthColumns: 2,\n    heightType: \"auto\",\n    heightOffset: 0,\n    heightRows: 2\n  },\n  borderRadius: 0\n}; /* Property Controls */\naddPropertyControls(Carousel, {\n  slots: {\n    type: ControlType.Array,\n    title: \"Children\",\n    control: {\n      type: ControlType.ComponentInstance\n    }\n  },\n  axis: {\n    type: ControlType.Enum,\n    title: \"Direction\",\n    options: [true, false],\n    optionIcons: [\"direction-horizontal\", \"direction-vertical\"],\n    displaySegmentedControl: true\n  },\n  align: {\n    type: ControlType.Enum,\n    title: \"Align\",\n    options: [\"flex-start\", \"center\", \"flex-end\"],\n    optionIcons: {\n      axis: {\n        true: [\"align-top\", \"align-middle\", \"align-bottom\"],\n        false: [\"align-left\", \"align-center\", \"align-right\"]\n      }\n    },\n    defaultValue: \"center\",\n    displaySegmentedControl: true\n  },\n  gap: {\n    type: ControlType.Number,\n    title: \"Gap\"\n  },\n  ...paddingControl,\n  sizingObject: {\n    type: ControlType.Object,\n    title: \"Sizing\",\n    controls: {\n      widthType: {\n        type: ControlType.Enum,\n        title: \"Width\",\n        options: [\"auto\", \"stretch\", \"columns\"],\n        optionTitles: [\"Auto\", \"Stretch\", \"Columns\"],\n        defaultValue: \"auto\"\n      },\n      widthInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        min: 0,\n        max: 500,\n        defaultValue: 0,\n        hidden: props => props.widthType !== \"stretch\"\n      },\n      widthColumns: {\n        type: ControlType.Number,\n        title: \"Columns\",\n        min: 1,\n        max: 10,\n        defaultValue: 2,\n        displayStepper: true,\n        hidden: props => props.widthType !== \"columns\"\n      },\n      heightType: {\n        type: ControlType.Enum,\n        title: \"Height\",\n        options: [\"auto\", \"stretch\", \"rows\"],\n        optionTitles: [\"Auto\", \"Stretch\", \"Rows\"],\n        defaultValue: \"auto\"\n      },\n      heightInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        min: 0,\n        max: 500,\n        defaultValue: 0,\n        hidden: props => props.heightType !== \"stretch\"\n      },\n      heightRows: {\n        type: ControlType.Number,\n        title: \"Rows\",\n        min: 1,\n        max: 10,\n        defaultValue: 2,\n        displayStepper: true,\n        hidden: props => props.heightType !== \"rows\"\n      }\n    }\n  },\n  snapObject: {\n    type: ControlType.Object,\n    title: \"Snapping\",\n    controls: {\n      snap: {\n        type: ControlType.Boolean,\n        title: \"Enable\"\n      },\n      snapEdge: {\n        type: ControlType.Enum,\n        title: \"Edge\",\n        options: [\"start\", \"center\", \"end\"],\n        optionTitles: [\"Left\", \"Center\", \"Right\"],\n        defaultValue: \"center\",\n        hidden: props => !props.snap\n      },\n      fluid: {\n        type: ControlType.Boolean,\n        title: \"Fluid\",\n        defaultValue: false,\n        hidden: props => !props.snap\n      }\n    }\n  },\n  fadeObject: {\n    type: ControlType.Object,\n    title: \"Fading\",\n    controls: {\n      fadeContent: {\n        type: ControlType.Boolean,\n        title: \"Enable\",\n        defaultValue: false\n      },\n      fadeWidth: {\n        type: ControlType.Number,\n        title: \"Width\",\n        defaultValue: 25,\n        min: 0,\n        max: 100,\n        unit: \"%\",\n        hidden: props => !props.fadeContent\n      },\n      fadeInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        defaultValue: 0,\n        min: 0,\n        max: 100,\n        unit: \"%\",\n        hidden: props => !props.fadeContent\n      },\n      fadeAlpha: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        hidden: props => !props.fadeContent,\n        min: 0,\n        max: 1,\n        step: .05,\n        defaultValue: 0\n      },\n      fadeTransition: {\n        type: ControlType.Transition,\n        title: \"Transition\",\n        hidden: props => !props.fadeContent\n      }\n    }\n  },\n  progressObject: {\n    type: ControlType.Object,\n    title: \"Progress\",\n    controls: {\n      showScrollbar: {\n        type: ControlType.Boolean,\n        title: \"Scroll Bar\",\n        defaultValue: false\n      },\n      showProgressDots: {\n        type: ControlType.Boolean,\n        title: \"Dots\",\n        defaultValue: false,\n        hidden: props => props.showScrollbar\n      },\n      dotSize: {\n        type: ControlType.Number,\n        title: \"Size\",\n        min: 1,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsGap: {\n        type: ControlType.Number,\n        title: \"Gap\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsPadding: {\n        type: ControlType.Number,\n        title: \"Padding\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsFill: {\n        type: ControlType.Color,\n        title: \"Fill\",\n        defaultValue: \"#fff\",\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsBackground: {\n        type: ControlType.Color,\n        title: \"Backdrop\",\n        defaultValue: \"rgba(0,0,0,0.2)\",\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsRadius: {\n        type: ControlType.Number,\n        title: \"Radius\",\n        min: 0,\n        max: 200,\n        defaultValue: 50,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsOpacity: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        min: 0,\n        max: 1,\n        defaultValue: .5,\n        step: .1,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsActiveOpacity: {\n        type: ControlType.Number,\n        title: \"Current\",\n        min: 0,\n        max: 1,\n        defaultValue: 1,\n        step: .1,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsBlur: {\n        type: ControlType.Number,\n        title: \"Blur\",\n        min: 0,\n        max: 50,\n        defaultValue: 4,\n        step: 1,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      }\n    }\n  },\n  arrowObject: {\n    type: ControlType.Object,\n    title: \"Arrows\",\n    controls: {\n      showMouseControls: {\n        type: ControlType.Boolean,\n        title: \"Show\",\n        defaultValue: true\n      },\n      arrowFill: {\n        type: ControlType.Color,\n        title: \"Fill\",\n        defaultValue: \"rgba(0,0,0,0.2)\",\n        hidden: props => !props.showMouseControls\n      },\n      leftArrow: {\n        type: ControlType.Image,\n        title: \"Previous\",\n        hidden: props => !props.showMouseControls\n      },\n      rightArrow: {\n        type: ControlType.Image,\n        title: \"Next\",\n        hidden: props => !props.showMouseControls\n      },\n      arrowSize: {\n        type: ControlType.Number,\n        title: \"Size\",\n        min: 0,\n        max: 200,\n        displayStepper: true,\n        defaultValue: 40,\n        hidden: props => !props.showMouseControls\n      },\n      arrowRadius: {\n        type: ControlType.Number,\n        title: \"Radius\",\n        min: 0,\n        max: 500,\n        defaultValue: 40,\n        hidden: props => !props.showMouseControls\n      },\n      arrowPadding: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        min: 0,\n        max: 100,\n        defaultValue: 20,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls\n      }\n    }\n  },\n  ariaLabel: {\n    type: ControlType.String,\n    title: \"Aria Label\",\n    placeholder: \"Movies...\"\n  },\n  borderRadius: {\n    type: ControlType.Number,\n    title: \"Radius\",\n    min: 0,\n    max: 500,\n    displayStepper: true,\n    defaultValue: 0\n  }\n});\nfunction Dot({\n  currentScroll,\n  scrollInfo,\n  isSelected,\n  selectedOpacity,\n  opacity: unselectedOpacity,\n  total,\n  index,\n  dotStyle,\n  buttonStyle,\n  gap,\n  padding,\n  axis,\n  ...props\n}) {\n  const opacity = useTransform(currentScroll, v => {\n    var ref, ref1;\n    if (!((ref = scrollInfo.current) === null || ref === void 0 ? void 0 : ref.scrollLength)) {\n      return index === 0 ? selectedOpacity : unselectedOpacity;\n    }\n    const pageLength = ((ref1 = scrollInfo.current) === null || ref1 === void 0 ? void 0 : ref1.scrollLength) / total;\n    const minScroll = pageLength * index;\n    const maxScroll = minScroll + pageLength;\n    const isSelected = v >= minScroll && (index < total - 1 ? v < maxScroll : index === total - 1);\n    return isSelected ? selectedOpacity : unselectedOpacity;\n  });\n  const inlinePadding = gap / 2;\n  let top = !axis && index > 0 ? inlinePadding : padding;\n  let bottom = !axis && index !== total - 1 ? inlinePadding : padding;\n  let right = axis && index !== total - 1 ? inlinePadding : padding;\n  let left = axis && index > 0 ? inlinePadding : padding;\n  return /*#__PURE__*/_jsx(\"button\", {\n    \"aria-label\": `Scroll to page ${index + 1}`,\n    type: \"button\",\n    ...props,\n    style: {\n      ...buttonStyle,\n      padding: `${top}px ${right}px ${bottom}px ${left}px`\n    },\n    children: /*#__PURE__*/_jsx(motion.div, {\n      style: {\n        ...dotStyle,\n        opacity\n      }\n    })\n  });\n}\nfunction Placeholder() {\n  return /*#__PURE__*/_jsxs(\"section\", {\n    style: placeholderStyles,\n    children: [/*#__PURE__*/_jsx(\"div\", {\n      style: emojiStyles,\n      children: \"\u2728\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      style: titleStyles,\n      children: \"Connect to Content\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      style: subtitleStyles,\n      children: \"Add layers or components to swipe between.\"\n    })]\n  });\n}\nfunction MouseStyles() {\n  return /*#__PURE__*/_jsx(\"div\", {\n    dangerouslySetInnerHTML: {\n      __html: `<style>@media (pointer: fine) {\n                .framer--carousel[data-show-scrollbar=\"false\"]::-webkit-scrollbar {\n                    display: none;\n                    -webkit-appearance: none;\n                    width: 0;\n                    height: 0;\n                }\n\n                .framer--carousel[data-show-scrollbar=\"false\"]::-webkit-scrollbar-thumb {\n                    display: none;\n                }\n\n                .framer--carousel[data-show-scrollbar=\"false\"] {\n                    scrollbar-width: none;\n                    scrollbar-height: none;\n                }\n            }</style>`\n    }\n  });\n} /* Styles */\nconst placeholderStyles = {\n  display: \"flex\",\n  width: \"100%\",\n  height: \"100%\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  flexDirection: \"column\",\n  color: \"#96F\",\n  background: \"rgba(136, 85, 255, 0.1)\",\n  fontSize: 11,\n  overflow: \"hidden\",\n  padding: \"20px 20px 30px 20px\"\n};\nconst emojiStyles = {\n  fontSize: 32,\n  marginBottom: 10\n};\nconst titleStyles = {\n  margin: 0,\n  marginBottom: 10,\n  fontWeight: 600,\n  textAlign: \"center\"\n};\nconst subtitleStyles = {\n  margin: 0,\n  opacity: .7,\n  maxWidth: 130,\n  lineHeight: 1.5,\n  textAlign: \"center\"\n};\nconst labelStyle = {\n  clip: \"rect(0 0 0 0)\",\n  WebkitClipPath: \"inset(50%)\",\n  clipPath: \"inset(50%)\",\n  height: 1,\n  width: 1,\n  margin: -1,\n  padding: 0,\n  overflow: \"hidden\",\n  position: \"absolute\",\n  whiteSpace: \"nowrap\"\n}; /**\n   * GUI styles\n   */\nconst baseContainerStyle = {\n  display: \"flex\",\n  overflow: \"hidden\",\n  width: \"100%\",\n  height: \"100%\",\n  position: \"relative\"\n};\nconst baseCarouselStyle = {\n  padding: 0,\n  margin: 0,\n  listStyle: \"none\",\n  position: \"relative\",\n  display: \"flex\",\n  flex: \"1 1 100%\",\n  width: \"100%\",\n  height: \"100%\"\n};\nconst baseButtonStyles = {\n  border: \"none\",\n  display: \"flex\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  overflow: \"hidden\",\n  background: \"transparent\",\n  cursor: \"pointer\",\n  margin: 0,\n  padding: 0\n};\nconst controlsStyles = {\n  display: \"flex\",\n  justifyContent: \"space-between\",\n  alignItems: \"center\",\n  position: \"absolute\",\n  top: 0,\n  left: 0,\n  right: 0,\n  bottom: 0,\n  pointerEvents: \"none\",\n  border: 0,\n  padding: 0,\n  margin: 0\n}; /**\n   * Dot styles\n   */\nconst dotsContainerStyle = {\n  display: \"flex\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  overflow: \"hidden\",\n  position: \"absolute\",\n  pointerEvents: \"auto\"\n};\nconst dotStyle = {\n  borderRadius: \"50%\",\n  background: \"white\",\n  cursor: \"pointer\",\n  border: \"none\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  padding: 0\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Carousel\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerIntrinsicWidth\": \"400\",\n        \"framerSupportedLayoutHeight\": \"any-prefer-fixed\",\n        \"framerIntrinsicHeight\": \"200\",\n        \"framerContractVersion\": \"1\",\n        \"framerSupportedLayoutWidth\": \"any-prefer-fixed\",\n        \"framerDisableUnlink\": \"*\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Carousel.map", "function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isString=t=>\"string\"===typeof t;const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let r=0;for(;r<o-2;r++)if(s<e[r+1])break;let f=clamp(0,1,progress(e[r],e[r+1],s));const c=getEasingForSegment(n,r);f=c(f);return mix(t[r],t[r+1],f)}}const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map", "// Generated by Framer (241a4b4)\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addFonts, addPropertyControls, ControlType, cx, Image, RichText, useLocaleInfo, useVariantState, withCSS } from \"framer\";\nimport { LayoutGroup, motion, MotionConfigContext } from \"framer-motion\";\nimport * as React from \"react\";\nimport * as sharedStyle1 from \"https://framerusercontent.com/modules/kKRT4igf6am1paneQ238/fKIoak3qGT0H4pHRgEDT/d23OcLmwn.js\";\nimport * as sharedStyle from \"https://framerusercontent.com/modules/r4grGfyrl6vbMh7oSVzw/iDM8i2cqninpmN5pIMNq/HflFPfcPh.js\";\nconst enabledGestures = {\n  m98YMT9wb: {\n    hover: true\n  }\n};\nconst cycleOrder = [\"m98YMT9wb\"];\nconst variantClassNames = {\n  m98YMT9wb: \"framer-v-ftp2uu\"\n};\nfunction addPropertyOverrides(overrides, ...variants) {\n  const nextOverrides = {};\n  variants === null || variants === void 0 ? void 0 : variants.forEach(variant => variant && Object.assign(nextOverrides, overrides[variant]));\n  return nextOverrides;\n}\nconst transitions = {\n  default: {\n    damping: 60,\n    delay: 0,\n    mass: 1,\n    stiffness: 500,\n    type: \"spring\"\n  }\n};\nconst transition1 = {\n  damping: 60,\n  delay: 0,\n  mass: 1,\n  stiffness: 500,\n  type: \"spring\"\n};\nconst toResponsiveImage = value => {\n  if (typeof value === \"object\" && value !== null && typeof value.src === \"string\") {\n    return value;\n  }\n  return typeof value === \"string\" ? {\n    src: value\n  } : undefined;\n};\nconst Transition = ({\n  value,\n  children\n}) => {\n  const config = React.useContext(MotionConfigContext);\n  const transition = value !== null && value !== void 0 ? value : config.transition;\n  const contextValue = React.useMemo(() => ({\n    ...config,\n    transition\n  }), [JSON.stringify(transition)]);\n  return /*#__PURE__*/_jsx(MotionConfigContext.Provider, {\n    value: contextValue,\n    children: children\n  });\n};\nconst getProps = ({\n  height,\n  id,\n  image,\n  subtitle,\n  title,\n  width,\n  ...props\n}) => {\n  var ref, ref1, ref2;\n  return {\n    ...props,\n    AoG7gHCiU: (ref = image !== null && image !== void 0 ? image : props.AoG7gHCiU) !== null && ref !== void 0 ? ref : {\n      src: new URL(\"https://framerusercontent.com/images/v2v9n2FKexbQFBID0xSAZ7frY.jpg?scale-down-to=512\").href,\n      srcSet: `${new URL(\"https://framerusercontent.com/images/v2v9n2FKexbQFBID0xSAZ7frY.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/v2v9n2FKexbQFBID0xSAZ7frY.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/v2v9n2FKexbQFBID0xSAZ7frY.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/v2v9n2FKexbQFBID0xSAZ7frY.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/v2v9n2FKexbQFBID0xSAZ7frY.jpg\").href} 4898w`\n    },\n    FXBXhi4xm: (ref1 = title !== null && title !== void 0 ? title : props.FXBXhi4xm) !== null && ref1 !== void 0 ? ref1 : \"Title\",\n    yr94iZUGS: (ref2 = subtitle !== null && subtitle !== void 0 ? subtitle : props.yr94iZUGS) !== null && ref2 !== void 0 ? ref2 : \"Subtitle\"\n  };\n};\nconst createLayoutDependency = (props, variants) => variants.join(\"-\") + props.layoutDependency;\nconst Component = /*#__PURE__*/React.forwardRef(function (props, ref) {\n  const {\n    activeLocale\n  } = useLocaleInfo();\n  const {\n    style,\n    className,\n    layoutId,\n    variant,\n    AoG7gHCiU,\n    FXBXhi4xm,\n    yr94iZUGS,\n    ...restProps\n  } = getProps(props);\n  const {\n    baseVariant,\n    classNames,\n    gestureVariant,\n    setGestureState,\n    setVariant,\n    transition,\n    variants\n  } = useVariantState({\n    cycleOrder,\n    defaultVariant: \"m98YMT9wb\",\n    enabledGestures,\n    transitions,\n    variant,\n    variantClassNames\n  });\n  const layoutDependency = createLayoutDependency(props, variants);\n  const defaultLayoutId = React.useId();\n  return /*#__PURE__*/_jsx(LayoutGroup, {\n    id: layoutId !== null && layoutId !== void 0 ? layoutId : defaultLayoutId,\n    children: /*#__PURE__*/_jsx(motion.div, {\n      initial: variant,\n      animate: variants,\n      onHoverStart: () => setGestureState({\n        isHovered: true\n      }),\n      onHoverEnd: () => setGestureState({\n        isHovered: false\n      }),\n      onTapStart: () => setGestureState({\n        isPressed: true\n      }),\n      onTap: () => setGestureState({\n        isPressed: false\n      }),\n      onTapCancel: () => setGestureState({\n        isPressed: false\n      }),\n      className: cx(\"framer-6q9eK\", sharedStyle.className, sharedStyle1.className, classNames),\n      style: {\n        display: \"contents\"\n      },\n      children: /*#__PURE__*/_jsx(Transition, {\n        value: transition,\n        ...addPropertyOverrides({\n          \"m98YMT9wb-hover\": {\n            value: transition1\n          }\n        }, baseVariant, gestureVariant),\n        children: /*#__PURE__*/_jsxs(motion.div, {\n          ...restProps,\n          className: cx(\"framer-ftp2uu\", className),\n          \"data-framer-name\": \"Featured Work\",\n          layoutDependency: layoutDependency,\n          layoutId: \"m98YMT9wb\",\n          ref: ref,\n          style: {\n            ...style\n          },\n          ...addPropertyOverrides({\n            \"m98YMT9wb-hover\": {\n              \"data-framer-name\": undefined\n            }\n          }, baseVariant, gestureVariant),\n          children: [/*#__PURE__*/_jsxs(motion.div, {\n            className: \"framer-eykyxr\",\n            \"data-framer-name\": \"Information Overlay\",\n            layoutDependency: layoutDependency,\n            layoutId: \"lOuUoOBGI\",\n            style: {\n              opacity: 0\n            },\n            variants: {\n              \"m98YMT9wb-hover\": {\n                opacity: 1\n              }\n            },\n            children: [/*#__PURE__*/_jsx(RichText, {\n              __fromCanvasComponent: true,\n              children: /*#__PURE__*/_jsx(React.Fragment, {\n                children: /*#__PURE__*/_jsx(motion.h2, {\n                  className: \"framer-styles-preset-1xj6y3z\",\n                  \"data-styles-preset\": \"HflFPfcPh\",\n                  style: {\n                    \"--framer-text-color\": \"var(--extracted-1of0zx5)\"\n                  },\n                  children: \"Title\"\n                })\n              }),\n              className: \"framer-tw7i4h\",\n              layoutDependency: layoutDependency,\n              layoutId: \"JWB1WCi1p\",\n              style: {\n                \"--extracted-1of0zx5\": \" rgb(0, 0, 0)\",\n                \"--framer-link-text-color\": \"rgb(0, 153, 255)\",\n                \"--framer-link-text-decoration\": \"underline\",\n                \"--framer-paragraph-spacing\": \"0px\"\n              },\n              text: FXBXhi4xm,\n              verticalAlignment: \"top\",\n              withExternalLayout: true\n            }), /*#__PURE__*/_jsx(RichText, {\n              __fromCanvasComponent: true,\n              children: /*#__PURE__*/_jsx(React.Fragment, {\n                children: /*#__PURE__*/_jsx(motion.h4, {\n                  className: \"framer-styles-preset-1pz3eif\",\n                  \"data-styles-preset\": \"d23OcLmwn\",\n                  style: {\n                    \"--framer-text-color\": \"var(--extracted-1eung3n)\"\n                  },\n                  children: \"Subtitle\"\n                })\n              }),\n              className: \"framer-w0vgs9\",\n              layoutDependency: layoutDependency,\n              layoutId: \"k1Moh4TbE\",\n              style: {\n                \"--extracted-1eung3n\": \" rgb(0, 0, 0)\",\n                \"--framer-link-text-color\": \"rgb(0, 153, 255)\",\n                \"--framer-link-text-decoration\": \"underline\",\n                \"--framer-paragraph-spacing\": \"0px\"\n              },\n              text: yr94iZUGS,\n              verticalAlignment: \"top\",\n              withExternalLayout: true\n            })]\n          }), /*#__PURE__*/_jsx(motion.div, {\n            className: \"framer-1le0rqp\",\n            \"data-framer-name\": \"Light Overlay\",\n            layoutDependency: layoutDependency,\n            layoutId: \"OBSbh8f8W\",\n            style: {\n              backgroundColor: \"rgb(255, 255, 255)\",\n              opacity: 0\n            },\n            variants: {\n              \"m98YMT9wb-hover\": {\n                opacity: .75\n              }\n            }\n          }), /*#__PURE__*/_jsx(Image, {\n            background: {\n              alt: \"\",\n              fit: \"fill\",\n              intrinsicHeight: 3265,\n              intrinsicWidth: 4898,\n              pixelHeight: 3265,\n              pixelWidth: 4898,\n              sizes: \"min(340px, 100vw)\",\n              ...toResponsiveImage(AoG7gHCiU)\n            },\n            className: \"framer-o0hk9s\",\n            \"data-framer-name\": \"Image\",\n            layoutDependency: layoutDependency,\n            layoutId: \"zm0QqYHOD\"\n          })]\n        })\n      })\n    })\n  });\n});\nconst css = ['.framer-6q9eK [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }', \"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\", \".framer-6q9eK .framer-15q4ra6 { display: block; }\", \".framer-6q9eK .framer-ftp2uu { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 200px; justify-content: center; overflow: hidden; padding: 0px 0px 0px 0px; position: relative; width: 340px; }\", \".framer-6q9eK .framer-eykyxr { align-content: center; align-items: center; bottom: -100px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; left: 0px; overflow: visible; padding: 0px 0px 0px 0px; position: absolute; right: 0px; z-index: 2; }\", \".framer-6q9eK .framer-tw7i4h, .framer-6q9eK .framer-w0vgs9 { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\", \".framer-6q9eK .framer-1le0rqp { bottom: 0px; flex: none; left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; z-index: 1; }\", \".framer-6q9eK .framer-o0hk9s { flex: 1 0 0px; height: 1px; position: relative; width: 100%; }\", \".framer-6q9eK .framer-v-ftp2uu .framer-ftp2uu { cursor: pointer; }\", \"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-6q9eK .framer-ftp2uu, .framer-6q9eK .framer-eykyxr { gap: 0px; } .framer-6q9eK .framer-ftp2uu > * { margin: 0px; margin-bottom: calc(0px / 2); margin-top: calc(0px / 2); } .framer-6q9eK .framer-ftp2uu > :first-child, .framer-6q9eK .framer-eykyxr > :first-child { margin-top: 0px; } .framer-6q9eK .framer-ftp2uu > :last-child, .framer-6q9eK .framer-eykyxr > :last-child { margin-bottom: 0px; } .framer-6q9eK .framer-eykyxr > * { margin: 0px; margin-bottom: calc(5px / 2); margin-top: calc(5px / 2); } }\", \".framer-6q9eK.framer-v-ftp2uu.hover .framer-eykyxr { bottom: 20px; order: 0; }\", \".framer-6q9eK.framer-v-ftp2uu.hover .framer-1le0rqp { bottom: unset; height: 100%; order: 1; right: unset; width: 100%; }\", \".framer-6q9eK.framer-v-ftp2uu.hover .framer-o0hk9s { order: 2; }\", ...sharedStyle.css, ...sharedStyle1.css]; /**\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * This is a generated Framer component.\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * @framerIntrinsicHeight 200\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * @framerIntrinsicWidth 340\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"JplyNtn27\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * @framerVariables {\"AoG7gHCiU\":\"image\",\"FXBXhi4xm\":\"title\",\"yr94iZUGS\":\"subtitle\"}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 */\nconst FramerPQUjQGsDQ = withCSS(Component, css, \"framer-6q9eK\");\nexport default FramerPQUjQGsDQ;\nFramerPQUjQGsDQ.displayName = \"Featured Work\";\nFramerPQUjQGsDQ.defaultProps = {\n  height: 200,\n  width: 340\n};\naddPropertyControls(FramerPQUjQGsDQ, {\n  AoG7gHCiU: {\n    __defaultAssetReference: \"data:framer/asset-reference,v2v9n2FKexbQFBID0xSAZ7frY.jpg?originalFilename=photo-1617050318658-a9a3175e34cb%3Fcrop%3Dentropy%26cs%3Dsrgb%26fm%3Djpg%26ixid%3DM3wxMzc5NjJ8MHwxfHNlYXJjaHwxfHxlZGl0b3JpYWwlMjBkZXNpZ258ZW58MHx8fHwxNjkzNDI3OTU0fDA%26ixlib%3Drb-4.0.jpg&preferredSize=auto\",\n    title: \"Image\",\n    type: ControlType.ResponsiveImage\n  },\n  FXBXhi4xm: {\n    defaultValue: \"Title\",\n    displayTextArea: false,\n    title: \"Title\",\n    type: ControlType.String\n  },\n  yr94iZUGS: {\n    defaultValue: \"Subtitle\",\n    displayTextArea: false,\n    title: \"Subtitle\",\n    type: ControlType.String\n  }\n});\naddFonts(FramerPQUjQGsDQ, [...sharedStyle.fonts, ...sharedStyle1.fonts]);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"FramerPQUjQGsDQ\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerCanvasComponentVariantDetails\": \"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"JplyNtn27\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\n        \"framerContractVersion\": \"1\",\n        \"framerVariables\": \"{\\\"AoG7gHCiU\\\":\\\"image\\\",\\\"FXBXhi4xm\\\":\\\"title\\\",\\\"yr94iZUGS\\\":\\\"subtitle\\\"}\",\n        \"framerIntrinsicWidth\": \"340\",\n        \"framerIntrinsicHeight\": \"200\"\n      }\n    },\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./PQUjQGsDQ.map"],
  "mappings": "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",
  "names": ["init_shims", "init_shims", "clamp", "t", "e", "n", "progress", "t", "e", "n", "calcMaskWidth", "inset", "width", "useIsMouse", "isMouseDevice", "setIsMouseDevice", "ye", "fe", "checkLimit", "progress", "target", "edgeOpacity", "moreItems", "buttonRef", "transition", "animate", "useGUI", "initialMoreItems", "initialAlpha", "pe", "useMotionValue", "fadeOpacity", "useTransform", "buttonOpacity", "v", "pointerEvents", "cursor", "buttonStyle", "baseButtonStyles", "setAriaVisible", "element", "useScrollLimits", "container", "axis", "scrollInfo", "updateCurrentScroll", "targetScroll", "checkLimits", "measureItems", "ue", "stopScroll", "scroll", "info", "stopResize", "resize", "Carousel", "slots", "gap", "align", "sizingObject", "fadeObject", "arrowObject", "snapObject", "progressObject", "ariaLabel", "borderRadius", "effectsObject", "props", "numItems", "j", "isCanvas", "RenderTarget", "padding", "usePadding", "axisLabel", "fadeContent", "fadeWidth", "fadeInset", "fadeTransition", "fadeAlpha", "snap", "snapEdge", "fluid", "widthType", "widthInset", "widthColumns", "heightType", "heightInset", "heightRows", "showScrollbar", "showProgressDots", "dotSize", "dotsInset", "dotsRadius", "dotsPadding", "dotsGap", "dotsFill", "dotsBackground", "dotsActiveOpacity", "dotsOpacity", "dotsBlur", "showMouseControls", "arrowSize", "arrowRadius", "arrowFill", "leftArrow", "rightArrow", "arrowPadding", "currentScroll", "newScroll", "start", "end", "startMaskInset", "endMaskInset", "baseWidth", "startMaskWidth", "endMaskWidth", "direction", "mask", "latest", "carouselRef", "numPages", "setNumPages", "itemStyle", "childStyle", "scrollOverflow", "containerStyle", "baseContainerStyle", "carouselStyle", "baseCarouselStyle", "carouselA11y", "itemA11y", "itemSizes", "te", "targetLength", "containerLength", "scrollLength", "current", "i", "start1", "end1", "newNumPages", "findNextItem", "delta", "children", "scrollTarget", "item", "length", "threshold", "isReducedMotion", "useReducedMotion", "goto", "scrollTo", "options", "gotoPage", "page", "gotoDelta", "pageLength", "currentPage", "clamp", "p", "Placeholder", "dots", "dotsBlurStyle", "isSelected", "Dot", "dotStyle", "u", "motion", "child", "index", "ref", "q", "controlsStyles", "dotsContainerStyle", "MouseStyles", "addPropertyControls", "ControlType", "paddingControl", "selectedOpacity", "unselectedOpacity", "total", "opacity", "ref1", "minScroll", "maxScroll", "inlinePadding", "top", "bottom", "right", "left", "placeholderStyles", "emojiStyles", "titleStyles", "subtitleStyles", "baseContainerStyle", "baseCarouselStyle", "baseButtonStyles", "controlsStyles", "dotsContainerStyle", "dotStyle", "init_shims", "enabledGestures", "cycleOrder", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transitions", "transition1", "toResponsiveImage", "value", "Transition", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "getProps", "height", "id", "image", "subtitle", "title", "width", "props", "ref", "ref1", "ref2", "createLayoutDependency", "Component", "Y", "activeLocale", "useLocaleInfo", "style", "className", "layoutId", "AoG7gHCiU", "FXBXhi4xm", "yr94iZUGS", "restProps", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "defaultLayoutId", "ae", "LayoutGroup", "motion", "cx", "u", "RichText", "x", "Image2", "css", "FramerPQUjQGsDQ", "withCSS", "PQUjQGsDQ_default", "addPropertyControls", "ControlType", "addFonts", "fonts"]
}
