1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1643],{2629:(e,a,n)=>{n.d(a,{LandingPressBar:()=>l});var r=n(9452),s=n(1984);let t={display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},i={display:"flex",alignItems:"center",flexShrink:0,borderRadius:20,backgroundColor:"#F8F4EE",maxWidth:"100%",overflow:"hidden"};function o(e){var a;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",s=(0,r.jsx)("img",{src:e.src,alt:n?"":e.alt,width:e.width,height:e.height,style:{"--qura-press-w":"".concat(e.width,"px"),"--qura-press-w-sm":"".concat(null!=(a=e.mobileWidth)?a:e.width,"px"),maxWidth:"100%",height:"auto",aspectRatio:"".concat(e.width," / ").concat(e.height),objectFit:"contain",flexShrink:"var(--qura-press-shrink, 1)",minWidth:0,opacity:e.opacity}}),t={display:"flex",minWidth:0,flexShrink:"var(--qura-press-shrink, 1)"};return e.href?(0,r.jsx)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",style:t,tabIndex:n?-1:void 0,children:s},n+e.alt):(0,r.jsx)("div",{style:t,children:s},n+e.alt)}function l(e){let{groups:a,badge:n,badgeCard:l=!0,logos:p=[],background:d="#FFFFFF",dividerColor:h="#EDECEB",label:c,mobilePadded:u=!1,className:g,style:m}=e,x=!!n,w=null!=a&&a.length>0;return(0,r.jsxs)("section",{"aria-label":c,className:["qura-pressbar",w&&"qura-pressbar--groups","top"===u?"qura-pressbar--padded-top":u&&"qura-pressbar--padded",g].filter(Boolean).join(" "),style:{...t,...w?{alignItems:"stretch",justifyContent:"flex-start"}:null,backgroundColor:d,...m},children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"\n/* Phone (Figma mobile home, node 8222:128288): the card sits alone on its own\n line, the divider goes away, and the logo row becomes a single line that runs\n wider than the frame â Figma runs a 711px row through a 393px artboard. That\n overflow is played as an endless MARQUEE: the set is rendered twice inside a\n track and the track slides by exactly one set plus one gap, so the copy lands\n where the original started and the loop is seamless. Every mention comes past\n on its own, with no swipe needed.\n The seam only works while the track gap equals the row gap (both 40px) â the\n -50% in the keyframe is half of \"two sets + one gap\", hence the extra -20px\n to make up the second half-gap. */\n.qura-pressbar{flex-direction:column;gap:20px;padding:0}\n/* The home artboard butts the strip against its neighbours (node 8222:128288,\n 106 tall); the insurance one gives it 40 of air (node 8271:172132, 186). The\n â¥768 rule below resets both. */\n.qura-pressbar--padded{padding:40px 0}\n/* And the gift one gives it 40 above and nothing below (node 8258:165268, 146):\n the features section that follows opens with 64 of its own. */\n.qura-pressbar--padded-top{padding:40px 0 0}\n.qura-pressbar-divider{display:none}\n/* The row's own box lives here rather than in an inline style: the duplicate is\n switched off with display:none above 768px, and an inline display would win\n over that rule. Figma baseline-aligns the row, so the taller Sole 24 Ore mark\n sits on the same optical line as Forbes rather than being centred on it. */\n.qura-pressbar-logos{\n display:flex;\n align-items:flex-end;\n min-width:0;\n width:max-content;\n flex-wrap:nowrap;\n gap:40px;\n --qura-press-shrink:0;\n}\n.qura-pressbar-logos-clip{width:100%;overflow:hidden}\n.qura-pressbar-marquee{\n display:flex;\n width:max-content;\n gap:40px;\n animation:qura-press-marquee var(--qura-press-marquee-duration, 18s) linear infinite;\n}\n.qura-pressbar-logos img{width:var(--qura-press-w-sm)}\n@keyframes qura-press-marquee{\n from{transform:translate3d(0,0,0)}\n to{transform:translate3d(calc(-50% - 20px),0,0)}\n}\n/* Reduced motion: no autoplay. The rail falls back to the swipeable version so\n the far mentions are still reachable, just under the reader's own finger. */\n@media (prefers-reduced-motion:reduce) and (max-width:767px){\n .qura-pressbar-logos-clip{\n overflow-x:auto;\n overflow-y:hidden;\n overscroll-behavior-x:contain;\n -webkit-overflow-scrolling:touch;\n scrollbar-width:none;\n }\n .qura-pressbar-logos-clip::-webkit-scrollbar{display:none}\n .qura-pressbar-marquee{animation:none;gap:0}\n .qura-pressbar-logos{padding:0 20px}\n .qura-pressbar-logos-dup{display:none}\n}\n/* Figma's mobile card is exactly 56 tall around a 24px Trustpilot mark, and the\n live TrustBox's height is baked in at load. So the box is pinned rather than\n padded: the card matches the artboard whatever height the widget arrives at,\n and centres it. */\n.qura-pressbar-card{height:56px;padding:0 20px;gap:12px;justify-content:center}\n@media (min-width:768px){\n .qura-pressbar{gap:32px;padding:clamp(32px, 3vw, 48px) clamp(20px, 4vw, 64px)}\n .qura-pressbar-divider{display:block;width:100%;height:1px}\n .qura-pressbar-logos-clip{display:contents}\n /* No marquee above the phone: the track stops generating a box (so the row\n goes back to being the flex child the strip positions) and the second copy\n leaves the document. */\n .qura-pressbar-marquee{display:contents;animation:none}\n .qura-pressbar-logos-dup{display:none}\n .qura-pressbar-logos{\n width:auto;\n padding:0;\n flex-wrap:wrap;\n justify-content:center;\n gap:clamp(24px,6.9vw,110px);\n --qura-press-scale:0.75;\n --qura-press-shrink:1;\n }\n .qura-pressbar-logos img{\n width:calc(var(--qura-press-w) * var(--qura-press-scale, 1));\n }\n /* 74 tall (Figma node 8222:127100, card 8159:128024). Pinned as a floor\n rather than left to the badge: the badge is a live third-party iframe, so\n the strip should not collapse if Trustpilot ships a shorter box. */\n .qura-pressbar-card{padding:20px;gap:32px;min-height:74px;box-sizing:border-box}\n}\n@media (min-width:1024px){\n .qura-pressbar{flex-direction:row;gap:clamp(32px,4vw,64px)}\n .qura-pressbar-divider{width:1px;height:64px}\n /* Once the row sits beside the card, space-between owns the rhythm and the\n gap only has to be a floor â Figma's 110px would force a wrap below\n ~1500px. The logos also step down so the set keeps one line at 1024. */\n .qura-pressbar-logos{justify-content:space-between;flex:1 1 auto;gap:24px;--qura-press-scale:0.68}\n}\n@media (min-width:1280px){\n .qura-pressbar-logos{--qura-press-scale:1}\n}\n/* The labelled variant. It shares the logo box's custom properties but none of\n the marquee: each set is short enough to wrap on a phone, and wrapping keeps\n it under the line that names it. */\n.qura-pressbar--groups{flex-direction:column;align-items:stretch;gap:32px}\n.qura-pressbar-group{\n display:flex;\n flex-direction:column;\n gap:16px;\n min-width:0;\n}\n/* Phone (Figma node 9007:196330): both lines centred over their set, and each\n set running wider than the frame â which is played as the same endless\n marquee the badge variant uses, so every mark comes past on its own. */\n.qura-pressbar-group-title{\n margin:0;\n font-size:16px;\n line-height:28px;\n font-weight:500;\n text-align:center;\n}\n.qura-pressbar-group-clip{width:100%;overflow:hidden}\n.qura-pressbar-group-track{\n display:flex;\n width:max-content;\n margin-inline:auto;\n gap:32px;\n animation:qura-press-marquee var(--qura-press-marquee-duration, 18s) linear infinite;\n}\n.qura-pressbar-group-logos{\n display:flex;\n align-items:flex-end;\n flex-wrap:nowrap;\n width:max-content;\n gap:32px;\n --qura-press-shrink:0;\n}\n.qura-pressbar-group-logos img{width:var(--qura-press-w-sm)}\n@media (prefers-reduced-motion:reduce) and (max-width:767px){\n .qura-pressbar-group-clip{\n overflow-x:auto;\n overflow-y:hidden;\n overscroll-behavior-x:contain;\n -webkit-overflow-scrolling:touch;\n scrollbar-width:none;\n }\n .qura-pressbar-group-clip::-webkit-scrollbar{display:none}\n .qura-pressbar-group-track{animation:none;gap:0}\n .qura-pressbar-group-dup{display:none}\n}\n@media (min-width:768px){\n .qura-pressbar--groups{\n flex-direction:row;
1\n align-items:stretch;\n gap:clamp(24px,3.2vw,51px);\n }\n .qura-pressbar--groups .qura-pressbar-divider{\n display:block;\n width:1px;\n align-self:stretch;\n height:auto;\n }\n .qura-pressbar-group-title{font-size:18px;text-align:left}\n /* No marquee above the phone: the track stops generating a box so the row\n goes back to being the flex child the strip positions, and the second\n copy leaves the document. */\n .qura-pressbar-group-clip{display:contents}\n .qura-pressbar-group-track{display:contents;animation:none}\n .qura-pressbar-group-dup{display:none}\n /* One line per set from here up. Wrapping is the phone layout: on a desktop\n the marks shrink together instead, the way the badge variant's row does â\n the two sets and their gaps come to 1474 against a 1472 box at exactly\n 1600px, and two pixels are not a reason to drop Corriere onto its own\n line. */\n .qura-pressbar-group-logos{\n width:auto;\n flex-wrap:nowrap;\n /* A floor, not the spacing: space-between below spends whatever the row\n has left over, so the gap only governs a row with none to spend.\n No backticks in here â this stylesheet is a template literal, and one\n would truncate it and silently drop every rule below. */\n gap:clamp(24px,3.75vw,60px);\n /* The grow set is handed the strip's slack, and at the widths the\n artboard was not drawn for that slack is large â at 1920 the press set\n sat in a 1188 row and stopped at 1538, leaving 318 of empty page after\n Corriere. Spreading it puts the last mark on the strip's own right\n edge. The fixed set's row is exactly its content, so it has nothing to\n spread and keeps the artboard's 60. */\n justify-content:space-between;\n --qura-press-shrink:1;\n }\n .qura-pressbar-group-logos img{\n width:calc(var(--qura-press-w) * var(--qura-press-scale, 1));\n }\n /* Figma's 501 and 870 of a 1472 content box (node 9007:195508 and\n 9007:195515): the press set is the one that has to keep one line, so it\n takes the slack and the backers' set stays at its own width. */\n .qura-pressbar-group--grow{flex:1 1 auto}\n .qura-pressbar-group--fixed{flex:0 1 auto}\n}\n@media (min-width:768px) and (max-width:1279px){\n .qura-pressbar-group-logos{--qura-press-scale:0.78}\n}"}}),w&&a.map((e,n)=>(0,r.jsxs)(s.Fragment,{children:[n>0&&(0,r.jsx)("div",{"aria-hidden":!0,className:"qura-pressbar-divider",style:{backgroundColor:h,flexShrink:0}}),(0,r.jsxs)("div",{className:["qura-pressbar-group",n===a.length-1?"qura-pressbar-group--grow":"qura-pressbar-group--fixed"].join(" "),children:[(0,r.jsx)("p",{className:"qura-pressbar-group-title",style:{color:"#0F0E0E"},children:e.title}),(0,r.jsx)("div",{className:"qura-pressbar-group-clip",children:(0,r.jsxs)("div",{className:"qura-pressbar-group-track",children:[(0,r.jsx)("div",{className:"qura-pressbar-group-logos",children:e.logos.map(e=>o(e))}),(0,r.jsx)("div",{"aria-hidden":!0,className:"qura-pressbar-group-logos qura-pressbar-group-dup",children:e.logos.map(e=>o(e,"dup-"))})]})})]})]},e.id)),!w&&x&&(0,r.jsx)("div",{className:l?"qura-pressbar-card":void 0,style:l?i:{flexShrink:0},children:n}),!w&&x&&p.length>0&&(0,r.jsx)("div",{"aria-hidden":!0,className:"qura-pressbar-divider",style:{backgroundColor:h,flexShrink:0}}),!w&&p.length>0&&(0,r.jsx)("div",{className:"qura-pressbar-logos-clip",children:(0,r.jsxs)("div",{className:"qura-pressbar-marquee",children:[(0,r.jsx)("div",{className:"qura-pressbar-logos",children:p.map(e=>o(e))}),(0,r.jsx)("div",{"aria-hidden":!0,className:"qura-pressbar-logos qura-pressbar-logos-dup",children:p.map(e=>o(e,"dup-"))})]})})]})}},3908:(e,a,n)=>{n.d(a,{LandingCostCompare:()=>y});var r=n(9452),s=n(1984),t=n(3538);let i="#0F0E0E",o="#585552",l="#5A3305",p={display:"flex",flexDirection:"column",alignItems:"center",gap:"clamp(40px, 4vw, 64px)",width:"100%",padding:"clamp(40px, 5vw, 80px) clamp(16px, 4vw, 64px) clamp(64px, 10vw, 160px)"},d={margin:0,fontSize:"clamp(16px, 1.25vw, 20px)",lineHeight:1.4,fontWeight:600,backgroundImage:"linear-gradient(11deg, #EACAA7 14%, #926128 57%, #53330E 107%)",backgroundClip:"text",WebkitBackgroun
1dClip:"text",color:"transparent",textAlign:"center",width:"100%"},h={margin:0,fontSize:"clamp(36px, 3.75vw, 60px)",lineHeight:1.1,fontWeight:500,color:i,textAlign:"center",maxWidth:750,overflowWrap:"break-word"},c={margin:0,fontSize:"clamp(16px, 1.125vw, 18px)",lineHeight:24/18,fontWeight:400,color:o,textAlign:"center"},u={display:"flex",flexDirection:"column",alignItems:"flex-start"},g={margin:0,fontSize:24,lineHeight:"26px",fontWeight:500,color:i},m={...g,fontSize:"clamp(24px, 1.875vw, 30px)",lineHeight:1.135},x={margin:0,fontSize:"clamp(40px, 3.75vw, 60px)",lineHeight:1.1,fontWeight:600,color:i},w={margin:0,fontSize:"clamp(16px, 1.125vw, 18px)",lineHeight:24/18,fontWeight:500,color:i,minWidth:0},b={...w,fontSize:"clamp(24px, 1.875vw, 30px)",lineHeight:1.2},f={height:0,minHeight:0,width:"100%"},q={display:"inline-flex",alignItems:"center",justifyContent:"center",gap:10,padding:"19px 32px",border:"none",borderRadius:16,backgroundColor:l,color:"#FFFFFF",fontFamily:"inherit",fontSize:16,lineHeight:"18px",fontWeight:600,textDecoration:"none",whiteSpace:"nowrap",cursor:"pointer"};function y(e){var a;let{eyebrow:n,title:i,description:y,leading:v,plain:k,highlight:j,ticked:F=!0,itemVariant:N="text-lg",footnote:C,highlightFoot:S="#FFE6B9",cardTitleVariant:E="display-xs",cardsMaxWidth:W,cta:I,background:T="linear-gradient(to bottom, #FFFFFF 0%, #F4EDE4 100%)",label:z,id:D,className:H,style:A}=e,B="display-sm"===E?m:g,_="display-sm"===N?b:w,R="display-sm"===N?"calc(clamp(24px, 1.875vw, 30px) * 1.2)":"calc(clamp(16px, 1.125vw, 18px) * 1.3334)",L=null==v?void 0:v.items,M=(e,a,n)=>e.items&&e.items.length>0&&(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:20,width:"100%"},children:e.items.map((e,i)=>(0,r.jsxs)(s.Fragment,{children:[i>0&&(0,r.jsx)("div",{"aria-hidden":!0,style:f,children:(0,r.jsx)("div",{style:{height:1,width:"100%",backgroundImage:"repeating-linear-gradient(90deg, ".concat(n," 0 5px, transparent 5px 10px)")}})}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,width:"100%"},children:[a&&(0,r.jsx)(t.xM,{size:28,color:l}),(0,r.jsxs)("div",{style:{flexGrow:1,minWidth:0},children:[(null==L?void 0:L[i])!=null&&(0,r.jsx)("span",{"aria-hidden":!0,className:"qura-ccomp-itemlabel",children:L[i]}),(0,r.jsx)("p",{style:_,children:e})]})]})]},i))});return(0,r.jsxs)("section",{id:D,"aria-label":z,className:["qura-ccomp",H].filter(Boolean).join(" "),style:{...p,background:T,...A},children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"\n.qura-ccomp-row{\n display:flex;\n flex-direction:column;\n gap:12px;\n width:100%;\n /* Insurance sets its pair 860 wide; the homepage compare runs 940\n (node 8159:128942), so the measure is a variable. */\n max-width:var(--qura-ccomp-w,860px);\n}\n.qura-ccomp-card{width:100%;min-width:0}\n/* The row-label column only exists once the three sit side by side. Below\n that the labels travel inside the cards instead â see the prop. */\n.qura-ccomp-lead{display:none}\n.qura-ccomp-row--lead .qura-ccomp-lead{display:none}\n.qura-ccomp-itemlabel{\n display:block;\n margin:0 0 4px;\n font-size:14px;\n line-height:20px;\n font-weight:500;\n color:#585552;\n}\n/* Mobile (Figma node 8273:172799): 12 between the two cards, 24 \xd7 20 inside\n them, and the header type steps down. */\n.qura-ccomp-cardbox{gap:24px;padding:24px 20px}\n.qura-ccomp-standfirst{max-width:361px}\n@media (min-width:1024px){\n .qura-ccomp-cardbox{gap:24px;padding:32px}\n .qura-ccomp-standfirst{max-width:642px}\n}\n@media (min-width:900px){\n /* Grid rather than a flex row: under border-box, a flex item whose basis is\n 0 is clamped back up to its own horizontal padding, so the padded plain\n card came out 64px wider than the padding-less highlight wrapper\n (512/448 instead of Figma's 480 + 20 + 480), which narrowed the ticked\n column enough to wrap an extra line. Auto columns stay equal whatever\n each card's padding is, and still collapse to one column for a lone card. */\n .qura-ccomp-row{\n display:grid;\n grid-auto-flow:column;\n grid-auto-columns:1fr;
1\n align-items:stretch;\n }\n /* Figma's 280 + 319 + 319 (node 9007:195937): the labels take less than a\n third, so the two comparable columns stay the same width as each other. */\n .qura-ccomp-row--lead{\n grid-auto-flow:row;\n grid-template-columns:minmax(0,0.88fr) minmax(0,1fr) minmax(0,1fr);\n }\n .qura-ccomp-row--lead .qura-ccomp-lead{display:flex}\n .qura-ccomp-itemlabel{display:none}\n}"}}),(n||i||y)&&(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:12,width:"100%"},children:[n&&(0,r.jsx)("p",{style:d,children:n}),i&&(0,r.jsx)("h2",{style:h,children:i}),y&&(0,r.jsx)("p",{className:"qura-ccomp-standfirst",style:{...c,marginTop:12},children:y})]}),(0,r.jsxs)("div",{className:["qura-ccomp-row",L&&L.length>0?"qura-ccomp-row--lead":null].filter(Boolean).join(" "),style:null!=W?{"--qura-ccomp-w":"number"==typeof W?"".concat(W,"px"):W}:void 0,children:[L&&L.length>0&&(0,r.jsxs)("div",{className:"qura-ccomp-lead qura-ccomp-cardbox",style:{flexDirection:"column",alignItems:"flex-start",paddingLeft:0},children:[((null==k?void 0:k.title)||(null==j?void 0:j.title))&&(0,r.jsx)("p",{"aria-hidden":!0,style:{...B,visibility:"hidden"},children:null!=(a=null==k?void 0:k.title)?a:null==j?void 0:j.title}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:20,width:"100%"},children:L.map((e,a)=>(0,r.jsxs)(s.Fragment,{children:[a>0&&(0,r.jsx)("div",{"aria-hidden":!0,style:f}),(0,r.jsx)("p",{style:{...w,display:"flex",alignItems:"center",minHeight:R,color:o},children:e})]},a))})]}),k&&(0,r.jsxs)("div",{className:"qura-ccomp-card qura-ccomp-cardbox",style:u,children:[(0,r.jsx)("p",{style:B,children:k.title}),null!=k.value&&(0,r.jsx)("p",{style:x,children:k.value}),M(k,!1,"rgba(90, 51, 5, 0.3)")]}),j&&(0,r.jsx)("div",{className:"qura-ccomp-card",style:{display:"flex",flexDirection:"column",background:S,borderRadius:"24px 24px 31px 31px",paddingBottom:7,marginBottom:-7},children:(0,r.jsxs)("div",{className:"qura-ccomp-cardbox",style:{...u,flex:1,width:"100%",backgroundColor:"#FFFFFF",borderRadius:24},children:[(0,r.jsx)("p",{style:B,children:j.title}),null!=j.value&&(0,r.jsx)("p",{style:x,children:j.value}),M(j,F,"#E9DFD3")]})})]}),C&&(0,r.jsx)("div",{className:"qura-ccomp-footnote",style:{...c,display:"flex",flexDirection:"column",gap:16,maxWidth:746},children:C}),I&&(I.href?(0,r.jsx)("a",{href:I.href,onClick:I.onClick,style:q,children:I.label}):(0,r.jsx)("button",{type:"button",onClick:I.onClick,style:q,children:I.label}))]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.