{"version":3,"file":"utBA28vHM.CT-RwY_g.mjs","names":["useState","startTransition","useRef","useMemo","useId","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","className","sharedStyle.css","sharedStyle.fonts","__esmMin","window","init_npm_react_18_3_1","te","x","oe","pe","init_ssg_sandbox_shims","ie","ce","init_jsx_runtime","J","c","_e","de","MotionConfigContext","LayoutGroup","init_framer_motion_DhsWWWsN","motion","addFonts","RichText","withCSS","cx","withFX","useLocaleInfo","getFontsFromSharedStyle","getFonts","init_framer_B6PCHH0A","LazyValue","ControlType","useComponentViewport","addPropertyControls","useVariantState","SmartComponentScopedContainer","ComponentViewportProvider","useIsStaticRenderer","init_Q0T73qp6v","css$1","fonts","className","SvgSprite","starId","googleId","Star","Avatar","failed","setFailed","photoUrl","initials","GoogleMark","ReviewCard","props","textRef","overflowing","setOverflowing","expanded","el","isOver","review","clampLines","cardWidth","duplicate","starHref","i","googleHref","onToggle","ReviewsTicker","isStatic","expandedKey","setExpandedKey","reduceMotion","setReduceMotion","mq","onChange","rows","parseJson","raw","s","parsed","list","overrideData","dataJson","reviews","half","animate","respectReducedMotion","uid","style","rowGap","FONT_STACK","cardHeight","gap","accent","onTint","cardBackground","borderColor","nameColor","bodyColor","mutedColor","starColor","verifiedColor","pauseOnHover","CARD_CSS","items","cycle","duration","speed","sequence","alternateDirections","rowIndex","key","init_ReviewsTicker","getLocalizedValue","locale","values","valuesByLocaleId","value","preload","promises","promise","usePreloadLocalizedValues","preloadPromise","init_utBA28vHM","addPropertyOverrides","variants","nextOverrides","variant","overrides","RichTextWithFX","MotionDivWithFX","ReviewsTickerFonts","cycleOrder","serializationHash","variantClassNames","transition1","animation","transition2","Transition","humanReadableVariantMap","Variants","getProps","createLayoutDependency","Component","css","FramerutBA28vHM","init_utBA28vHM$1","config","transition","contextValue","reviewsData","fallbackRef","refBinding","ref","defaultLayoutId","className$1","restProps","layoutDependency","scopingClassNames","activeLocale","layoutId","gestureHandlers","classNames","baseVariant","gestureVariant","vx7l81k2h"],"sources":["https:/framerusercontent.com/modules/IHafc4mfblwsTojpm6Gv/cnPYu7eCKBPgX6cg7am9/ReviewsTicker.js","https:/framerusercontent.com/modules/GBd6RFPpwvO6tQZUSX6c/kQbcXHAk5Eou469mzsLg/utBA28vHM.js","https:/framerusercontent.com/modules/FCHizhECazRmUF0YPB7p/yyTRNElU6H0CuSEfzke8/utBA28vHM.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useEffect,useId,useRef,useState,useMemo,startTransition}from\"react\";const FONT_STACK=\"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif\";/**\n * Card styling, hoisted out of per-card inline `style` attributes into one stylesheet.\n *\n * WHY: a page renders this component once per breakpoint (3), each with 2 rows, each row\n * duplicated 2x for the seamless marquee — so ONE review renders 12 times and a 12-review\n * slice produces 144 cards. Inline styles were ~65% of every card's markup; measured on\n * /china-visa (2026-08-23) the reviews block was 523 KB, 39.6% of a 1.29 MB page.\n *\n * The 2x duplication per row is NOT reducible: the marquee animates translate3d(0 → -50%),\n * which requires exactly two copies to loop seamlessly. Cutting it breaks the animation.\n * The saving therefore had to come from markup weight, not from rendering fewer cards.\n *\n * Everything configurable is a CSS custom property set once on the root, so class names stay\n * global and identical across instances while each instance keeps its own colours/sizes.\n */const CARD_CSS=`\n.gmp-rv-card{position:relative;box-sizing:border-box;flex:0 0 auto;width:var(--gmp-cw);min-height:var(--gmp-ch);margin-right:var(--gmp-gap);background:var(--gmp-bg);border:0;border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;font-family:${FONT_STACK};white-space:normal}\n.gmp-rv-card.is-expanded{height:auto;min-height:var(--gmp-ch)}\n.gmp-rv-top{display:flex;flex-direction:column;gap:16px}\n.gmp-rv-head{display:flex;align-items:center;gap:14px}\n.gmp-rv-id{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}\n.gmp-rv-name{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--gmp-name);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.gmp-rv-stars{display:flex;gap:2px}\n.gmp-rv-star{width:15px;height:15px;fill:var(--gmp-star)}\n.gmp-rv-gwrap{flex:0 0 auto;display:flex}\n.gmp-rv-g{width:18px;height:18px}\n.gmp-rv-av{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--gmp-accent)}\n.gmp-rv-av-img{object-fit:cover}\n.gmp-rv-av-fb{color:#FFF;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;letter-spacing:.02em}\n.gmp-rv-body{position:relative}\n.gmp-rv-text{margin:0;font-size:16px;font-weight:400;line-height:1.5;color:var(--gmp-body);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--gmp-clamp);overflow:hidden}\n.gmp-rv-text.is-expanded{display:block;-webkit-line-clamp:none;overflow:visible}\n.gmp-rv-more,.gmp-rv-less{border:none;font:inherit;font-size:16px;line-height:1.5;font-weight:600;color:var(--gmp-accent);cursor:pointer}\n.gmp-rv-more{position:absolute;right:0;bottom:0;background:var(--gmp-bg);padding:0 0 0 10px;margin:0}\n.gmp-rv-less{background:transparent;padding:0;margin-top:4px}\n.gmp-rv-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gmp-muted)}\n.gmp-rv-dot{color:#C6CDDA}\n.gmp-rv-verified{color:var(--gmp-verified);font-weight:600;font-size:13px}\n`;/**\n * The two vector shapes, defined ONCE per ticker instance and referenced by every card\n * through <use>. They used to be inlined into each card: measured on /china-visa\n * (2026-08-23) that was 740 stars x 170B + 144 Google marks x 715B = 223 KB, 17.3% of a\n * 1.29 MB page, for two shapes that never vary.\n *\n * Ids are per-instance (useId) because a page renders this component once PER BREAKPOINT —\n * three copies of a hard-coded id would be invalid duplicate ids in one document.\n *\n * The star <symbol> deliberately carries no `fill`, so `<use>` inherits it from CSS and one\n * symbol serves whatever starColor the instance is configured with.\n */function SvgSprite({starId,googleId}){return /*#__PURE__*/_jsxs(\"svg\",{width:\"0\",height:\"0\",\"aria-hidden\":\"true\",focusable:\"false\",style:{position:\"absolute\",width:0,height:0,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"symbol\",{id:starId,viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 2l2.9 6.26 6.85.72-5.1 4.6 1.42 6.72L12 16.9l-6.07 3.4 1.42-6.72-5.1-4.6 6.85-.72z\"})}),/*#__PURE__*/_jsxs(\"symbol\",{id:googleId,viewBox:\"0 0 48 48\",children:[/*#__PURE__*/_jsx(\"path\",{fill:\"#4285F4\",d:\"M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z\"}),/*#__PURE__*/_jsx(\"path\",{fill:\"#34A853\",d:\"M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z\"}),/*#__PURE__*/_jsx(\"path\",{fill:\"#FBBC05\",d:\"M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34C2.85 17.09 2 20.45 2 24s.85 6.91 2.34 9.88l7.35-5.7z\"}),/*#__PURE__*/_jsx(\"path\",{fill:\"#EA4335\",d:\"M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z\"})]})]});}/* Size + colour come from CSS (.gmp-rv-star), so the rendered element is just the <use>.\n   No aria-hidden per star: the wrapping span is role=\"img\" with a label, which makes its\n   subtree presentational already. */function Star({href}){return /*#__PURE__*/_jsx(\"svg\",{className:\"gmp-rv-star\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});}function Avatar({photoUrl,initials}){const[failed,setFailed]=useState(false);const showPhoto=Boolean(photoUrl)&&!failed;if(showPhoto){return /*#__PURE__*/_jsx(\"img\",{src:photoUrl,alt:\"\",\"aria-hidden\":\"true\",onError:()=>startTransition(()=>setFailed(true)),className:\"gmp-rv-av gmp-rv-av-img\"});}return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",className:\"gmp-rv-av gmp-rv-av-fb\",children:initials});}function GoogleMark({href}){return /*#__PURE__*/_jsx(\"svg\",{className:\"gmp-rv-g\",\"aria-hidden\":\"true\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});}/**\n * Every visual value now comes from CSS (see CARD_CSS) driven by custom properties set once\n * on the ticker root, so this renders classes instead of ~2.4 KB of repeated inline style\n * attributes per card. cardWidth/clampLines survive as props only because the overflow\n * measurement effect depends on them changing.\n */function ReviewCard(props){const{review,expanded,onToggle,cardWidth,clampLines,starHref,googleHref,duplicate}=props;const textRef=useRef(null);const[overflowing,setOverflowing]=useState(false);// Measure real overflow so \"more\" only appears when text is actually cut off.\n// Skip while expanded (the clamp is off then, so it would always measure false).\nuseEffect(()=>{if(expanded)return;const el=textRef.current;if(!el)return;const isOver=el.scrollHeight>el.clientHeight+1;startTransition(()=>setOverflowing(isOver));},[review.text,clampLines,expanded,cardWidth]);return /*#__PURE__*/_jsxs(\"article\",{\"aria-hidden\":duplicate?\"true\":undefined,className:`gmp-rv-card${expanded?\" is-expanded\":\"\"}`,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"gmp-rv-top\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"gmp-rv-head\",children:[/*#__PURE__*/_jsx(Avatar,{photoUrl:review.photoUrl,initials:review.initials}),/*#__PURE__*/_jsxs(\"div\",{className:\"gmp-rv-id\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"gmp-rv-name\",children:review.name}),/*#__PURE__*/_jsx(\"span\",{className:\"gmp-rv-stars\",role:\"img\",\"aria-label\":\"Rated 5 out of 5\",children:[0,1,2,3,4].map(i=>/*#__PURE__*/_jsx(Star,{href:`#${starHref}`},i))})]}),/*#__PURE__*/_jsx(\"span\",{className:\"gmp-rv-gwrap\",children:/*#__PURE__*/_jsx(GoogleMark,{href:`#${googleHref}`})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gmp-rv-body\",children:[/*#__PURE__*/_jsx(\"p\",{ref:textRef,className:`gmp-rv-text${expanded?\" is-expanded\":\"\"}`,children:review.text}),overflowing&&!expanded&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:onToggle,className:\"gmp-rv-more\",children:\"more\"}),expanded&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:onToggle,className:\"gmp-rv-less\",children:\"less\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gmp-rv-meta\",children:[/*#__PURE__*/_jsx(\"span\",{children:review.date}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",className:\"gmp-rv-dot\",children:\"\\xb7\"}),/*#__PURE__*/_jsx(\"span\",{className:\"gmp-rv-verified\",children:\"Verified\"})]})]});}/**\n * Reviews Ticker\n *\n * Two rows of Google review cards that scroll continuously right-to-left.\n * Review text is passed in as data, so it renders into the published HTML\n * (search engines see the full text, not a client-side fetch).\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 560\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ReviewsTicker(props){const{reviews=[],dataJson=\"\",overrideData=\"\",speed=40,pauseOnHover=true,respectReducedMotion=false,alternateDirections=true,cardWidth=320,cardHeight=240,gap=24,clampLines=4,rowGap=24,accent=\"#2348A1\",cardBackground=\"#FFFFFF\",borderColor=\"#DFE4EC\",nameColor=\"#0F131C\",bodyColor=\"#343C4C\",mutedColor=\"#6B7688\",starColor=\"#F5A623\",verifiedColor=\"#1F8A5B\",onTint=false,style}=props;const isStatic=useIsStaticRenderer();const[expandedKey,setExpandedKey]=useState(null);const[reduceMotion,setReduceMotion]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(\"(prefers-reduced-motion: reduce)\");setReduceMotion(mq.matches);const onChange=e=>setReduceMotion(e.matches);mq.addEventListener(\"change\",onChange);return()=>mq.removeEventListener(\"change\",onChange);},[]);const rows=useMemo(()=>{// Precedence: overrideData (per-page topical slice) > dataJson (the\n// refresh script's site-wide default) > the reviews array control.\n// Both strings carry a \"JSON:\" prefix (Framer's DSL rejects string\n// values that start with \"[\").\nconst parseJson=s=>{const raw=(s??\"\").trim();if(!raw||raw===\"JSON:[]\")return null;try{const parsed=JSON.parse(raw.startsWith(\"JSON:\")?raw.slice(5):raw);return Array.isArray(parsed)&&parsed.length>0?parsed.filter(Boolean):null;}catch{return null;/* malformed — fall through to the next source */}};const list=parseJson(overrideData)??parseJson(dataJson)??(Array.isArray(reviews)?reviews.filter(Boolean):[]);if(list.length===0)return[[],[]];const half=Math.ceil(list.length/2);// Second row starts midway through so the two rows never look mirrored.\nconst rotated=[...list.slice(half),...list.slice(0,half)];return[list,rotated];},[reviews,dataJson,overrideData]);// Note: many machines have OS-level \"reduce motion\" enabled, which silently\n// freezes marquees. Honour it only when explicitly asked to.\nconst motionBlocked=respectReducedMotion&&reduceMotion;const animate=!isStatic&&!motionBlocked&&expandedKey===null;// Per-instance sprite ids — a page renders this component once per breakpoint, so a\n// hard-coded id would appear three times in one document.\nconst uid=useId().replace(/:/g,\"\");const starHref=`gmp-rv-s-${uid}`;const googleHref=`gmp-rv-g-${uid}`;return /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",width:\"100%\",display:\"flex\",flexDirection:\"column\",gap:rowGap,fontFamily:FONT_STACK,// Drives CARD_CSS. Set once here instead of on all 144 cards.\n\"--gmp-cw\":`${cardWidth}px`,\"--gmp-ch\":`${cardHeight}px`,\"--gmp-gap\":`${gap}px`,\"--gmp-clamp\":clampLines,\"--gmp-accent\":accent,// Cards have no outline or shadow (design review 2026-10-28), so a fill\n// is all that separates them from the page. Every instance sits on\n// #F8FCFF and stores white, which would make the cards vanish, so\n// white becomes one tone step (#EEF3FA). Any other colour is kept.\n// onTint: the section itself is #EEF3FA, so white cards are what separate them.\n\"--gmp-bg\":!onTint&&/^(#?fff(fff)?|rgba?\\(\\s*255\\s*,\\s*255\\s*,\\s*255\\s*(,\\s*1\\s*)?\\))$/i.test(String(cardBackground).trim())?\"#EEF3FA\":cardBackground,\"--gmp-bc\":borderColor,\"--gmp-name\":nameColor,\"--gmp-body\":bodyColor,// Darker defaults so dates and \"Verified\" pass 4.5:1 on the #EEF3FA card (design review 2026-10-28).\n\"--gmp-muted\":/^(#6b7688|rgba?\\(\\s*107\\s*,\\s*118\\s*,\\s*136\\s*(,\\s*1\\s*)?\\))$/i.test(String(mutedColor).trim())?\"#525C70\":mutedColor,\"--gmp-star\":starColor,\"--gmp-verified\":/^(#1f8a5b|rgba?\\(\\s*31\\s*,\\s*138\\s*,\\s*91\\s*(,\\s*1\\s*)?\\))$/i.test(String(verifiedColor).trim())?\"#43507A\":verifiedColor},children:[/*#__PURE__*/_jsx(SvgSprite,{starId:starHref,googleId:googleHref}),/*#__PURE__*/_jsx(\"style\",{children:`\n@keyframes gmp-reviews-marquee {\n  from { transform: translate3d(0, 0, 0); }\n  to   { transform: translate3d(-50%, 0, 0); }\n}\n.gmp-reviews-viewport { overflow: hidden; width: 100%;\n  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);\n  mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%); }\n@media (min-width: 768px) { .gmp-reviews-viewport {\n  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 120px, #000 calc(100% - 120px), transparent 100%);\n  mask-image: linear-gradient(90deg, transparent 0, #000 120px, #000 calc(100% - 120px), transparent 100%); } }\n@media (max-width: 767px) { .gmp-reviews-viewport + .gmp-reviews-viewport { display: none; } }\n.gmp-reviews-track { display: flex; width: max-content; will-change: transform; }\n.gmp-reviews-track.is-animating { animation-name: gmp-reviews-marquee; animation-timing-function: linear; animation-iteration-count: infinite; }\n${pauseOnHover?\".gmp-reviews-viewport:hover .gmp-reviews-track.is-animating { animation-play-state: paused; }\":\"\"}\n${CARD_CSS}\n`}),rows.map((items,rowIndex)=>{if(items.length===0)return null;// Constant pixels-per-second regardless of how many cards there are.\nconst cycle=items.length*(cardWidth+gap);const duration=Math.max(1,cycle/Math.max(1,speed));const sequence=[...items,...items];return /*#__PURE__*/_jsx(\"div\",{className:\"gmp-reviews-viewport\",children:/*#__PURE__*/_jsx(\"div\",{className:`gmp-reviews-track${animate?\" is-animating\":\"\"}`,style:animate?{animationDuration:`${duration}s`,animationDirection:alternateDirections&&rowIndex===1?\"reverse\":\"normal\"}:undefined,children:sequence.map((review,i)=>{const duplicate=i>=items.length;const key=`${rowIndex}-${i}`;return /*#__PURE__*/_jsx(ReviewCard,{review:review,duplicate:duplicate,expanded:expandedKey===key,onToggle:()=>startTransition(()=>setExpandedKey(expandedKey===key?null:key)),cardWidth:cardWidth,clampLines:clampLines,starHref:starHref,googleHref:googleHref},key);})})},`row-${rowIndex}`);})]});}addPropertyControls(ReviewsTicker,{reviews:{type:ControlType.Array,title:\"Reviews\",control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Name\",defaultValue:\"Amy Patterson\"},initials:{type:ControlType.String,title:\"Initials\",defaultValue:\"AP\"},text:{type:ControlType.String,title:\"Review\",displayTextArea:true,defaultValue:\"Great service.\"},date:{type:ControlType.String,title:\"Date\",defaultValue:\"Jul 15, 2026\"},photoUrl:{type:ControlType.String,title:\"Photo URL\",description:\"Optional. Leave blank to show the initials circle — most Google reviewers never set a real profile photo.\",defaultValue:\"\"}}},defaultValue:[{name:\"Amy Patterson\",initials:\"AP\",date:\"Jul 15, 2026\",text:\"The members of Get My Passports helped me through the trial of getting a Visa to China when I was about to give up.\",photoUrl:\"\"},{name:\"RT Jefferson\",initials:\"RJ\",date:\"Jul 12, 2026\",text:\"Get My Passports did what they said they would - exceptionally quick way to get your passport renewed!! Great Job!!\",photoUrl:\"\"},{name:\"Maama Bangura\",initials:\"MB\",date:\"Jul 8, 2026\",text:\"Customer service is courteous. Processing a passport is much better than with other embassies I have dealt with, from filling out the application form to the delivery of our passports. I highly recommend them.\",photoUrl:\"\"},{name:\"Brittany Bell\",initials:\"BB\",date:\"Jul 7, 2026\",text:\"The entire process took under a week and the Get My Passports team did an excellent job of keeping me updated on the status at every stage.\",photoUrl:\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOql_pE-zqTB8-7W8BMJtLbCSb-bAAlCSS4WaJTeAD9pDp2DuvXeEtDHvKu9pFXT1PCe-yT1y\"},{name:\"SU Pen\",initials:\"SP\",date:\"Jul 6, 2026\",text:\"I used Get My Passports to get our China Visa. They were very professional, and answered all our questions in a timely manner. The whole process took less than a month. I would definitely use their services again in the future\",photoUrl:\"\"}]},dataJson:{type:ControlType.String,title:\"Data (JSON)\",displayTextArea:true,description:\"Optional JSON:-prefixed array — overrides the Reviews list above. Written by the refresh script.\",defaultValue:\"\"},overrideData:{type:ControlType.String,title:\"Override Data\",displayTextArea:true,description:\"Per-page topical slice (JSON:-prefixed). Bind to Section 5's Reviews Data variable; wins over everything.\",defaultValue:\"\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:40,min:5,max:200,step:5,unit:\"px/s\"},pauseOnHover:{type:ControlType.Boolean,title:\"Pause on Hover\",defaultValue:true},alternateDirections:{type:ControlType.Boolean,title:\"Opposite Rows\",description:\"Bottom row scrolls the opposite way to the top row.\",defaultValue:true},respectReducedMotion:{type:ControlType.Boolean,title:\"Honour Reduce Motion\",description:\"On: freezes for visitors whose device has reduce-motion enabled. Off: always scrolls.\",defaultValue:false},clampLines:{type:ControlType.Number,title:\"Max Lines\",defaultValue:4,min:2,max:10,step:1},cardWidth:{type:ControlType.Number,title:\"Card Width\",defaultValue:320,min:220,max:480,step:10,unit:\"px\"},cardHeight:{type:ControlType.Number,title:\"Card Height\",defaultValue:240,min:160,max:420,step:10,unit:\"px\"},gap:{type:ControlType.Number,title:\"Card Gap\",defaultValue:24,min:0,max:64,step:4,unit:\"px\"},rowGap:{type:ControlType.Number,title:\"Row Gap\",defaultValue:24,min:0,max:80,step:4,unit:\"px\"},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#2348A1\"},cardBackground:{type:ControlType.Color,title:\"Card BG\",defaultValue:\"#FFFFFF\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#DFE4EC\"},nameColor:{type:ControlType.Color,title:\"Name\",defaultValue:\"#0F131C\"},bodyColor:{type:ControlType.Color,title:\"Body\",defaultValue:\"#343C4C\"},mutedColor:{type:ControlType.Color,title:\"Muted\",defaultValue:\"#6B7688\"},starColor:{type:ControlType.Color,title:\"Stars\",defaultValue:\"#F5A623\"},verifiedColor:{type:ControlType.Color,title:\"Verified\",defaultValue:\"#1F8A5B\"},onTint:{type:ControlType.Boolean,title:\"Tinted section\",description:\"On when the section behind the ticker is #EEF3FA: cards stay white.\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ReviewsTicker\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"560\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ReviewsTicker.map","// Generated by Framer (6396d1e)\nimport{LazyValue}from\"framer\";const valuesByLocaleId={rPTueEUbF:new LazyValue(()=>import(\"./utBA28vHM-0.js\"))};export default function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values&&values.status===\"fulfilled\"){const value=values.read()[key];if(value)return value;}locale=locale.fallback;}}function preload(locale){const promises=[];while(locale){const values=valuesByLocaleId[locale.id];if(values){const promise=values.preload();if(promise)promises.push(promise);}locale=locale.fallback;}if(promises.length>0)return Promise.all(promises);}export function usePreloadLocalizedValues(locale){const preloadPromise=preload(locale);if(preloadPromise)throw preloadPromise;}\nexport const __FramerMetadata__ = {\"exports\":{\"usePreloadLocalizedValues\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6396d1e)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import ReviewsTicker from\"https://framerusercontent.com/modules/IHafc4mfblwsTojpm6Gv/cnPYu7eCKBPgX6cg7am9/ReviewsTicker.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/nw41HO0Cadm5RoyyVieC/hwamOtyh6PSkNRmPUt5c/Q0T73qp6v.js\";import getLocalizedValue,{usePreloadLocalizedValues}from\"https://framerusercontent.com/modules/GBd6RFPpwvO6tQZUSX6c/kQbcXHAk5Eou469mzsLg/utBA28vHM.js\";const RichTextWithFX=withFX(RichText);const MotionDivWithFX=withFX(motion.div);const ReviewsTickerFonts=getFonts(ReviewsTicker);const cycleOrder=[\"aiMJMC86m\",\"iNi8Z8Uw9\",\"OaXLqEwJW\",\"yuIMNtLtO\"];const serializationHash=\"framer-7zV16\";const variantClassNames={aiMJMC86m:\"framer-v-ow30c6\",iNi8Z8Uw9:\"framer-v-15l1wom\",OaXLqEwJW:\"framer-v-10f0zcg\",yuIMNtLtO:\"framer-v-4vlyu8\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const vx7l81k2h=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:50};const transition2={damping:60,delay:0,mass:1,stiffness:400,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Desktop:\"aiMJMC86m\",Large:\"iNi8Z8Uw9\",Phone:\"yuIMNtLtO\",Tablet:\"OaXLqEwJW\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,reviewsData,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"aiMJMC86m\",vx7l81k2h:reviewsData??props.vx7l81k2h??\"\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,vx7l81k2h,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"aiMJMC86m\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);usePreloadLocalizedValues(activeLocale);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-ow30c6\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"aiMJMC86m\",ref:refBinding,style:{backgroundColor:\"rgb(238, 243, 250)\",...style},...addPropertyOverrides({iNi8Z8Uw9:{\"data-framer-name\":\"Large\"},OaXLqEwJW:{\"data-framer-name\":\"Tablet\"},yuIMNtLtO:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1f14bqf\",layoutDependency:layoutDependency,layoutId:\"iAsbeGwqD\",children:[/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1gpbso7\",layoutDependency:layoutDependency,layoutId:\"eesfptEOf\",children:/*#__PURE__*/_jsx(RichTextWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,children:getLocalizedValue(\"v0\",activeLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1bikpi8\",\"data-styles-preset\":\"Q0T73qp6v\",style:{\"--framer-text-alignment\":\"center\"},children:\"What clients say after it’s done\"})}),className:\"framer-h02jrc\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"MuDYytU2x\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-f83ztd-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"slfkh2uqk-container\",nodeId:\"slfkh2uqk\",rendersWithMotion:true,scopeId:\"utBA28vHM\",children:/*#__PURE__*/_jsx(ReviewsTicker,{accent:\"rgb(35, 72, 161)\",alternateDirections:true,bodyColor:\"rgb(52, 60, 76)\",borderColor:\"rgb(223, 228, 236)\",cardBackground:\"rgb(255, 255, 255)\",cardHeight:240,cardWidth:320,clampLines:4,dataJson:'JSON:[{\"name\":\"Diane Pitts\",\"initials\":\"DP\",\"text\":\"I used Get My Passports to help with a Visa and they were very efficient, helpful and easy to work with. I have recommended them and will continue to do so.\",\"date\":\"Oct 26, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqkm423Pwzt1lRzVJXdYRNNi_ipU1MQOnXjnnRe4YCWk5UipJrGTd-MHZ32_us05rMzqNcRZ4g\"},{\"name\":\"JMcorpMotorcyclAudio\",\"initials\":\"J\",\"text\":\"Everything went smooth, Passports and Visa arrived back to me on time just as promised!\",\"date\":\"Oct 25, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqnGHqx5ZJzc0jk3ws5wL5H4XmOvrRRCkQABNT9yQejV2kOltiIV5NYJOiFSlNID0ZbTK7x7\"},{\"name\":\"Sam Suleiman\",\"initials\":\"SS\",\"text\":\"The service was phenomenal. I would absolutely use them again and again\",\"date\":\"Oct 23, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqmNyx8wxcwiaSw0RwA75_jzdoN3enKBClnni_Bh6idjOMC5qX78TLqrflYKpXyLYK0MPxie\"},{\"name\":\"Melanie Dreher\",\"initials\":\"MD\",\"text\":\"Everyone was helpful and informative and all the commitments were on time. I would recommend this organization to anyone . . . and my picture wasn\\'t bad.\",\"date\":\"Oct 23, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqm96OzuACmgliwlgHptZ3Pt3OH9BhkaWkvk4S6Ml1rzm1imYoDwGJta2QFbUreu2NWLWn30QQ\"},{\"name\":\"Don Hayes\",\"initials\":\"DH\",\"text\":\"Get My Passport (GMP) provided outstanding service obtaining my Chinese Visa. The online Visa application was easy to fill out and submit to GMP. Once completed, GMP provided easy to follow mailing instructions to forward my passport. Most importantly, GMP continually provided communication on the status of my visa. Additionally, they were very easy to contact and work with a live agent answering questions.\",\"date\":\"Oct 22, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqmSjb1CxJrpmWTZPOjpsqiBqfuI4UX1Aq0eOPSLVwG2V7dlnnP2ZEIEx8UVd-ehr_rvw4ndBg\"},{\"name\":\"John Robert Hanna\",\"initials\":\"JR\",\"text\":\"Absolutely worth every penny spent to have these kind folks help me, from a distance, to get my Chinese VISA claimed and back in my hand ASAP. Yes, it did cost me dearly, but the amount of travel and anxiety it would have caused NOT using them was worth every cent spent. I couldn\\'t be happier..!! Six, Seven, TEN STARS..!!\",\"date\":\"Oct 16, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqn1Oa2u3CmpMVI9UjHre9eyEWCxX8vZP2pQTC7gEefQPkt1DEvi--hGBYLCD7-5SMCgKfaMFg\"},{\"name\":\"Sherryk Glass\",\"initials\":\"SG\",\"text\":\"This company is amazing and made my experience stress free. I highly recommend this company. You will not regret it,! Just do it!\",\"date\":\"Oct 16, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqktMxYvWqEQaeYSS8IDM8oHqe7nPKlv0s1cN5O6AG5-_EFYCr9IXkudzO3gy-_fVR03sXC6tw\"},{\"name\":\"Greyson Wieczorek\",\"initials\":\"GW\",\"text\":\"Get My Passports got my visa done extremely quick. They were also very helpful by answering all my questions and letting me know what\\'s happening at every step. I will be recommending them to all my friends and family.\",\"date\":\"Oct 14, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqlkAIjfnnI4AO2_RLSvLICjP2Hiro5f6nsWIu2DpkD27U-If6ka57yJ2ocz1jErZyFZ8GV1GA\"},{\"name\":\"Cindy suger\",\"initials\":\"CS\",\"text\":\"Very satisfied with the service! Great communication, and I received status updates every step of the way.\",\"date\":\"Oct 13, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqmjf7Qpv7Ou0gOj3mVW5czUk_2q6nsOpxtJKq-y13yasubaEIipvvARtRQyVP1XCKM1zNXrzQ\"},{\"name\":\"Doug Degn\",\"initials\":\"DD\",\"text\":\"Provide a quick service, good communication and provided guidance Along the way\",\"date\":\"Oct 11, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqkZjeMHhenwox1zkud1bBdNnG3owez5NpMzNieDC5oPgTJtBCl6sy3yaE2uLJab53PHMRR8oA\"},{\"name\":\"Amy Butcheri\",\"initials\":\"AB\",\"text\":\"Get My Passports assisted with getting my Chinese Visa in a time crunch! Super professional, and kept me updated every step of the way (which helped my nerves about getting it in time). HIGHLY recommend!\",\"date\":\"Oct 9, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqll-fwibWfVK60e8wtjU7tzIqIcSJ2YjtMOD51GPBJQW8fX9e6qt7_r74XUfuFQYK5EqOvNWQ\"},{\"name\":\"James Wozniak\",\"initials\":\"JW\",\"text\":\"Everything was so fast and so smooth! (I filled out the government form myself and chose Get My Passports\\' expedited courier service.)\",\"date\":\"Oct 9, 2026\",\"photoUrl\":\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOqnvDKsbkKEKagipmnVdtF9GilhCOr_MM2TbA903Z6IlldMJQTaqalWmzwDWkZjhUVFYDwETCw\"}]',gap:24,height:\"100%\",id:\"slfkh2uqk\",layoutId:\"slfkh2uqk\",mutedColor:\"rgb(107, 118, 136)\",nameColor:\"rgb(15, 19, 28)\",onTint:true,overrideData:vx7l81k2h,pauseOnHover:true,respectReducedMotion:false,reviews:[{date:\"Jul 15, 2026\",id:\"default-item-0\",initials:\"AP\",name:\"Amy Patterson\",photoUrl:\"\",text:\"The members of Get My Passports helped me through the trial of getting a Visa to China when I was about to give up.\"},{date:\"Jul 12, 2026\",id:\"default-item-1\",initials:\"RJ\",name:\"RT Jefferson\",photoUrl:\"\",text:\"Get My Passports did what they said they would - exceptionally quick way to get your passport renewed!! Great Job!!\"},{date:\"Jul 8, 2026\",id:\"default-item-2\",initials:\"MB\",name:\"Maama Bangura\",photoUrl:\"\",text:\"Customer service is courteous. Processing a passport is much better than with other embassies I have dealt with, from filling out the application form to the delivery of our passports. I highly recommend them.\"},{date:\"Jul 7, 2026\",id:\"default-item-3\",initials:\"BB\",name:\"Brittany Bell\",photoUrl:\"https://gmp-review-responder.aaqib-e2b.workers.dev/avatar/AbFvOql_pE-zqTB8-7W8BMJtLbCSb-bAAlCSS4WaJTeAD9pDp2DuvXeEtDHvKu9pFXT1PCe-yT1y\",text:\"The entire process took under a week and the Get My Passports team did an excellent job of keeping me updated on the status at every stage.\"},{date:\"Jul 6, 2026\",id:\"default-item-4\",initials:\"SP\",name:\"SU Pen\",photoUrl:\"\",text:\"I used Get My Passports to get our China Visa. They were very professional, and answered all our questions in a timely manner. The whole process took less than a month. I would definitely use their services again in the future\"}],rowGap:24,speed:40,starColor:\"rgb(232, 163, 23)\",style:{maxWidth:\"100%\",width:\"100%\"},verifiedColor:\"rgb(31, 138, 91)\",width:\"100%\"})})})]})})})})});});const css=[\".framer-7zV16.framer-1v2nld6, .framer-7zV16 .framer-1v2nld6 { display: block; }\",\".framer-7zV16.framer-ow30c6 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 60px; height: min-content; justify-content: center; max-width: 1440px; overflow: hidden; padding: 96px 40px 96px 40px; position: relative; width: 1280px; }\",\".framer-7zV16 .framer-1f14bqf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: wrap; gap: 24px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 90%; }\",\".framer-7zV16 .framer-1gpbso7 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 21px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-7zV16 .framer-h02jrc { flex: none; height: auto; overflow: visible; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-7zV16 .framer-f83ztd-container { flex: none; height: auto; max-width: 1240px; position: relative; width: 100%; }\",\".framer-7zV16.framer-v-15l1wom.framer-ow30c6 { max-width: unset; width: 1440px; }\",\".framer-7zV16.framer-v-15l1wom .framer-1f14bqf { max-width: 1440px; width: 100%; }\",\".framer-7zV16.framer-v-15l1wom .framer-1gpbso7 { max-width: 1440px; }\",\".framer-7zV16.framer-v-10f0zcg.framer-ow30c6 { width: 810px; }\",\".framer-7zV16.framer-v-4vlyu8.framer-ow30c6 { padding: 72px 24px 72px 24px; width: 390px; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 732\n * @framerIntrinsicWidth 1280\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,\"1440px\",null,null]},\"iNi8Z8Uw9\":{\"layout\":[\"fixed\",\"auto\"]},\"OaXLqEwJW\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,\"1440px\",null,null]},\"yuIMNtLtO\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,\"1440px\",null,null]}}}\n * @framerVariables {\"vx7l81k2h\":\"reviewsData\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerutBA28vHM=withCSS(Component,css,\"framer-7zV16\");export default FramerutBA28vHM;FramerutBA28vHM.displayName=\"Section 5 - Hear From Our Satisfied Clients\";FramerutBA28vHM.defaultProps={height:732,width:1280};addPropertyControls(FramerutBA28vHM,{variant:{options:[\"aiMJMC86m\",\"iNi8Z8Uw9\",\"OaXLqEwJW\",\"yuIMNtLtO\"],optionTitles:[\"Desktop\",\"Large\",\"Tablet\",\"Phone\"],title:\"Variant\",type:ControlType.Enum},vx7l81k2h:{defaultValue:\"\",title:\"Reviews Data\",type:ControlType.String},onvx7l81k2hChange:{changes:\"vx7l81k2h\",type:ControlType.ChangeHandler}});addFonts(FramerutBA28vHM,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...ReviewsTickerFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerutBA28vHM\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"732\",\"framerVariables\":\"{\\\"vx7l81k2h\\\":\\\"reviewsData\\\"}\",\"framerIntrinsicWidth\":\"1280\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,\\\"1440px\\\",null,null]},\\\"iNi8Z8Uw9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"OaXLqEwJW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,\\\"1440px\\\",null,null]},\\\"yuIMNtLtO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,\\\"1440px\\\",null,null]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utBA28vHM.map"],"mappings":"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"}