1/*! @version pwa-studio: 2.12, @magento/venia-ui: ~11.6.0, @magento/upward-security-headers: ~1.0.14, @magento/pwa-theme-venia: ~2.4.0, @magento/pwa-buildpack: ~11.5.4, @magento/peregrine: ~14.5.1, @magento/pagebuilder: ~9.3.3, @magento/eslint-config: ~1.5.0, @magento/babel-preset-peregrine: ~1.3.3, @apollo/client: ~3.13.8 */ 2(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{"+8Mf":function(e,n,t){"use strict" 3var a,r=t("q1tI"),o=t.n(r),i=t("VkAN"),l=t.n(i),s=t("UYTu"),d=t("+TN3") 4const c=Object(s.d)(a||(a=l()(["\n query GetCredovaMinAmount {\n credovaMinAmount\n }\n"]))) 5var u=t("LboF"),p=t.n(u),m=t("VG/r"),A={insert:"head",singleton:!1} 6p()(m.a,A),m.a.locals 7n.a=(e=>{let{totalAmount:n}=e 8const{credovaMinAmount:t}=(()=>{const{data:e}=Object(d.f)(c) 9return{credovaMinAmount:null==e?void 0:e.credovaMinAmount}})(),a=Number(t||0) 10return Object(r.useEffect)(()=>{if(!n)return 11if(!t)return 12if(n<a)return 13const e=()=>{var e 14if(null===(e=window.CRDV)||void 0===e||!e.plugin)return 15const n=window.CRDV.Environment.Production 16window.CRDV.plugin.config({environment:n,store:"RQL000"}),window.CRDV.plugin.inject("credova-button")} 17if(document.getElementById("credova-plugin-script"))return void e() 18const r=document.createElement("script") 19r.id="credova-plugin-script",r.src="https://plugin.credova.com/plugin.min.js",r.async=!0,r.onload=e,document.body.appendChild(r)},[n,t]),!n||!t||n<Number(t)?null:o.a.createElement("div",{className:"credova-widget-wrapper"},o.a.createElement("p",{className:"credova-button","data-amount":n.toFixed(2),"data-type":"popup"}))})},"0fOT":function(e,n,t){"use strict" 20var a=t("pVnL"),r=t.n(a),o=t("QILm"),i=t.n(o),l=t("q1tI"),s=t.n(l),d=t("17x9"),c=t("8UhI"),u=t("c3RJ") 21const p=["classes","field","id","isRequired","message","validFeedback","label","validate"],m=e=>{const{classes:n,field:t,id:a,isRequired:o=!0,message:d,validFeedback:m="Looks good!",label:A,validate:f}=e,b=i()(e,p),g=Object(u.a)(t),{error:h,touched:$,showError:v,value:C}=g,x="string"==typeof C?C.trim():"",w=v||h?"is-invalid":$&&!h&&x?"is-valid":"" 22return s.a.createElement("div",null,A&&s.a.createElement("div",{className:"d-flex justify-content-between gap-2"},s.a.createElement("label",{htmlFor:a,className:"form-label"},A),s.a.createElement("span",{className:"optional-label"},!1===o?"(Optional)":"")),s.a.createElement(l.Fragment,null,s.a.createElement(c.h,r()({validateOnChange:!0,className:"form-control text-area ".concat(w),field:t,required:o},b)),s.a.createElement("div",{className:"valid-feedback ".concat($&&!h&&x?"d-block":"d-none")},m||"Looks good!"),s.a.createElement("div",{className:"invalid-feedback ".concat(h||v?"d-block":"d-none")},"object"==typeof h&&null!=h&&h.defaultMessage?h.defaultMessage:h)))} 23n.a=m,m.defaultProps={cols:40,rows:4,wrap:"hard"},m.propTypes={classes:Object(d.shape)({input:d.string}),cols:Object(d.oneOfType)([d.number,d.string]),field:d.string.isRequired,message:d.node,rows:Object(d.oneOfType)([d.number,d.string]),wrap:Object(d.oneOf)(["hard","soft"])}},"88oe":function(e,n,t){"use strict" 24t.r(n),t.d(n,"default",function(){return Tn}) 25var a,r=t("q1tI"),o=t.n(r),i=t("17x9"),l=t.n(i),s=t("+TN3"),d=t("Ty5D"),c=t("OlZo"),u=t("y1Xp"),p=t("VkAN"),m=t.n(p),A=t("UYTu") 26const f=Object(A.d)(a||(a=m()(["\n fragment ProductDetailsFragment on ProductInterface {\n __typename\n # eslint-disable-next-line @graphql-eslint/require-id-when-available\n categories {\n uid\n breadcrumbs {\n category_uid\n }\n }\n description {\n html\n }\n short_description {\n html\n }\n short_description_bottom {\n html\n }\n pre_add_to_cart_content {\n html\n }\n id\n uid\n # eslint-disable-next-line @graphql-eslint/require-id-when-available\n media_gallery_entries {\n uid\n label\n position\n disabled\n file\n }\n meta_description\n name\n price {\n regularPrice {\n amount {\n currency\n value\n }\n }\n }\n price_range {\n maximum_price {\n final_price {\n currency\n value\n }\n discount {\n amount_off\n }\n }\n minimum_price {\n final_price {\n currency\n value\n }\n regular_price {\n currency\n value\n }\n discount {\n amount_off\n }\n }\n }\n maximum_discount\n sku\n small_image {\n url\n }\n stock_status\n url_key\n custom_attributes {\n selected_attribute_options {\n attribute_option {\n uid\n label\n is_default\n }\n }\n entered_attribute_value {\n value\n }\n attribute_metadata {\n uid\n code\n label\n attribute_labels {\n store_code\n label\n }
26\n data_type\n is_system\n entity_type\n ui_input {\n ui_input_type\n is_html_allowed\n }\n ... on ProductAttributeMetadata {\n used_in_components\n }\n }\n }\n ships_free_badge\n ... on ConfigurableProduct {\n # eslint-disable-next-line @graphql-eslint/require-id-when-available\n configurable_options {\n attribute_code\n attribute_id\n uid\n label\n default_value_index\n position\n # eslint-disable-next-line @graphql-eslint/require-id-when-available\n values {\n uid\n default_label\n label\n store_label\n use_default_value\n value_index\n swatch_data {\n ... on ImageSwatchData {\n thumbnail\n }\n value\n }\n }\n }\n variants {\n attributes {\n code\n value_index,\n uid\n }\n # eslint-disable-next-line @graphql-eslint/require-id-when-available\n product {\n small_image {\n url\n }\n thumbnail {\n url\n }\n uid\n # eslint-disable-next-line @graphql-eslint/require-id-when-available\n media_gallery_entries {\n uid\n disabled\n file\n label\n position\n }\n sku\n stock_status\n price {\n regularPrice {\n amount {\n currency\n value\n }\n }\n }\n price_range {\n maximum_price {\n final_price {\n currency\n value\n }\n regular_price {\n currency\n value\n }\n discount {\n amount_off\n }\n }\n minimum_price {\n final_price {\n currency\n value\n }\n regular_price {\n currency\n value\n }\n discount {\n amount_off\n }\n }\n }\n custom_attributes {\n selected_attribute_options {\n attribute_option {\n uid\n label\n is_default\n }\n }\n entered_attribute_value {\n value\n }\n attribute_metadata {\n uid\n code\n label\n attribute_labels {\n store_code\n label\n }\n data_type\n is_system\
26n entity_type\n ui_input {\n ui_input_type\n is_html_allowed\n }\n ... on ProductAttributeMetadata {\n used_in_components\n }\n }\n }\n ships_free_badge\n customer_group_price {\n customer_group {\n id\n code\n }\n qty\n price {\n value\n type\n formatted\n currency\n }\n }\n }\n }\n }\n }\n"]))) 27var b,g 28var h={getStoreConfigData:Object(A.d)(b||(b=m()(["\n query getStoreConfigData {\n # eslint-disable-next-line @graphql-eslint/require-id-when-available\n storeConfig {\n store_code\n product_url_suffix\n }\n }\n"]))),getProductDetailQuery:Object(A.d)(g||(g=m()(["\n query getProductDetailForProductPage($urlKey: String!) {\n products(filter: { url_key: { eq: $urlKey } }) {\n items {\n id\n uid\n is_discontinued\n discontinued_notice_title\n discontinued_notice_description\n discontinued_recommended_products_source\n product_brand_filter_url\n product_brand_filter_label\n technical_specifications {\n technical_functional { \n title\n value \n } \n technical_dimensions \n technical_what_s_in_the_box\n product_faq \n }\n ...ProductDetailsFragment\n }\n }\n }\n","\n"])),f)},$=t("Cess") 29var v,C,x,w,k=t("Fk0k"),y=t("UPvi"),_=t("pVnL"),E=t.n(_),I=t("lSNA"),B=t.n(I),O=t("dDsW"),j=t("kriW"),S=t("8UhI"),M=t("04CE"),q=t("j7o3"),D=t("I6fM"),N=t("DNTo"),R=t("1KZI"),z=t("pZLH"),P=t("9872"),T=t("FITH"),F=t("t9Vx"),J=t("xYpT"),G=t("YXm5"),L=t("xqS9"),U=t("+sVj"),Y=t("ZqKV"),W=t("Cazp") 30const K=Object(A.d)(v||(v=m()(["\n mutation AddProductToCart(\n $cartId: String!,\n $product: CartItemInput!,\n $skipShippingRates: Boolean = false\n ) {\n addProductsToCart(\n cartId: $cartId,\n cartItems: [$product],\n skip_shipping_rates: $skipShippingRates\n ) {\n cart {\n id\n ...CartTriggerFragment\n ...MiniCartFragment\n }\n user_errors {\n code\n message\n }\n }\n }\n ","\n ","\n"])),Y.a,W.a),V=Object(A.d)(C||(C=m()(["\n query GetWishlistConfigForProductMOS {\n # eslint-disable-next-line @graphql-eslint/require-id-when-available\n storeConfig {\n store_code\n magento_wishlist_general_is_enabled\n }\n }\n"]))) 31var Q={addConfigurableProductToCartMutation:Object(A.d)(x||(x=m()(["\n mutation addConfigurableProductToCart(\n $cartId: String!\n $quantity: Float!\n $sku: String!\n $parentSku: String!\n ) {\n addConfigurableProductsToCart(\n input: {\n cart_id: $cartId\n cart_items: [\n {\n data: { quantity: $quantity, sku: $sku }\n parent_sku: $parentSku\n }\n ]\n }\n ) {\n cart {\n id\n # Update the cart trigger when adding an item.\n ...CartTriggerFragment\n # Update the mini cart when adding an item.\n ...MiniCartFragment\n }\n }\n }\n ","\n ","\n"])),Y.a,W.a),addProductToCartMutation:K,addSimpleProductToCartMutation:Object(A.d)(w||(w=m()(["\n mutation addSimpleProductToCart(\n $cartId: String!\n $quantity: Float!\n $sku: String!\n ) {\n addSimpleProductsToCart(\n input: {\n cart_id: $cartId\n cart_items: [{ data: { quantity: $quantity, sku: $sku } }]\n }\n ) {\n cart {\n id\n # Update the cart trigger when adding an item.\n ...CartTriggerFragment\n # Update the mini cart when adding an item.\n ...MiniCartFragment\n }\n }\n }\n ","\n ","\n"])),Y.a,W.a),getWishlistConfigQuery:V}
31,H=t("e6Zd"),Z=t("tO8o"),X=t("tv67"),ee=t("GK5L"),ne=t("8LhH"),te=t("a6KG") 32const ae=new Map,re=new Map,oe=(e,n)=>{const t=e.attribute_metadata.label.toLowerCase(),a=n.attribute_metadata.label.toLowerCase() 33return t<a?-1:t>a?1:0},ie=e=>{const{addConfigurableProductToCartMutation:n,addSimpleProductToCartMutation:t,product:a,isInitialProductLoad:o}=e,[,{dispatch:i}]=Object($.b)(),{handleAddToCartSuccess:l}=Object(Z.b)(),d=!(!n&&!t),{addToCartEvent:c,pdpPriceClick:p}=Object(X.a)(),{trackEvent:m}=Object(ee.a)(),A=Object(u.a)(Q,e.operations),f=a.__typename,b=Object(L.a)(f),[{cartId:g}]=Object(P.b)(),[{isSignedIn:h}]=Object(T.b)(),{formatMessage:v}=Object(O.a)(),C=Object(r.useRef)(),x=Object(r.useRef)(),{data:w}=Object(s.f)(ne.a,{fetchPolicy:"cache-and-network",nextFetchPolicy:"cache-first",skip:!h}),{data:k}=Object(s.f)(A.getWishlistConfigQuery,{fetchPolicy:"cache-and-network"}),[y,{loading:_}]=Object(z.a)(n||A.addConfigurableProductToCartMutation),[E,{loading:I}]=Object(z.a)(t||A.addSimpleProductToCartMutation),[B,{data:j,loading:S}]=Object(z.a)(A.addProductToCartMutation),M=Object(r.useMemo)(()=>(e=>{if(!e||!e.length)return 34const n=new Set 35return e.forEach(e=>{let{breadcrumbs:t}=e;(t||[]).forEach(e=>{let{category_id:t}=e 36return n.add(t)})}),e.find(e=>!n.has(e.uid)).uid||e[0].uid})(a.categories),[a.categories]),q=Object(r.useMemo)(()=>(e=>{if(!Object(G.a)(e))return re 37const n=new Map 38for(const{attribute_id:t}of e.configurable_options)n.set(t,void 0) 39return n})(a),[a]),[D,N]=Object(r.useState)(q),[R,Y]=Object(r.useState)(),W=Object(r.useMemo)(()=>(e=>{if(!Object(G.a)(e))return ae 40const n=new Map 41for(const{attribute_id:t,attribute_code:a}of e.configurable_options)n.set(t,a) 42return n})(a),[a]),[K]=Object(r.useState)(W),V=Object(r.useMemo)(()=>((e,n)=>{if(!Object(G.a)(e))return!1 43const{configurable_options:t}=e,a=t.length 44return Array.from(n.values()).filter(e=>!!e).length<a})(a,D),[a,D]),ie=Object(r.useMemo)(()=>((e,n,t)=>{const{stock_status:a,variants:r}=e,o=Object(G.a)(e),i=Array.from(t.values()).filter(e=>!!e).length>0 45if(o&&i){var l 46const e=Object(J.a)({optionCodes:n,optionSelections:t,variants:r}),a=null==e?void 0:null===(l=e.product)||void 0===l?void 0:l.stock_status 47return"OUT_OF_STOCK"===a||!a}return"OUT_OF_STOCK"===a})(a,K,D),[a,K,D]),le=Object(r.useMemo)(()=>{let e=1 48const n=Object(G.a)(a) 49if(a.configurable_options&&n){for(const n of a.configurable_options){e*=n.values.length}return a.variants.length===e}},[a]),se=Object(r.useMemo)(()=>(e=>{const{stock_status:n,variants:t}=e 50if(Object(G.a)(e))return!t.find(e=>"IN_STOCK"===e.product.stock_status) 51return"OUT_OF_STOCK"===n})(a),[a]),de=Object(r.useMemo)(()=>Object(H.a)(a,K,R,D,le),[a,K,R,D,le]),ce=Object(r.useMemo)(()=>((e,n,t,a)=>{let r=[] 52const{media_gallery_entries:o,variants:i,custom_attributes:l}=e 53let s=o 54const d=Object(G.a)(e) 55let c 56if(l){let e=!1;(e=l.some(e=>{var n,t 57return"webrotate_path"===(null===(n=e.attribute_metadata)||void 0===n?void 0:n.code)&&void 0!==(null===(t=e.entered_attribute_value)||void 0===t?void 0:t.value)}))&&(s=[c={uid:"web-rotate-360",file:"",label:"360 View",position:1e4,is360:!0},...s])}const u=Array.from(t.values()).filter(e=>!!e).length>0 58if(d&&u&&!a){let e=Object(J.a)({optionCodes:n,optionSelections:t,variants:i}),a=!1 59e.product.media_gallery_entries&&(e.product.media_gallery_entries.map(e=>{e.position=e.position-1e6,e.is360&&(a=!0)}),c&&!a&&(e.product.media_gallery_entries=[...e.product.media_gallery_entries,c])),r=e?[...e.product.media_gallery_entries]:s}else r=s 60return r})(a,K,D,o),[a,K,D,o]),ue=Object(r.useMemo)(()=>((e,n,t)=>{const{custom_attributes:a,variants:r}=e,o=Object(G.a)(e),i=Array.from(t.values()).filter(e=>!!e).length>0 61if(o&&i){const e=Object(J.a)({optionCodes:n,optionSelections:t,variants:r}) 62return e&&e.product?[...e.product.custom_attributes].sort(oe):[]}return a?[...a].sort(oe):[]})(a,K,D),[a,K,D]),pe=Object(r.useMemo)(()=>((e,n,t)=>{let a 63const{variants:r}=e,o=Object(G.a)(e),i=Array.from(t.values()).filter(e=>!!e).length>0 64if(o&&i){var l,s 65const o=Object(J.a)({optionCodes:n,optionSelections:t,variants:r}) 66a=o?null===(l=o.product.price_range)||void 0===l?void 0:l.maximum_price:null===(s=e.price_range)||void 0===s?void 0:s.maximum_price}else{var d 67a=null===(d=e.price_range)||void 0===d?void 0:d.maximum_price}return a})(a,K,D),[a,K,D]),me=Object(r.useMemo)(()=>((e,n,t)=>{let a 68const{variants:r}=e,o=Object(G.a)(e),i=Array.from(t.values()).filter(e=>!!e).length>0 69if(o&&i){const o=Object(J.a)({optionCodes:n,optionSelections:t,variants:r}) 70a=o?o.product.price_range:e.price_range}else a=e.price_range 71return a})(a,K,D),[a,K,D]),Ae=Object(r.useMemo)(()=>((e,n,t)=>{const{variants:a}
71=e,r=Object(G.a)(e),o=Array.from(t.values()).filter(Boolean).length>0 72if(r&&o){var i 73const e=Object(J.a)({optionCodes:n,optionSelections:t,variants:a}) 74return null!=e&&null!==(i=e.product)&&void 0!==i&&i.customer_group_price?[...e.product.customer_group_price]:[]}return[]})(a,K,D),[a,K,D]),fe=Object(r.useMemo)(()=>((e,n,t)=>{var a 75const r={min:null,max:null},{variants:o}=e||{},i=Object(G.a)(e),l=Array.from(t.values()).filter(Boolean).length>0 76if(i&&l){var s,d 77const e=Object(J.a)({optionCodes:n,optionSelections:t,variants:o}),a=null==e?void 0:null===(s=e.product)||void 0===s?void 0:null===(d=s.customer_group_price)||void 0===d?void 0:d.map(e=>{var n 78return null===(n=e.price)||void 0===n?void 0:n.value}).filter(e=>"number"==typeof e) 79return null!=a&&a.length?{min:Math.min(...a),max:Math.max(...a)}:r}if(null==e||null===(a=e.variants)||void 0===a||!a.length)return r 80const c=e.variants.flatMap(e=>{var n 81return(null===(n=e.product)||void 0===n?void 0:n.customer_group_price)||[]}).map(e=>{var n 82return null===(n=e.price)||void 0===n?void 0:n.value}).filter(e=>"number"==typeof e) 83return c.length?{min:Math.min(...c),max:Math.max(...c)}:r})(a,K,D),[a,K,D]),be=Object(r.useMemo)(()=>{const e=new Map,n=a.configurable_options||[] 84for(const{attribute_id:t,values:a}of n)e.set(t,a) 85return e},[a.configurable_options]),ge=Object(r.useMemo)(()=>{const e=[] 86return D.forEach((n,t)=>{const a=be.get(t),r=null==a?void 0:a.find(e=>e.value_index===n) 87r&&e.push(r.uid)}),e},[be,D]),he=Object(r.useCallback)(async e=>{const{quantity:n}=e 88if(d){const e={item:a,productType:f,quantity:n} 89if(Object(G.a)(a)&&Object(F.a)(e,D,K),b){const n={cartId:g,parentSku:e.parentSku,product:e.item,quantity:e.quantity,sku:e.item.sku} 90if("SimpleProduct"===f)try{await E({variables:n})}catch(e){return}else if("ConfigurableProduct"===f)try{await y({variables:n})}catch(e){return}}}else{const e={cartId:g,product:{sku:a.sku,quantity:n},entered_options:[{uid:a.uid,value:a.name}],skipShippingRates:!0} 91ge.length&&(e.product.selected_options=ge) 92try{if(0===(await B({variables:e})).data.addProductsToCart.user_errors.length){const e=ge.map(e=>{let n="",t="" 93for(const r of a.configurable_options){const a=r.values.find(n=>n.uid===e) 94if(a){n=r.label,t=a.label 95break}}return{attribute:n,value:t,configurable_product_option_value_uid:e}}).filter(e=>e.value) 96i({type:"CART_ADD_ITEM",payload:{cartId:g,sku:a.sku,name:a.name,pricing:a.price,priceTotal:pe.final_price.value,currencyCode:pe.final_price.currency,discountAmount:pe.discount.amount_off,selectedOptions:e,quantity:n}}),c(a,n,{price:pe.final_price.value,currency:pe.final_price.currency||"USD",selected_options:e}),m("add_to_cart") 97const t=e.map(e=>e.value).join(", "),r=Object(te.a)(e,a) 98l({name:a.name,image:(null==r?void 0:r.thumbnail)||a.thumbnail||a.small_image||"/media/catalog/product".concat(ce[0].file),quantityAdded:n,optionsDescription:t})}}catch(e){return}}},[B,g,i,d,a,pe,ge,l]),$e=Object(r.useCallback)((e,n)=>{const t=new Map([...D]) 99t.set(e,n),N(t) 100const a=new Map 101a.set(e,n),Y(a)},[D]),ve={description:a.description,shortDescription:a.short_description,shortDescriptionBottom:a.short_description_bottom,preAddToCartContent:a.pre_add_to_cart_content,name:a.name,price:null==pe?void 0:pe.final_price,priceRange:me,sku:a.sku,technical_specifications:a.technical_specifications,customer_group_price_range:fe,customer_group_price:Ae},Ce=Object(r.useMemo)(()=>{var e 102return Object(U.a)([...(null==j?void 0:null===(e=j.addProductsToCart)||void 0===e?void 0:e.user_errors)||[]])},[j]),xe=Object(r.useMemo)(()=>{const e={quantity:1,sku:a.sku} 103return"ConfigurableProduct"===f&&(e.selected_options=ge),e},[a,f,ge]),we={buttonText:e=>v(e?{id:"wishlistButton.addedText",defaultMessage:"Added to Favorites"}:{id:"wishlistButton.addText",defaultMessage:"Add to Favorites"}),item:xe,storeConfig:k?k.storeConfig:{}},ke=e=>e.current&&e.current.scrollIntoView({behavior:"smooth"}),ye=Object(r.useCallback)(()=>{ke(x)},[x]),_e=Object(r.useCallback)(()=>{p(),ke(C)},[]) 104return{breadcrumbCategoryId:M,errorMessage:Ce,handleAddToCart:he,handleSelectionChange:$e,isOutOfStock:ie,isEverythingOutOfStock:se,outOfStockVariants:de,isAddToCartDisabled:ie||se||V||_||I||S,isSupportedProductType:b,mediaGalleryEntries:ce,shouldShowWishlistButton:h&&k&&!!k.storeConfig.magento_wishlist_general_is_enabled,productDetails:ve,customAttributes:ue,wishlistButtonProps:we,wishlistItemOptions:xe,singleOptionSelection:R,configurableOptions:a.configurable_options,isAddProductLoading:S,isAddConfigurableLoading:_,isAddSimpleLoading:I,userData:w,productFullDetailsRef:C,reviewsRef:x,scrollProductFullDetailsIntoView:_e,scrollReviewsIntoView:ye}} 105var le=t("PkP7"),se=t("dqEZ"),de=t("zq+Z"),ce=t("qQMA"),ue=t("h//d"),pe=t("MfPP") 106function ownKeys(e,n){var t=Object.keys(e) 107if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e) 108n&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,a)}return t}function _objectSpread(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{}
109n%2?ownKeys(Object(t),!0).forEach(function(n){B()(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}const me=function useCarousel(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0 110const[t,a]=Object(r.useState)(n),o=Object(r.useMemo)(()=>(function sortImages(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[] 111const n=[] 112let t,a=!1 113for(const t of e)t.disabled||(n.push(t),a=a||t.position<0) 114if(0===n.length)return[] 115if(a){const e=[],a=[],r=[] 116for(const t of n)t.position<0?e.push(t):0===t.position?a.push(t):r.push(t) 117t=[...e,...a,...r].sort((e,n)=>e.position-n.position)}else t=n.slice().sort((e,n)=>e.position-n.position) 118const r=t.findIndex(e=>"web-rotate-360"===(null==e?void 0:e.uid)) 119if(-1!==r){const[e]=t.splice(r,1) 120t.push(e)}return t.map((e,n)=>_objectSpread(_objectSpread({},e),{},{position:n+1}))})(e),[e]),i=Object(r.useCallback)(()=>{a(n=>n>0?n-1:e.length-1)},[e]),l=Object(r.useCallback)(()=>{a(n=>(n+1)%e.length)},[e]) 121return[{activeItemIndex:t,sortedImages:o},Object(r.useMemo)(()=>({handlePrevious:i,handleNext:l,setActiveItemIndex:a}),[i,l,a])]} 122var Ae=t("EpH3"),fe=t("kZ59") 123var be=t("gqS0") 124const ge=e=>{const n=Object(r.useRef)(),{buttonProps:t}=Object(be.a)(e,n),{children:a}=e 125return o.a.createElement("button",E()({},t,{className:e.className,ref:n}),a)} 126ge.propTypes={className:i.string,children:i.node} 127var he=ge,$e=t("/2PA"),ve=t("RDCz"),Ce=t("01e0"),xe=t("LboF"),we=t.n(xe),ke=t("bbuK"),ye={insert:"head",singleton:!1} 128we()(ke.a,ye),ke.a.locals 129const _e=e=>{const n=Object(u.a)(Ce.a,e.classes),t=Object(r.useRef)(null),{isActive:a,item:{file:i,label:l,is360:s},onClickHandler:d,itemIndex:c,layout:p,setRef:m}=e,A=Object(ve.a)({onClickHandler:d,itemIndex:c}),{handleClick:f}=A 130Object(r.useEffect)(()=>(m&&m(c,t.current),()=>{m&&m(c,null)}),[c,m,t]) 131const b=l||"Image ".concat(c+1),g=a?"Current item: ".concat(b):"Go to item: ".concat(b),h=Object(r.useMemo)(()=>{let e=140,t=140 132return"bottom_mobile"===p&&(e=96,t=96),i?o.a.createElement($e.a,{alt:l||"Thumbnail of ".concat(b),classes:{image:n.image,root:n.imageRoot},height:e,resource:i,width:t,type:"image-product"}):o.a.createElement($e.a,{alt:l||"Placeholder for ".concat(b),classes:{image:n.image,root:n.imageRoot},src:pe.a,height:e,width:t})},[i,l,c,p,n.image,n.imageRoot,b]) 133"bottom_mobile"===p&&n.mobileBottomLayoutButton 134return s?o.a.createElement("button",{ref:t,type:"button",className:"position-relative thumbnail thumbnail--360 ".concat(a?"active":""),onClick:f,"aria-label":g,title:b},o.a.createElement("img",{src:"/static-assets/icons/360thumb.svg",alt:"360 View Icon",className:"thumbnail__360-icon"})):o.a.createElement("button",{ref:t,type:"button",className:"position-relative thumbnail ".concat(a?"active":""),onClick:f,"aria-label":g,title:b},h)} 135_e.propTypes={classes:Object(i.shape)({root:i.string,rootSelected:i.string,image:i.string,imageRoot:i.string,thumbnailButton:i.string,mobileBottomLayoutButton:i.string}),isActive:i.bool,item:Object(i.shape)({label:i.string,file:i.string,is360:i.bool}).isRequired,itemIndex:i.number.isRequired,onClickHandler:i.func.isRequired,layout:i.string,setRef:i.func},_e.defaultProps={layout:"side_desktop"} 136var Ee=_e,Ie=t("iiSH"),Be={insert:"head",singleton:!1},Oe=(we()(Ie.a,Be),Ie.a.locals,t("SLLp")),je=(t("NjpN"),t("xYQT")),Se={insert:"head",singleton:!1} 137we()(je.a,Se),je.a.locals 138var Me=e=>{const{url:n,width:t}=e,a=Object(r.useRef)(null) 139return Object(r.useEffect)(()=>{const e=Oe.a.ImageRotator.Create("webRotate360") 140let t=!1 141return e.settings.configFileURL=n,e.settings.alt="Your alt image description",e.settings.skin="empty",e.settings.apiReadyCallback=((e,n)=>{a.current=e,e.images.onDrag(e=>{}),t&&(a.current.delete(),a.current=null)}),e.runImageRotator(),()=>{t=!0,a.current&&(a.current.delete(),a.current=null)}},[]),o.a.createElement("div",{className:"webRotateViewer"},o.a.createElement("a",{href:"https://www.webrotate360.com/",target:"_blank",className:"webRotateText"},"powered by WebRotate 360"),o.a.createElement("div",{className:"viewerContainer"},o.a.createElement("div",{id:"webRotate360"})))} 142const qe=e=>{const{images:n,magnifierEnabled:t,webRotatePath:a,showThumbnails:i=!0,showDesktopDots:l=!1}=e,{storeConfig:s}=Object(c.b)(),d=Object(ce.b)(),{formatMessage:u}=Object(O.a)(),p=Object(r.useRef)(null),m=Object(r.useRef)(null),A=Object(r.useRef)(new Map),f=(e=>{const{images:n,type:t,imageWidth:a}=e,[o,i]=me(n),{activeItemIndex:l,sortedImages:s}=o,{handlePrevious:d,handleNext:c,setActiveItemIndex:u}=i,p=Object(r.useCallback)(e=>{u(e)},[u]) 143Object(r.useEffect)(()=>{u(0)}
143,[n,u]),Object(r.useEffect)(()=>{if(fe.b){const e=n.map(e=>{let{file:n}=e 144return new URL(Object(Ae.d)(n,a,t),location.origin).href}) 145Object(fe.d)(fe.a.PREFETCH_IMAGES,{urls:e}).catch(e=>{})}},[n,a,t]) 146const m=s[l]||{} 147return{currentImage:m,activeItemIndex:l,altText:m.label||"image-product",handleNext:c,handlePrevious:d,handleThumbnailClick:p,sortedImages:s}})({images:n,imageWidth:640}),{activeItemIndex:b,altText:g,handleThumbnailClick:h,sortedImages:$=[]}=f,v=Object(r.useMemo)(()=>$,[$]),[C,x]=Object(r.useState)(!1),[w,k]=Object(r.useState)(0),[y,_]=Object(r.useState)(!1),[I,B]=Object(r.useState)(!1),[j,S]=Object(r.useState)(0),[M,q]=Object(r.useState)(b) 148Object(r.useEffect)(()=>{const e="ontouchstart"in window||navigator.maxTouchPoints>0||window.matchMedia("(pointer: coarse)").matches 149x(e)},[]),Object(r.useEffect)(()=>{const e=()=>{if(p.current){const e=p.current.offsetWidth 150e>0&&S(e)}} 151let n 152return e(),p.current&&"undefined"!=typeof ResizeObserver?(n=new ResizeObserver(e=>{for(const n of e)n.contentRect.width>0&&S(n.contentRect.width)})).observe(p.current):window.addEventListener("resize",e),()=>{n?n.disconnect():window.removeEventListener("resize",e)}},[]),Object(r.useEffect)(()=>{I||y||q(b)},[b,I,y]) 153const D=Object(r.useMemo)(()=>(null==s?void 0:s.secure_base_media_url)||(null==s?void 0:s.base_media_url)||"/media/",[s]),N=Object(r.useMemo)(()=>v.length>1,[v.length]),R=Object(r.useMemo)(()=>t&&d.innerWidth>=960&&!!D&&!C,[t,d.innerWidth,D,C]),z=Object(r.useMemo)(()=>j>0?j:640,[j,640]),P=(Object(r.useMemo)(()=>z&&Ae.a?z/Ae.a:void 0,[Ae.a,z]),Object(r.useCallback)(e=>e?/^https?:\/\//.test(e)?e:"".concat(D,"catalog/product").concat(e):pe.a,[D])),T=Object(r.useMemo)(()=>N?l||!i?{mode:"dots",layout:"bottom"}:i?{mode:"thumbnails",layout:"bottom"}:{mode:"none",layout:"none"}:{mode:"none",layout:"none"},[N,l,i]),F="thumbnails"===T.mode&&"side"===T.layout,J=("thumbnails"===T.mode||"dots"===T.mode)&&"bottom"===T.layout,G="thumbnails"===T.mode&&"bottom"===T.layout,L=Object(r.useCallback)(e=>{I||(_(!1),B(!0),k(0),q(e))},[I]),U=Object(ue.a)({onSwipedLeft:()=>{if(!C||I)return 154const e=b+1 155L(e<v.length?e:b)},onSwipedRight:()=>{if(!C||I)return 156const e=b-1 157L(e>=0?e:b)},onSwiping:e=>{C&&!I&&(_(!0),k(e.deltaX))},onSwiped:()=>{C&&y&&!I&&L(b)},preventDefaultTouchmoveEvent:!0,trackMouse:!1,delta:20}),Y=Object(r.useCallback)(e=>{if(I)return 158let n=b+e 159n>=0&&n<v.length&&L(n)},[b,v.length,I,L]),W=Object(r.useCallback)(e=>{I||b===e||L(e)},[b,I,L]),K=Object(r.useCallback)(()=>{I&&(b!==M&&h(M),B(!1))},[I,b,M,h]),V=Object(r.useCallback)((e,n)=>{n?A.current.set(e,n):A.current.delete(e)},[]) 160Object(r.useEffect)(()=>{if(G&&A.current.has(b)){const e=A.current.get(b) 161e&&m.current&&e.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})}},[b,G,v.length]) 162const Q=Object(r.useMemo)(()=>"none"===T.mode?null:v.map((e,n)=>"dots"===T.mode?o.a.createElement(he,{key:e.uid,"aria-label":u({id:"productImageCarousel.goToImage",defaultMessage:"Go to image {index}"},{index:n+1}),className:"product-image-carousel__dot ".concat(b===n?"product-image-carousel__dot--active":""),onPress:()=>W(n),type:"button"}):o.a.createElement(Ee,{key:e.uid,item:e,itemIndex:n,isActive:b===n,onClickHandler:W,baseMediaUrl:D,layout:"bottom"===T.layout?"bottom_mobile":"side_desktop",is360Item:"webrotate360_image"===e.label,setRef:G?V:void 0})),[v,b,W,D,T.mode,T.layout,u,G,V]),H=Object(r.useMemo)(()=>{let e=0 163return j>0&&(e=y?-b*j+w:-M*j),{display:"flex",height:"100%",transform:"translateX(".concat(e,"px)"),transition:y||0===j?"none":"transform 0.3s ease-out"}},[j,y,b,w,M]),Z=u({id:"productImageCarousel.previousButtonAriaLabel",defaultMessage:"Previous Image"}),X=u({id:"productImageCarousel.nextButtonAriaLabel",defaultMessage:"Next Image"}) 164return v&&0!==v.length?o.a.createElement("div",{className:"product-image-carousel container-fluid gx-0"},o.a.createElement("div",{className:"row gallery"},o.a.createElement("div",{className:"product-image-carousel__main-content ".concat(F?"col-lg-8 order-lg-2":"col-12 order-1")},o.a.createElement("div",{className:"product-image-carousel__viewport position-relative",ref:p},o.a.createElement(he,{className:"product-image-carousel__nav-button product-image-carousel__nav-button--prev d-none d-lg-inline-block",onPress:()=>Y(-1),"aria-label":Z,type:"button",disabled:0===b||I},o.a.createElement("span",{className:"glf glf-icon glf-icon--arrowLeft"})),o.a.createElement("div",{className:"product-image-carousel__image-strip-wrapper overflow-hidden"},o.a.createElement("div",E()({className:"product-image-carousel__image-strip",style:H},C&&N?U:{},{onTransitionEnd:K}),v.map((e,n)=>{const t=e.file,r=e.label||g,i=P(t),l=R&&t&&i!==pe.a,s=0===j||!t||i===pe.a 165return o.a.createElement("div",{key:e.uid,className:"product-image-carousel__image-slide",style:{width:z,flexShrink:0}},e.is360?o.a.createElement("div",{className:"h-100 w-100 d-block"},o.a.createElement(Me,{width:j>
1650?j:640,url:a})):o.a.createElement("div",null,s?o.a.createElement($e.a,{alt:r,classes:{image:"product-image-carousel__current-image product-image-carousel__current-image--placeholder",root:"product-image-carousel__current-image-wrapper"},src:pe.a,width:640}):l?o.a.createElement(de.a,{enlargedImageContainerClassName:"zoom-container",smallImage:{alt:r,isFluidWidth:!0,src:i},largeImage:{src:i,width:e.width||1200,height:e.height||1200},enlargedImagePosition:"over",isHintEnabled:!0,shouldHideHintAfterFirstActivation:!0}):o.a.createElement($e.a,{alt:r,classes:{image:"product-image-carousel__current-image",root:"product-image-carousel__current-image-wrapper"},src:i,width:j>0?j:640,onError:e=>void 0})))}))),o.a.createElement(he,{className:"product-image-carousel__nav-button product-image-carousel__nav-button--next d-none d-lg-inline-block",onPress:()=>Y(1),"aria-label":X,type:"button",disabled:b===v.length-1||I},o.a.createElement("span",{className:"glf glf-icon glf-icon--arrowRight"})))),J&&o.a.createElement("div",{className:"col-12 order-2 product-image-carousel__bottom-indicators ".concat(G?"has-thumbnails-scrollable":""," ").concat("dots"===T.mode?"product-image-carousel__bottom-dots":""),ref:G?m:null},Q))):o.a.createElement("div",{className:"product-image-carousel container-fluid gx-0"},o.a.createElement("div",{className:"product-image-carousel__viewport",style:{width:"100%"}},o.a.createElement($e.a,{alt:g||"Placeholder",classes:{image:"product-image-carousel__current-image product-image-carousel__current-image--placeholder",root:"product-image-carousel__current-image-wrapper"},src:pe.a,width:640})))} 166qe.propTypes={images:Object(i.arrayOf)(Object(i.shape)({label:i.string,position:i.number,disabled:i.bool,file:i.string.isRequired,uid:i.string.isRequired,width:i.number,height:i.number})).isRequired,magnifierEnabled:i.bool,showThumbnails:i.bool,showDesktopDots:i.bool,classes:Object(i.shape)({root:i.string})},qe.defaultProps={magnifierEnabled:!0,showThumbnails:!0,showDesktopDots:!1} 167var De=qe,Ne=t("PQ+J"),Re=t("STDB"),ze=t("il8O"),Pe=(t("vIiB"),t("Ylj9")),Te={insert:"head",singleton:!1} 168we()(Pe.a,Te),Pe.a.locals 169const Fe=[],Je=()=>"undefined"!=typeof window&&window.innerWidth<=768 170function StickyScrollSection(e){let{steps:n=Fe,containerHeightMultiplier:t=100,mobileContainerHeightMultiplier:a=105}=e 171const[i,l]=Object(r.useState)(0),[s,d]=Object(r.useState)(Je),c=Object(r.useRef)(null),u=Object(r.useRef)(null),p=n.length,m=s?a:t,A=s?Math.max(101,10*p):100*p,f=p>0?p*m:0,b="".concat(Math.max(A,f),"vh") 172if(Object(r.useLayoutEffect)(()=>{if("undefined"==typeof window)return 173const e=()=>d(Je()) 174return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)},[]),Object(r.useEffect)(()=>{if(0===p)return 175const e=()=>{const e=c.current,n=u.current 176if(!e||!n)return 177const t=e.offsetTop,a=parseFloat(e.style.height||"0")*window.innerHeight/100,r=a>0?a:e.offsetHeight,o=n.offsetHeight,i=Math.max(1,r-o),s=window.scrollY-t 178let d=0 179if(s<0)d=0 180else if(s>=i)d=p-1 181else{const e=s/i 182d=Math.min(p-1,Math.floor(e*p))}l(e=>d!==e?d:e)} 183return window.addEventListener("scroll",e,{passive:!0}),e(),()=>window.removeEventListener("scroll",e)},[p,t,a,s,b]),0===p)return null 184const g=i 185return o.a.createElement("div",{ref:c,className:"sticky-scroll-container",style:{height:b}},o.a.createElement("div",{ref:u,className:"sticky-element"},n.some(e=>e.visual)&&o.a.createElement("div",{className:"dynamic-visual-container"},n.map((e,n)=>{var t 186return e.visual?o.a.createElement("div",{key:"visual-".concat(n),className:"visual-step ".concat(n===g?"active":"")},o.a.createElement("img",{src:e.visual,alt:e.contentBlocks&&(null===(t=e.contentBlocks[0])||void 0===t?void 0:t.title)||e.title})):null})),o.a.createElement("div",{className:"sticky-content-wrapper"},n.map((e,n)=>o.a.createElement("div",{key:"content-".concat(n),className:"content-step ".concat(n===i?"active":"")},e.contentBlocks?e.contentBlocks.map((e,n)=>o.a.createElement("div",{key:n,className:"content-block"},e.title&&o.a.createElement("h2",null,e.title),e.description&&o.a.createElement("div",{className:"description-paragraphs"},e.description.split("\n").map((e,n)=>o.a.createElement("p",{key:n},e.trim()))))):o.a.createElement(o.a.Fragment,null,e.title&&o.a.createElement("h2",null,e.title),e.description&&o.a.createElement("div",{className:"description-paragraphs"},e.description.split("\n").map((e,n)=>o.a.createElement("p",{key:n},e.trim())))))))))}StickyScrollSection.propTypes={steps:l.a.arrayOf(l.a.shape({visual:l.a.string,title:l.a.string,description:l.a.string,contentBlocks:l.a.arrayOf(l.a.shape({title:l.a.string,description:l.a.string}))})),containerHeightMultiplier:l.a.number,mobileContainerHeightMultiplier:l.a.number},StickyScrollSection.defaultProps={steps:[],containerHeightMultiplier:100,mobileContainerHeightMultiplier:100} 187var Ge,Le,Ue,Ye=StickyScrollSection,We=t("J3e4") 188const Ke=Object(A.d)(Ge||(Ge=m()(["\n query GetProductReviews($sku: String!) {\n products(filter: { sku: { eq: $sku } }) {\n items {\n uid\n sku\n name\n review_count\n rating_summary\n reviews {\n items {\n nickname\n summary\n text\n created_at\n average_rating\n }\n }\n }\n }\n }\n"]))),Ve=Object(A.d)(Le||(Le=m()(["\n mutation CreateProductReview(\n $sku: String!\n $nickname: String!\n $summary: String!\n $text: String!\n $ratings: [ProductReviewRatingInput!]!\n ) {\n createProductReview(\n input: {\n sku: $sku\n nickname: $nickname\n summary: $summary\n text: $text\n ratings: $ratings\n }\n ) {\n review {\n nickname\n summary\n text\n }\n }\n }\n"]))),Qe=Object(A.d)(Ue||(Ue=m()(['\n query GetRatingOptions {\n productReviewRatingsMetadata {\n items {\n id # The base64 ID of the rating type (e.g., "Rating")\n name\n values {\n value_id # The base64 ID of the star value (e.g., "5 stars")\n value # The number (e.g., 5)\n }\n }\n }\n }
188\n']))),He=e=>{var n,t,a,r,o,i,l,d,c,u,p 189const{productSku:m}=e,[,{addToast:A}]=Object(We.a)(),{formatMessage:f}=Object(O.a)(),{data:b,loading:g,error:h,refetch:$}=Object(s.f)(Ke,{variables:{sku:m},fetchPolicy:"cache-and-network",skip:!m}),{data:v,loading:C}=Object(s.f)(Qe),[x,{loading:w,error:k}]=Object(z.a)(Ve,{onCompleted:()=>{A({type:"success",message:f({id:"productReviews.submitSuccess",defaultMessage:"Your review has been submitted for approval."}),timeout:5e3}),$()}}) 190return{reviews:(null==b?void 0:null===(n=b.products)||void 0===n?void 0:null===(t=n.items)||void 0===t?void 0:null===(a=t[0])||void 0===a?void 0:null===(r=a.reviews)||void 0===r?void 0:r.items)||[],reviewCount:(null==b?void 0:null===(o=b.products)||void 0===o?void 0:null===(i=o.items)||void 0===i?void 0:null===(l=i[0])||void 0===l?void 0:l.review_count)||0,ratingSummary:(null==b?void 0:null===(d=b.products)||void 0===d?void 0:null===(c=d.items)||void 0===c?void 0:null===(u=c[0])||void 0===u?void 0:u.rating_summary)||0,ratingOptions:(null==v?void 0:null===(p=v.productReviewRatingsMetadata)||void 0===p?void 0:p.items)||[],isLoading:g||C,error:h,handleSubmit:async e=>{var n 191if(null==v||null===(n=v.productReviewRatingsMetadata)||void 0===n||!n.items)return!1 192const t=v.productReviewRatingsMetadata.items.map((n,t)=>{var a,r 193const o=null===(a=e.ratings)||void 0===a?void 0:null===(r=a[t])||void 0===r?void 0:r.value_id 194return o?{id:n.id,value_id:o}:null}).filter(Boolean) 195if(0===t.length)return A({type:"error",message:f({id:"productReviews.selectRatingError",defaultMessage:"Please select a rating before submitting."}),timeout:5e3}),!1 196try{return await x({variables:{sku:m,nickname:e.nickname,summary:e.summary,text:e.text,ratings:t}}),!0}catch(e){return A({type:"error",message:f({id:"productReviews.submitFailure",defaultMessage:"An error occurred. Please try again."}),timeout:5e3}),!1}},isSubmitting:w,submitError:k}} 197var Ze=t("YdRu"),Xe=t("0WG7"),en=t("5kIi"),nn=t("Hq+J"),tn=t("0fOT") 198t("XBLU") 199var an=e=>{const{options:n,value:t,onChange:a,size:i="large"}=e,[l,s]=Object(r.useState)(0) 200if(!Array.isArray(n))return null 201const d=n.find(e=>String(e.value_id)===String(t)),c=d?parseInt(d.value,10):0,u="star-container star-container--".concat(i," star-container--interactive") 202return o.a.createElement("div",{className:u},n.map(e=>{const n=parseInt(e.value,10),t=n<=(l||c)?"star--filled":"star--empty" 203return o.a.createElement("span",{key:e.value_id,className:"star ".concat(t),onClick:()=>(e=>{a(e)})(e.value_id),onMouseEnter:()=>s(n),onMouseLeave:()=>s(0)},o.a.createElement("span",{className:"glf glf-icon glf-icon--star"}))}))} 204const rn=e=>{let{name:n}=e 205const t=Object(S.j)(n),a=t?t.error:null 206return a?o.a.createElement("p",{className:"validation-error"},a.defaultMessage):null},on=e=>{let{name:n,options:t}=e 207const a=Object(S.k)(),r="".concat(n[0],"[").concat(n[1],"].").concat(n[2]),i=Object(S.j)(r) 208return o.a.createElement(o.a.Fragment,null,o.a.createElement(an,{options:t,value:(null==i?void 0:i.value)||"",onChange:e=>a.setValue(r,e),size:"large"}),o.a.createElement("div",{style:{display:"none"}},o.a.createElement(nn.a,{field:r,validate:Ze.b})),o.a.createElement(rn,{name:r}))} 209var ln=e=>{const{onSubmit:n,isSubmitting:t,submitError:a,ratingOptions:i,product:l,setIsFormVisible:s,reviewCount:d}=e,{formatMessage:c}=Object(O.a)(),u=Object(r.useRef)(null),p=Array.isArray(i)&&i.map((e,n)=>{const t=["ratings",n,"value_id"] 210return o.a.createElement("div",{key:e.id,className:"add-review-form__rating-group"},o.a.createElement(on,{name:t,options:e.values}))}) 211return o.a.createElement("div",{className:"add-review-form"},o.a.createElement("p",{className:"add-review-form__prompt"},"YOU'RE REVIEWING:"),o.a.createElement("h3",{className:"add-review-form__product-name"},l.name),o.a.createElement(S.b,{onSubmit:async e=>{var t 212await n(e)&&(null===(t=u.current)||void 0===t||t.reset(),d>0&&s(!1))},getApi:e=>{u.current=e},className:"d-flex flex-column gap-3"},p,o.a.createElement("div",{className:"col-12 form-group"},o.a.createElement(en.a,{id:"nickname"},o.a.createElement(nn.a,{field:"nickname",id:"reviewNickname",validate:Ze.b,"aria-label":c({id:"global.nicknameRequired",defaultMessage:"Nickname Required"}),label:c({id:"global.nickname",defaultMessage:"Nickname"})}))),o.a.createElement("div",{className:"col-12 form-group"},o.a.createElement(en.a,{id:"summary"},o.a.createElement(nn.a,{field:"summary",id:"reviewSummary",validate:Ze.b,"aria-label":c({id:"global.summaryRequired",defaultMessage:"Summary Required"}),label:c({id:"global.summary",defaultMessage:"Summary"})}))),o.a.createElement("div",{className:"col-12 form-group"},o.a.createElement(en.a,{id:"review"},o.a.createElement(tn.a,{field:"text",id:"reviewReview",validate:Ze.b,"aria-label":c({id:"global.reviewRequired",defaultMessage:"Review Required"}),label:c({id:"global.review",defaultMessage:"Review"})}))),o.a.createElement(Xe.a,{errors:a?[a]:[]}),o.a.createElement(le.a,{type:"submit",priority:"high",disabled:t,className:"btn btn-primary m-0"},t?"SUBMITTING...":"SUBMIT REVIEW")))},sn=t("N9KK"),dn=t("LiED"),cn=t("ACyH"),un=t("/9BQ"),pn=t("ysXb"),mn={insert:"head",singleton:!1} 213we()(pn.a,mn),pn.a.locals 214var An=e=>{const{product:n,reviewCount:t,isFormVisible:a,setIsFormVisible:r}=e,{reviews:i,isLoading:l,error:s,handleSubmit:d,isSubmitting:c,submitError:u,ratingOptions:p}=He({productSku:n.sku}) 215if(l)return o.a.createElement(dn.a,null) 216if(s)return o.a.createElement("div",null,"Error fetching reviews.") 217const m=i.map(e=>o.a.createElement("div",{key:e.created_at+e.nickname,className:"review-item"},o.a.createElement(un.a,{rating:e.average_rating,size:"small"}),o.a.createElement("h4",{className:"review-item__summary"},e.summary),o.a.createElement("div",{className:"review-item__content-wrapper"},o.a.createElement("p",{className:"review-item__meta"},"Review by ",e.nickname," |"," ",(e=>new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}))(e.created_at)),o.a.createElement("p",{className:"review-item__text"},e.text)))) 218return o.a.createElement("div",{id:"product-reviews-section",className:"reviews-container"},t>0&&o.a.createElement("div",{className:"row"},o.a.createElement("div",null,o.a.createElement("div",{className:"reviews-header"}
218,o.a.createElement(sn.a,{productSku:n.sku,displayMode:"detailed"}),o.a.createElement(cn.a,{className:"text-uppercase btn btn-primary",priority:"normal",onClick:()=>r(e=>!e)},a?"CANCEL":"WRITE A REVIEW")))),a&&o.a.createElement(ln,{onSubmit:d,isSubmitting:c,submitError:u,ratingOptions:p,product:n,setIsFormVisible:r,reviewCount:t}),o.a.createElement("div",{className:"review-list"},i.length>0?m:null))},fn=t("c9Zo"),bn=t("xmkN"),gn={insert:"head",singleton:!1} 219we()(bn.a,gn),bn.a.locals 220const hn=e=>{let{sections:n}=e 221const t=Object(r.useRef)(null),a=Object(r.useRef)({}),[i,l]=Object(r.useState)(n[0]?n[0].id:""),[s,d]=Object(r.useState)(0),c=n.map(e=>e.id).join("|") 222Object(r.useEffect)(()=>{const e=()=>{var e 223const n=[...document.querySelectorAll(".global-header")].find(e=>e.offsetHeight>0),a=n?n.offsetHeight:0 224if(window.innerWidth>=992)return void d(a) 225const r=null===(e=t.current)||void 0===e?void 0:e.closest(".product-full-detail__desktop-fixed-actions"),o=r?r.offsetHeight:0 226d(a+o)} 227return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),Object(r.useEffect)(()=>{if(!c||"undefined"==typeof IntersectionObserver)return 228const e=c.split("|"),n=e.map(e=>document.getElementById(e)).filter(Boolean) 229if(!n.length)return 230const t=new Map,a=new IntersectionObserver(n=>{n.forEach(e=>{t.set(e.target.id,{isIntersecting:e.isIntersecting,top:e.boundingClientRect.top})}) 231const a=e.map(e=>{const n=t.get(e) 232return n&&n.isIntersecting?{id:e,top:n.top}:null}).filter(Boolean).sort((e,n)=>Math.abs(e.top)-Math.abs(n.top)) 233a.length&&l(a[0].id)},{rootMargin:"-".concat(s+16,"px 0px -60% 0px"),threshold:0}) 234return n.forEach(e=>a.observe(e)),()=>a.disconnect()},[c,s]),Object(r.useEffect)(()=>{const e=a.current[i] 235e&&e.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})},[i]) 236const u=Object(r.useCallback)((e,n)=>{e.preventDefault() 237const t=document.getElementById(n) 238if(!t)return 239const a=(t.querySelector("h1, h2")||t).getBoundingClientRect().top+window.pageYOffset-(s+16) 240window.scrollTo({top:a>0?a:0,behavior:"smooth"})},[s]) 241return n.length?o.a.createElement("nav",{ref:t,className:"product-secondary-nav","aria-label":"Product sections"},o.a.createElement("ul",{className:"product-secondary-nav__list"},n.map(e=>o.a.createElement("li",{key:e.id,className:"product-secondary-nav__item"},o.a.createElement("a",{href:"#".concat(e.id),ref:n=>a.current[e.id]=n,className:"product-secondary-nav__link".concat(i===e.id?" product-secondary-nav__link--active":""),onClick:n=>u(n,e.id)},e.label))))):null} 242hn.propTypes={sections:Object(i.arrayOf)(Object(i.shape)({id:i.string.isRequired,label:i.string.isRequired})).isRequired} 243var $n=hn,vn=t("AelP"),Cn=t("+8Mf"),xn=t("M+p9"),wn=t("ncKf"),kn=t("xKc5") 244function productFullDetail_ownKeys(e,n){var t=Object.keys(e) 245if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e) 246n&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,a)}return t}function productFullDetail_objectSpread(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{} 247n%2?productFullDetail_ownKeys(Object(t),!0).forEach(function(n){B()(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):productFullDetail_ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}o.a.lazy(()=>Promise.all([t.e(1),t.e(87)]).then(t.bind(null,"7O3U"))) 248const yn=o.a.lazy(()=>t.e(77).then(t.bind(null,"t1Bi"))),_n={"The requested qty is not available":"quantity","Product that you are trying to add is not available.":"quantity","The product that was requested doesn't exist.":"quantity"},En={quantity:"The requested quantity is not available."},In=["LNK9","LNK9-WO","LNK9-OR"],Bn=e=>{let{productDetails:n,hasMissingOptions:t}=e 249const{values:a}=Object(S.l)(),i=Number(null==a?void 0:a.quantity)||1,l=Object(r.useMemo)(()=>{const e=[...(null==n?void 0:n.customer_group_price)||[]].sort((e,n)=>e.qty-n.qty) 250if(!e.length)return null 251if(t)return e[0] 252let a=e[0] 253for(const n of e)i>=n.qty&&(a=n) 254return a},[n,i,t]) 255return null!=l&&l.price?o.a.createElement(R.a,{currencyCode:l.price.currency,value:l.price.value,hideZeroDecimals:!0}):null},On=e=>{let{productDetails:n,hasMissingOptions:t}=e 256const{values:a}=Object(S.l)(),i=Number(null==a?void 0:a.quantity)||1,l=Object(r.useMemo)(()=>{const e=[...(null==n?void 0:n.customer_group_price)||[]].sort((e,n)=>e.qty-n.qty) 257if(!e.length)return null 258if(t)return e[0] 259let a=e[0] 260for(const n of e)i>=n.qty&&(a=n) 261return a},[n,i,t]) 262return null!=l&&l.price?o.a.createElement("div",{className:"product-full-detail__credova-section badge"},o.a.createElement(Cn.a,{totalAmount:l.price.value})):null},jn=e=>{var n,t,a,i,l,s,d,p,m,A,f 263const{product:b}=e,[g,h]=Object(r.useState)(!0),$=ie({product:b,isInitialProductLoad:g}),[v,C]=Object(r.useState)(!1),[x,w]=Object(r.useState)(null),[k,y]=Object(r.useState)(!1),[_,I
263]=Object(r.useState)(!1),B=Object(r.useRef)(null),z=Object(r.useRef)(0),[P,T]=Object(r.useState)(100),F=Object(r.useRef)(null),[J,L]=Object(r.useState)(0),[U,Y]=Object(r.useState)(!1),W=Object(r.useRef)(null),K=Object(r.useRef)(null),V=Object(r.useRef)(null),[Q,H]=Object(r.useState)(!1),[Z,ee]=Object(r.useState)(null),[ne,te]=Object(r.useState)(""),[ae,re]=Object(r.useState)(null),[oe,de]=Object(r.useState)(""),[ce,ue]=Object(r.useState)(null),[pe,me]=Object(r.useState)(null),Ae=Object(r.useRef)(null),fe=Object(r.useRef)(null),[{drawer:be},{toggleDrawer:ge,closeDrawer:he}]=Object(c.b)(),[$e,ve]=Object(r.useState)(!1),{reviewCount:Ce}=He({productSku:b.sku}) 264Object(r.useEffect)(()=>{ve(0===Ce)},[Ce]) 265const{viewItemEvent:xe,pdpFAQClick:we}=Object(X.a)(),{errorMessage:ke,handleAddToCart:ye,handleSelectionChange:_e,isEverythingOutOfStock:Ee,isAddToCartDisabled:Ie,isSupportedProductType:Be,mediaGalleryEntries:Oe,productDetails:je,customAttributes:Se,configurableOptions:Me,isAddProductLoading:qe,isAddConfigurableLoading:Pe,isAddSimpleLoading:Te,userData:Fe,wishlistItemOptions:Je,productFullDetailsRef:Ge,scrollProductFullDetailsIntoView:Le,scrollReviewsIntoView:Ue,reviewsRef:We,singleOptionSelection:Ke}=$,Ve=Object(G.a)(b)&&Ke?o.a.createElement(kn.a,{priceRange:je.priceRange,priceSourceValue:je.price.value,currencyCode:je.price.currency,hideZeroDecimals:!0}):o.a.createElement(kn.a,{priceRange:b.price_range,priceSourceValue:je.price.value,currencyCode:je.price.currency,maximumDiscount:b.maximum_discount,hideZeroDecimals:!0}),Qe="returnPolicy"===be 266Object(r.useEffect)(()=>{h(!0)},[]) 267const Ze=Object(r.useMemo)(()=>{return(Me||[]).filter(Boolean).map(e=>{if(null!=e.default_value_index&&e.default_value_index>=0){const n=e.values.find(n=>n.value_index===e.default_value_index) 268if(n){const t=e.values.filter(n=>n.value_index!==e.default_value_index) 269return productFullDetail_objectSpread(productFullDetail_objectSpread({},e),{},{values:[n,...t]})}}return e})},[Me]),Xe=Object(r.useMemo)(()=>{const e=[] 270if(!(Object(G.a)(b)&&Je&&Je.selected_options&&Ze))return e 271const n=new Set(Je.selected_options) 272for(const t of Ze)for(const a of t.values)if(n.has(a.uid)){e.push({id:t.attribute_id,value_label:a.label}) 273break}return e},[b,Je,Ze]) 274Object(r.useEffect)(()=>{if(!Ze||0===Ze.length||!Je)return 275const e=new Set(Je.selected_options||[]) 276for(const n of Ze){!n.values.some(n=>e.has(n.uid))&&null!=n.default_value_index&&n.default_value_index>=0&&_e(n.attribute_id,n.default_value_index)}},[Ze,_e,Je]) 277const{formatMessage:en}=Object(O.a)(),nn=Object(u.a)(e.classes),tn=qe||Pe||Te,an=Object(r.useRef)(null) 278Object(r.useEffect)(()=>{if(b&&b.sku&&b.sku!==an.current){var e,n 279const t={price:null===(e=b.price)||void 0===e?void 0:e.value,currency:null===(n=b.price)||void 0===n?void 0:n.currency} 280xe(b,t),an.current=b.sku}},[b]),Object(r.useEffect)(()=>{const e=e=>{Ae.current&&Ae.current.contains(e.target)||fe.current&&fe.current.contains(e.target)||ue(null)} 281return ce&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[ce]),Object(r.useEffect)(()=>{if(!Z&&Se){const e=Se.filter(e=>{var n 282return"sticky_scroll_data"===(null===(n=e.attribute_metadata)||void 0===n?void 0:n.code)}).map(e=>{var n 283return null===(n=e.entered_attribute_value)||void 0===n?void 0:n.value})||"" 284if(e.length&&e[0])try{ee(JSON.parse(e[0]))}catch(e){}}},[Se,Z]),Object(r.useEffect)(()=>{const e=Se 285if(!Array.isArray(e)||0===e.length)return 286const n=e.reduce((e,n)=>{var t,a,r,o 287const i=null===(t=n.attribute_metadata)||void 0===t?void 0:t.code,l=null===(a=n.selected_attribute_options)||void 0===a?void 0:null===(r=a.attribute_option)||void 0===r?void 0:null===(o=r[0])||void 0===o?void 0:o.label 288return i&&l&&(e[i]=l),e},{}) 289te(n.ships_free_badge||"")},[Se]) 290Object(r.useMemo)(()=>{if(!(Object(G.a)(b)&&Je&&Je.selected_options&&Ze))return"None" 291return Je.selected_options.map(e=>{for(const n of Ze){const t=n.values.find(n=>n.uid===e) 292if(t)return t.label}return null}).filter(Boolean).join(", ")||"None"},[b,Je,Ze]) 293Object(r.useEffect)(()=>{if("scrollRestoration"in history){const e=history.scrollRestoration 294return history.scrollRestoration="manual",window.scrollTo(0,0),()=>{history.scrollRestoration=e}}window.scrollTo(0,0)},[]),Object(r.useEffect)(()=>{w(ke)},[ke]),Object(r.useEffect)(()=>{const e=B.current 295if(e){const n=setTimeout(()=>{const n=e.offsetHeight 296n>0&&T(n)},0) 297return()=>clearTimeout(n)}},[x,_,Q]),Object(r.useEffect)(()=>{const e=B.current 298if(!e)return 2990===z.current&&e.offsetTop>0&&(z.current=e.offsetTop) 300const n=()=>
300{if(e&&z.current>0){const e=window.scrollY 301I(e>P)}else e&&0===z.current&&e.offsetTop>0&&(z.current=e.offsetTop)} 302return window.addEventListener("scroll",n,{passive:!0}),n(),()=>window.removeEventListener("scroll",n)},[P]),Object(r.useEffect)(()=>{const e=F.current 303if(!e)return 304const n=()=>{if(window.innerWidth>=992)return void H(!1) 305const n=e.getBoundingClientRect() 306H(n.bottom<0)} 307return window.addEventListener("scroll",n,{passive:!0}),window.addEventListener("resize",n,{passive:!0}),n(),()=>{window.removeEventListener("scroll",n),window.removeEventListener("resize",n)}},[]),Object(r.useEffect)(()=>{const e=()=>{if(window.innerWidth>=992)return void L(0) 308const e=[...document.querySelectorAll(".global-header")].find(e=>e.offsetHeight>0) 309L(e?e.offsetHeight:0)} 310return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),Object(r.useEffect)(()=>{const e=F.current 311if(!e||"undefined"==typeof IntersectionObserver)return 312const n=new IntersectionObserver(e=>{let[n]=e 313Y(!n.isIntersecting&&n.boundingClientRect.top<0)},{threshold:0}) 314return n.observe(e),()=>n.disconnect()},[]) 315const rn=e=>{let{errorMessage:n}=e 316return n?o.a.createElement("div",{className:"alert alert-danger alert-dismissible fade show",role:"alert"},o.a.createElement("span",{className:"glf glf-icon glf-icon--icon-error"}),o.a.createElement("span",null,n)):null},on=()=>window.scrollTo({top:0,behavior:"smooth"}),ln=()=>{const e=V.current||W.current 317if(e){const n=100,t=e.getBoundingClientRect().top+window.pageYOffset-n 318window.scrollTo({top:t>0?t:0,behavior:"smooth"})}else on()},dn=Object(G.a)(b)&&(null==Ze?void 0:Ze.some(e=>!e.values.some(e=>{var n 319return null==Je?void 0:null===(n=Je.selected_options)||void 0===n?void 0:n.includes(e.uid)}))),cn=tn||v,un=Object(G.a)(b)&&Ie&&!Ee&&!cn,pn=(e,n)=>{if(un){e.preventDefault() 320const t=(()=>{if(!Ze)return"required option" 321const e=new Set((null==Je?void 0:Je.selected_options)||[]) 322for(const n of Ze)if(!n.values.some(n=>e.has(n.uid)))return n.label 323return"required option"})() 324de(t),ue(n),"mobile"===n&&ln()}else ue(null)},mn=Object(G.a)(b)?o.a.createElement("div",{ref:W,className:"product-full-detail__options-wrapper"},o.a.createElement(r.Suspense,{fallback:o.a.createElement(ze.a,null)},o.a.createElement(yn,{onSelectionChange:(e,n)=>{h(!1),ue(null),_e(e,n)},options:Ze,isEverythingOutOfStock:Ee,outOfStockVariants:$.outOfStockVariants,onActiveOptionLabelChange:re,selectedValues:Xe}))):null,bn=Object(r.useMemo)(()=>{const e=new Map 325return ke&&(Object.keys(_n).forEach(n=>{ke.includes(n)&&e.set(_n[n],En[_n[n]])}),ke.includes("The current user cannot")&&e.set("form",[new Error(en({id:"productFullDetail.errorToken",defaultMessage:"There was a problem with your cart. Please sign in again and try adding the item once more."}))]),ke.includes('Variable "$cartId" got invalid value null')&&e.set("form",[new Error(en({id:"productFullDetail.errorCart",defaultMessage:"There was a problem with your cart. Please refresh the page and try adding the item once more."}))]),e.size||e.set("form",[new Error(ke)])),e},[ke,en]),gn=(Object(r.useMemo)(()=>Array.isArray(Se)&&Se.some(e=>"PAGEBUILDER"===e.attribute_metadata.ui_input.ui_input_type),[Se]),Object(r.useMemo)(()=>{if(Se){return(Se.filter(e=>{var n 326return"webrotate_path"===(null===(n=e.attribute_metadata)||void 0===n?void 0:n.code)}).map(e=>{var n 327return null===(n=e.entered_attribute_value)||void 0===n?void 0:n.value})||"")[0]}return""},[Se])),{functionalAttributes:hn,dimensionsHtml:jn,whatsInTheBoxHtml:Sn,faqDataJ
327son:Mn}=Object(r.useMemo)(()=>{const e=null==je?void 0:je.technical_specifications 328let n=[] 329e&&Array.isArray(e.technical_functional)&&(n=e.technical_functional.map(e=>{let n=e.value 330return"Magazine Capacity"===e.title&&Array.isArray(n)&&(n=[...n].reverse().map(e=>e.toLowerCase())),{label:e.title,htmlValue:n?String(n).replace(/,\s*/g," or "):"",type:null===n||""===n||void 0===n?"heading":void 0}})) 331const t=(null==e?void 0:e.technical_dimensions)||"",a=(null==e?void 0:e.technical_what_s_in_the_box)||"",r=(null==e?void 0:e.product_faq)||"[]" 332return{functionalAttributes:n,dimensionsHtml:t,whatsInTheBoxHtml:a,faqDataJson:JSON.parse(r)}},[je]),qn=hn.slice(3),Dn=(qn.length>0||jn&&jn.trim(),Ee||cn||Ie),Nn={priority:"high",className:"w-100 text-uppercase btn btn-primary ".concat(Dn?"is-functionally-disabled":""),"aria-disabled":Dn,type:"submit","aria-label":en(Ee?{id:"productFullDetail.outOfStockProduct",defaultMessage:"This item is currently out of stock"}:cn?{id:"productFullDetail.processingBuyNowAria",defaultMessage:"Processing Add to Cart action"}:un?{id:"productFullDetail.selectOptionsToBuyAria",defaultMessage:"Select options to add to cart"}:{id:"productFullDetail.buyNowAria",defaultMessage:"Add to cart"})},Rn=un,zn=Ee||cn||!Rn&&Ie,Pn={priority:"high",className:"w-100 text-uppercase btn btn-primary ".concat(zn?"is-functionally-disabled":""),"aria-disabled":zn,type:Rn?"button":"submit",onClick:Rn?ln:void 0,"aria-label":en(Ee?{id:"productFullDetail.outOfStockProduct",defaultMessage:"This item is currently out of stock"}:cn?{id:"productFullDetail.processingBuyNowAria",defaultMessage:"Processing add to cart action"}:Rn?{id:"productFullDetail.configureProductAria",defaultMessage:"Configure product options"}:{id:"productFullDetail.buyNowAria",defaultMessage:"Add to cart"})},Tn=Object(r.useCallback)(()=>{ge("returnPolicy")},[ge]),Fn=Object(r.useCallback)(()=>{he("returnPolicy")},[he]),Jn=o.a.createElement(xn.b,{isOpen:Qe,onCancel:Fn,shouldShowButtons:!1,shouldUnmountOnHide:!1,title:en({id:"returnPolicy",defaultMessage:"Exchange Policy"})},o.a.createElement(wn.a,{identifier:"30-days-exchanges"})),Gn=o.a.createElement(le.a,{priority:"low",type:"button",className:"text-uppercase btn btn-primary product-full-detail__technical-details-toggle-button",onClick:()=>{const e=k 333if(y(!e),e&&K.current){const e=79,n=K.current.getBoundingClientRect().top+window.pageYOffset-e 334setTimeout(()=>{window.scrollTo({top:n>0?n:0,behavior:"smooth"})},50)}},"aria-expanded":k},k?o.a.createElement(o.a.Fragment,null,o.a.createElement(j.a,{id:"productFullDetail.showLessDetails",defaultMessage:"Show Less"})," ",o.a.createElement(N.a,{src:M.a,size:18})):o.a.createElement(o.a.Fragment,null,o.a.createElement(j.a,{id:"productFullDetail.showMoreDetails",defaultMessage:"Show More"})," ",o.a.createElement(N.a,{src:q.a,size:18}))),Ln=Object(r.useMemo)(()=>hn.length>0||jn&&""!==jn.trim(),[hn,jn]),Un=Object(r.useMemo)(()=>{if("LNK9"!==je.sku)return[] 335const e=[] 336return null!=Mn&&Mn.length&&e.push({id:"pdp-secondary-nav-faq",label:"FAQ"}),null!=je&&je.description&&e.push({id:"pdp-secondary-nav-safeguard",label:"Safeguard User Interface"}),Ln&&e.push({id:"pdp-secondary-nav-technical-data",label:"Technical Data"}),e.push({id:"pdp-secondary-nav-reviews",label:"Reviews"}),e},[je.sku,null==je?void 0:je.description,Mn,Ln]),Yn=null!==(n=je.shortDescription)&&void 0!==n&&n.html&&""!==je.shortDescription.html.trim()?o.a.createElement(Re.a,{html:je.shortDescription.html}):null,Wn=null!==(t=je.shortDescriptionBottom)&&void 0!==t&&t.html&&""!==je.shortDescriptionBottom.html.trim()?o.a.createElement(Re.a,{html:je.shortDescriptionBottom.html}):null,Kn=null!==(a=je.preAddToCartContent)&&void 0!==a&&a.html&&""!==je.preAddToCartContent.html.trim()?o.a.createElement(Re.a,{html:je.preAddToCartContent.html}):null 337return o.a.createElement(r.Fragment,null,o.a.createElement("div",{className:"product-full-detail d-flex flex-column bg-light"},o.a.createElement("div",{className:"product-full-detail__form-wrapper"},o.a.createElement(fn.a,null),o.a.createElement(S.b,{id:"productFullDetailForm",className:"product-full-detail__form",onSubmit:async e=>{if(!tn&&!v){C(!0) 338try{await ye(e)}catch(e){}finally{C(!1)}}}},o.a.createElement("div",{className:"row-wrapper bg-light",ref:F},o.a.createElement("div",{className:"container gallery-container"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"carousel col-12 col-lg-9"},o.a.createElement("section",{className:"gallery-section"},o.a.createElement(De,{images:Oe,magnifierEnabled:!0,webRotatePath:gn}))),o.a.createElement("div",{className:"col-12 col-lg-3 options-description-section ".concat(Wn||Ln||null!=je&&je.description?"":"no-empty-space")},o.a.createElement("section",{className:"product-full-detail__details d-flex flex-column"},o.a.createElement("section",{className:"product-full-detail__title",ref:V},o.a.createElement("h1",{"aria-live":"polite",className:"fw-bold product-full-detail__product-name"},je.name),0!==Ce&&o.a.createElement(se.a,{type:"button",className:"btn btn-link p-0",tabIndex:0,onClick:Ue,onKeyDown:Ue},o.a.createElement(sn.a,{productSku:b.sku})),o.a.createElement("span",{className:"product-full-detail__product-price-section"},"Dealer"===(null==Fe?void 0:null===(i=Fe.customer)||void 0===i?void 0:null===(l=i.group)||void 0===l?void 0:l.code)&&null!=je&&null!==(s=je.customer_group_price_range)&&void 0!==s&&s.min&&null!=je&&null!==(d=je.customer_group_price_range)&&void 0!==d&&d.max?o.a.createElement("div",null,o.a.createElement("span",{className:"product-full-detail__product-price--old-price h4"},o.a.createElement(R.a,{currencyCode:b.price.regularPrice.amount.currency,value:b.price.regularPrice.amount.value,hideZeroDecimals:!0})),o.a.createElement("div",{className:"product-full-detail__product-price h4"},dn?o.a.createElement(o.a.Fragment,null,o.a.createElement(R.a,{currencyCode:je.price.currency,value:je.customer_group_price_range.min,hideZeroDecimals:!0}),"-",o.a.createElement(R.a,{currencyCode:je.price.currency,value:je.customer_group_price_range.max,hideZeroDecimals:!0})):o.a.createElement(Bn,{productDetails:je,hasMissingOptions:dn}))):o.a.createElement("span",{onClick:Le,className:"product-full-detail__product-price h4"},Ve)),"Dealer"===(null==Fe?void 0:null===(p=Fe.customer)||void 0===p?void 0:null===(m=p.group)||void 0===m?void 0:m.code)&&null!=je&&null!==(A=je.customer_group_price_range)&&void 0!==A&&A.min&&null!=je&&null!==(f=je.customer_group_price_range)&&void 0!==f&&f.max?o.a.createElement(o.a.Fragment,null,dn?o.a.createElement("div",{className:"product-full-detail__credova-section badge"},o.a.createElement(Cn.a,{totalAmount:je.customer_group_price_range.min})):o.a.createElement(On,{productDetails:je,hasMissingOptions:dn})):o.a.createElement("div",{className:"product-full-detail__credova-section badge"},o.a.createElement(Cn.a,{totalAmount:je.price.value})),o.a.createElement("div",{className:"product-badges product-badges__near-price"},"Yes"===ne&&o.a.createElement("img",{className:"product-badges__near-price--ships-free",src:"/static-assets/images/badges/lst-badge-shipsFree-optimized-202606050730PCC.svg"}),o.a.createElement(se.a,{className:"btn btn-link p-0",onClick:Tn},o.a.createElement("img",{className:"product-badges__near-price--return-policy",src:"/static-assets/images/badges/lst-badge-30DayReturns-optimized-202606091812PCC.svg"})))),o.a.createElement("div",{className:"position-relative"},o.a.createElement(vn.a,{ref:Ge},Yn&&o.a.createElement("section",{className:"product-full-detail__short-description"},Yn),In.includes(je.sku)&&o.a.createElement("div",{className:"product-full-detail__small-info d-flex"},o.a.createElement("span",null,"Select your preferred side for the Biometric LandingPad™on the grip."),o.a.createElement("div",{className:"tooltip-button tooltip-button--display-on-hover"},o.a.createElement("div",{className:"tooltip-modal tooltip-modal-info"},o.a.createElement(j.a,{id:"productFullDetail.infoTooltip",defaultMessage:"Most right-handed users prefer the left side for easier removal from the charging pad, and vice versa for left-handed users."})),o.a.createElement("img",{src:"static-assets/images/productDetailsPageImages/info_icon.svg"})))),mn),o.a.createElement("section",{className:"d-flex flex-column gap-4 product-full-detail__fingerprint-access"},o.a.createElement("div",{className:"d-flex gap-4 align-items-stretch"},o.a.createElement(Ne.a,{classes:{button:"product-full-detail__quantity-stepper-button"},min:1,message:bn.get("quantity")}))),0===Ce&&o.a.createElement("div",{className:"be-first-review-link be-first-review-link--mobile d-lg-none"},o.a.createElement(se.a,{className:"btn btn-link p-0",onClick:Ue,onKeyDown:Ue},o.a.createElement(j.a,{id:"productFullDetail.beFirstToReview",defaultMessage:"Be the first to review this product"}))),Kn&&o.a.createElement("section",{className:"product-full-detail__pre-add-to-cart-content"},Kn),Be?o.a.createElement("section",{ref:Ae,className:"product-full-detail__act-button product-full-detail__act-button--desktop-in-flow d-none d-lg-block ".concat(Dn?"tooltip-button":"")},"desktop-in-flow"===ce&&o.a.createElement("div",{className:"tooltip-modal tooltip-modal--bottom ".concat("desktop-in-flow"===ce?"d-block":"")},o.a.createElement(j.a,{id:"productFullDetail.selectOptionTooltipDesktop",defaultMessage:"Select {label} from the top to add to cart.",values:{label:oe}})),o.a.createElement(le.a,E()({},Nn,{onClick:e=>pn(e,"desktop-in-flow")}),Ee?o.a.createElement(j.a,{id:"productFullDetail.outOfStock",defaultMessage:"Out of stock"}):cn?o.a.createElement(j.a,{id:"productFullDetail.addingToCart",defaultMessage:"Add to Cart"}):o.a.createElement(j.a,{id:"productFullDetail.buyNowDesktopInFlow",defaultMessage:"Add to Cart"})),0===Ce&&o.a.createElement("div",{className:"be-first-review-link be-first-review-link--desktop"},o.a.createElement(se.a,{className:"btn btn-link p-0",onClick:Ue,onKeyDown:Ue},o.a.createElement(j.a,{id:"productFullDetail.beFirstToReview",defaultMessage:"Be the first to review this product"})))):o.a.createElement("div",{className:"".concat(nn.unavailableContainer," product-full-detail__unavailable-desktop-in-flow d-none d-lg-block")},o.a.createElement(D.a,null),o.a.createElement("p",null,o.a.createElement(j.a,{id:"productFullDetail.unavailableProductDesktopInFlow",defaultMessage:"This product is currently unavailable for purchase."}))),o.a.createElement("div",{className:"d-none d-lg-block"},o.a.createElement(rn,{errorMessage:x})),Wn&&o.a.createElement("section",{className:"product-full-detail__short-description"},Wn)))))))),o.a.createElement("div",{ref:B,className:"product-full-detail__buy-now-placeholder d-lg-none ".concat(_?"product-full-detail__buy-now-sticky--active":""," ").concat(x?"product-full-detail__buy-now-placeholder--has-alert":""),style:{to
338p:_?"calc(100% - ".concat(P,"px)"):void 0}},o.a.createElement("div",{className:"d-lg-none mobile-alert"},o.a.createElement(rn,{errorMessage:x})),Be?o.a.createElement("section",{ref:fe,className:"product-full-detail__act-button product-full-detail__act-button--mobile-inner ".concat(Dn?"tooltip-button":"")},"mobile"===ce&&o.a.createElement("div",{className:"tooltip-modal ".concat("mobile"===ce?"d-block":"")},o.a.createElement(j.a,{id:"productFullDetail.selectOptionTooltipMobile",defaultMessage:"Select {label} from the top to add to cart.",values:{label:oe}})),o.a.createElement(le.a,E()({},Nn,{onClick:e=>pn(e,"mobile"),form:"productFullDetailForm"}),Ee?o.a.createElement(j.a,{id:"productFullDetail.outOfStock",defaultMessage:"Out of stock"}):cn?o.a.createElement(j.a,{id:"productFullDetail.addingToCart",defaultMessage:"Add to Cart"}):o.a.createElement(j.a,{id:"productFullDetail.buyNowMobile",defaultMessage:"Add to Cart"}))):o.a.createElement("div",{className:"".concat(nn.unavailableContainer," product-full-detail__unavailable-mobile-inner")},o.a.createElement(D.a,null),o.a.createElement("p",null,o.a.createElement(j.a,{id:"productFullDetail.unavailableProductMobile",defaultMessage:"This product is currently unavailable for purchase."})))),o.a.createElement("div",{className:"sections-wrapper"},o.a.createElement("div",{className:"desktop-button-wrapper"},o.a.createElement("div",{className:"product-full-detail__desktop-fixed-actions".concat(U?" product-full-detail__desktop-fixed-actions--visible":""),style:{top:J},"aria-hidden":!U},o.a.createElement("div",{className:"container"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"col-12 product-full-detail__desktop-fixed-actions__wrapper"},o.a.createElement("div",{className:"d-none d-lg-flex flex-column align-items-start title-and-options-wrapper"},o.a.createElement(le.a,{priority:"normal",type:"button",onClick:on,className:"product-full-detail__scroll-to-top-button btn btn-link","aria-label":en({id:"global.scrollToTop",defaultMessage:"Scroll to Top"})},o.a.createElement(N.a,{src:M.a,size:20}),o.a.createElement("span",{className:"back-to-top"}," Back to top"))),Un.length>0&&o.a.createElement($n,{sections:Un,firstSectionRef:F}),o.a.createElement("div",{className:"d-none d-lg-block desktop-fixed-buy-now-wrapper"},Be?o.a.createElement("section",{className:"product-full-detail__act-button product-full-detail__act-button--desktop-fixed"},o.a.createElement(le.a,E()({},Pn,{form:"productFullDetailForm"}),Ee?o.a.createElement(j.a,{id:"productFullDetail.outOfStock",defaultMessage:"Out of stock"}):Rn?o.a.createElement(j.a,{id:"productFullDetail.configure",defaultMessage:"Add to Cart"}):cn?o.a.createElement(j.a,{id:"productFullDetail.addingToCart",defaultMessage:"Add to Cart"}):o.a.createElement(j.a,{id:"productFullDetail.buyNowDesktop",defaultMessage:"Add to Cart"}))):o.a.createElement("div",{className:"product-full-detail__desktop-fixed-unavailable ".concat(nn.unavailableContainer)},o.a.createElement(D.a,null),o.a.createElement("p",null,o.a.createElement(j.a,{id:"productFullDetail.unavailableProductDesktop",defaultMessage:"This product is currently unavailable for purchase."}))))))),o.a.createElement("div",{className:"container"},o.a.createElement("div",{className:"desktop-fixed-alert-wrapper w-100 align-self-center"},o.a.createElement(rn,{errorMessage:x}))))),Ln&&Sn&&""!==Sn.trim()&&o.a.createElement("div",{className:"product-full-detail--bg-white d-flex flex-column product-full-detail__technical-data"},o.a.createElement("div",{className:"product-full-detail__whats-in-the-box-section"},o.a.createElement(Re.a,{html:Sn}))),"LNK9"===je.sku&&o.a.createElement("div",{id:"pdp-secondary-nav-faq",className:"product-full-detail--bg-white d-flex flex-column product-full-detail__faq"},o.a.createElement("div",{className:"product-full-detail__technical-data-row bg-light"},o.a.createElement("div",{className:"container product-full-detail__primary-specs-section"},o.a.createElement("div",{className:"col-12 col-xl-8 m-auto terms-page__information"},o.a.createElement("h2",{className:"mb-5"},"Frequently Asked Questions"),null==Mn?void 0:Mn.map(e=>o.a.createElement("div",{className:"faq-item"},o.a.createElement("div",{key:e.id,className:"nav__parent"},o.a.createElement("div",null,o.a.createElement("h3",{className:"faq-question h4",onClick:()=>(e=>{pe===e.id?me(null):(we(e.question),me(e.id))})(e)},e.question,o.a.createElement("span",{className:"faq-toggle"},pe===e.id?o.a.createElement("span",{className:"glf glf-icon glf-icon--arrowUp"}):o.a.createElement("span",{className:"glf glf-icon glf-icon--arrowDown"}
338))),pe===e.id&&o.a.createElement("p",{className:"faq-answer",dangerouslySetInnerHTML:{__html:e.answer}}))))))))),(null==je?void 0:je.description)&&o.a.createElement("section",{id:"pdp-secondary-nav-safeguard",className:"product-full-detail__description bg-dark"},o.a.createElement(Re.a,{html:je.description})),Z&&o.a.createElement("section",{className:"features-sticky-scroll-section"},o.a.createElement(Ye,{steps:Z}))),Ln&&o.a.createElement("div",{id:"pdp-secondary-nav-technical-data",className:"product-full-detail--bg-white d-flex flex-column product-full-detail__technical-data"},o.a.createElement("div",{className:"product-full-detail__technical-data-row bg-light ".concat(!k&&qn.length>0?"product-full-detail__technical-data-row--collapsed":"")},hn.length>0&&o.a.createElement("div",{ref:K,className:"container product-full-detail__primary-specs-section"},o.a.createElement("div",{className:"col-12 col-xl-8 m-auto"},o.a.createElement("h2",null,"Technical Data"),o.a.createElement("div",{className:"product-full-detail__primary-specs-table-wrapper ".concat(Object.keys(hn).length>=10?"product-full-detail__primary-specs-table-wrapper--split-table":"")},o.a.createElement("table",{className:"table table-borderless table-striped product-full-detail__technical-table product-full-detail__specs-table"},o.a.createElement("tbody",null,hn.map((e,n)=>o.a.createElement("tr",{key:"func-attr-".concat(n,"-").concat(e.label)},"heading"===e.type?o.a.createElement("th",{colSpan:"2",className:"pt-3"},e.label):o.a.createElement(o.a.Fragment,null,o.a.createElement("td",{className:"ps-lg-3"},e.label),o.a.createElement("td",null,(e=>""===e?o.a.createElement("span",{className:"text-muted fst-italic"},"N/A"):o.a.createElement(Re.a,{html:e}))(e.htmlValue)))))))))),jn&&""!==jn.trim()&&o.a.createElement("div",{className:"product-full-detail__secondary-specs-section"},o.a.createElement(Re.a,{html:jn}))),o.a.createElement("div",{className:"show-more-less-btn col-12 text-center"}," ",Gn," ")),o.a.createElement("div",{id:"pdp-secondary-nav-reviews",className:"product-full-detail--bg-white d-flex flex-column product-full-detail__reviews ".concat(Ln?"":"product-full-detail__reviews--topPadding")},o.a.createElement("div",{className:"bg-light"},o.a.createElement("div",{className:"container product-full-detail__primary-specs-section"},o.a.createElement("div",{className:"col-12 col-xl-8 m-auto position-relative"},o.a.createElement("h2",null,"Reviews"),o.a.createElement(vn.a,{ref:We},o.a.createElement(An,{product:b,reviewCount:Ce,isFormVisible:$e,setIsFormVisible:ve}))))))),Jn)} 339jn.propTypes={classes:Object(i.shape)({cartActions:i.string,description:i.string,descriptionTitle:i.string,details:i.string,detailsPageBuilder:i.string,detailsPageBuilderList:i.string,detailsTitle:i.string,imageCarousel:i.string,options:i.string,productName:i.string,productPrice:i.string,quantity:i.string,quantityTitle:i.string,quantityRoot:i.string,root:i.string,title:i.string,unavailableContainer:i.string,actButton:i.string}),product:Object(i.shape)({__typename:i.string,id:i.number,stock_status:i.string,
339sku:i.string.isRequired,price:Object(i.shape)({regularPrice:Object(i.shape)({amount:Object(i.shape)({currency:i.string.isRequired,value:i.number.isRequired})}).isRequired}).isRequired,media_gallery_entries:Object(i.arrayOf)(Object(i.shape)({uid:i.string,label:i.string,position:i.number,disabled:i.bool,file:i.string.isRequired,url:i.string})),description:i.string,short_description:Object(i.shape)({html:i.string,__typename:i.string}),short_description_bottom:Object(i.shape)({html:i.string,__typename:i.string}),pre_add_to_cart_content:Object(i.shape)({html:i.string,__typename:i.string}),configurable_options:Object(i.arrayOf)(Object(i.shape)({}))}).isRequired} 340var Sn=jn,Mn=t("6p+X"),qn=t("w1nR"),Dn=t("vlFq"),Nn={insert:"head",singleton:!1} 341we()(Dn.a,Nn),Dn.a.locals 342const Rn=e=>{const{productType:n}=e 343Object(u.a)({},e.classes),Object(r.useMemo)(()=>n.includes("Configurable")?o.a.createElement(ze.a,null):null,[n]) 344return o.a.createElement("div",{className:"bg-light"},o.a.createElement("div",{className:"nav-product-shimmer"},o.a.createElement(qn.a,{width:"100%",height:"100%"})),o.a.createElement("div",{className:"product-full-detail product-full-detail-shimmer"},o.a.createElement("div",{className:"product-full-detail__form"},o.a.createElement("div",{className:"row-wrapper"},o.a.createElement("div",{className:"container gallery-container"},o.a.createElement("div",{className:"row gallery-container-row"},o.a.createElement("div",{className:"carousel col-12 col-lg-9"},o.a.createElement("section",{className:"gallery-section"},o.a.createElement("div",{className:"product-image-carousel container-fluid gx-0"},o.a.createElement("div",{className:"row gallery"},o.a.createElement("div",{className:"product-image-carousel__main-content col-12 order-1"},o.a.createElement("div",{className:"product-image-carousel__viewport"},o.a.createElement(qn.a,{height:"100%",width:"100%",style:{minHeight:"300px",display:"block"}}))))))),o.a.createElement("div",{className:"col-12 col-lg-3"},o.a.createElement("section",{className:"product-full-detail__details d-flex flex-column gap-4"},o.a.createElement("section",{className:"product-full-detail__title"},o.a.createElement(qn.a,{height:4,width:"100%"}),o.a.createElement(qn.a,{height:2,width:"30%",style:{marginTop:"1rem"}})),o.a.createElement("section",{className:"d-flex flex-column gap-4 product-full-detail__fingerprint-access"},o.a.createElement("div",{className:"d-flex gap-4 align-items-stretch"},o.a.createElement(qn.a,{type:"button",height:"45px",width:"100%"}))),o.a.createElement("section",{className:"product-image-carousel__sidebar-thumbnails"},o.a.createElement(qn.a,{style:{display:"block"},height:8,width:"123px"}),o.a.createElement(qn.a,{style:{display:"block"},height:8,width:"123px"}))))))))))} 345Rn.defaultProps={classes:{}},Rn.propTypes={productType:i.string.isRequired,classes:Object(i.shape)({cartActions:i.string,description:i.string,descriptionTitle:i.string,details:i.string,detailsTitle:i.string,imageCarousel:i.string,options:i.string,productName:i.string,productPrice:i.string,quantity:i.string,quantityTitle:i.string,root:i.string,title:i.string,unavailableContainer:i.string})} 346var zn=Rn 347const Pn=e=>{const{__typename:n}=e,t=(e=>{var n 348const{mapProduct:t}=e,a=Object(u.a)(h,e.operations),{getStoreConfigData:o,getProductDetailQuery:i}=a,{pathname:l}=Object(d.h)(),[,{actions:{setPageLoading:p}}]=Object(c.b)(),{data:m}=Object(s.f)(o,{fetchPolicy:"cache-and-network",nextFetchPolicy:"cache-first"}),A=l.split("/").pop(),f=null==m?void 0:null===(n=m.storeConfig)||void 0===n?void 0:n.product_url_suffix,b=f?A.replace(f,""):A,{error:g,loading:v,data:C}=Object(s.f)(i,{fetchPolicy:"no-cache",skip:!m,variables:{urlKey:b}}),x=!!C&&v,w=Object(r.useMemo)(()=>{if(!C)return null 349const e=C.products.items.find(e=>e.url_key===b) 350return e?t(e):null},[C,t,b]),[,{dispatch:k}]=Object($.b)() 351return Object(r.useEffect)(()=>{p(x)},[x,p]),Object(r.useEffect)(()=>{var e,n,t,a,r,o 352g||v||!w||k({type:"PRODUCT_PAGE_VIEW",payload:{id:w.id,name:w.name,sku:w.sku,currency_code:null==w?void 0:null===(e=w.price_range)||void 0===e?void 0:null===(n=e.maximum_price)||void 0===n?void 0:null===(t=n.final_price)||void 0===t?void 0:t.currency,price:w.price,price_range:{maximum_price:{final_price:null==w?void 0:null===(a=w.price_range)||void 0===a?void 0:null===(r=a.maximum_price)||void 0===r?void 0:null===(o=r.final_price)||void 0===o?void 0:o.value}},url_key:w.url_key}})},[g,v,w,k]),{error:g,loading:v,product:w}})({mapProduct:Mn.a}),{error:a,loading:i,product:l}=t 353return l?o.a.createElement(r.Fragment,null,o.a.createElement(y.b,null,l.name),o.a.createElement(y.a,{name:"description",content:l.meta_description}),o.a.createElement(Sn,{product:l})):i?o.a.createElement(zn,{productType:n}):o.a.createElement(k.a,null)} 354Pn.propTypes={__typename:i.string.isRequired} 355var Tn=Pn},AelP:function(e,n,t){"use strict" 356var a=t("17x9"),r=t("q1tI"),o=t.n(r),i=t("LboF"),l=t.n(i),s=t("r5RX"),d={insert:"head",singleton:!1} 357l()(s.a,d),s.a.locals 358const c=Object(r.forwardRef)((e,n)=>{const t=Object(r.useRef)() 359return Object(r.useImperativeHandle)(n,()=>({scrollIntoView(){t.current.scrollIntoView(...arguments)}})),o.a.createElement(r.Fragment,null,o.a.createElement("div",{ref:t,className:"anchor"}),e.children)}) 360n.a=c 361c.propTypes={classes:Object(a.shape)({anchor:a.string})}},L9Hr:function(e,n,t){"use strict" 362var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a)
363i.push([e.i,'.row-wrapper{z-index:2}.product-full-detail{color:#fff}.product-full-detail__fingerprint-access{margin-bottom:2rem}.product-full-detail__fingerprint-access .quantityStepper__button{background-color:#fff;width:48px;height:48px;padding:0}.product-full-detail__fingerprint-access .quantityStepper__button .glf{font-size:15px}.product-full-detail .btn-light,.product-full-detail .btn-primary.active{white-space:nowrap;padding:16px;display:flex;justify-content:center}.product-full-detail .product-full-detail__fixed-selected-option{margin-left:.25rem}.product-full-detail .mobile-alert .alert{margin-bottom:15px}.product-full-detail .mobile-alert .alert .btn-close{padding:15px;align-self:center}.product-full-detail .alert .btn-close{padding:15px;align-self:center}.product-full-detail .gallery-section{min-width:0}.product-full-detail__technical-data-row{position:relative}.product-full-detail__technical-data-row--collapsed{overflow:hidden;max-height:300px}.product-full-detail__technical-data-row--collapsed:after{content:"";display:block;height:100px;background:linear-gradient(0deg, rgb(255, 255, 255) 1%, rgba(255, 255, 255, 0) 100%);position:absolute;width:100%;bottom:0;left:0}.product-full-detail--bg-white{background-color:#fff;color:#000}.product-full-detail__form{display:flex;flex-direction:column;margin-top:0}.product-full-detail__form .options-description-section{min-height:calc(100vh - 158px)}.product-full-detail__form .no-empty-space{min-height:auto}.product-full-detail__form .no-empty-space .product-full-detail__fingerprint-access{margin-bottom:17px}.product-full-detail__title{margin-bottom:1rem;margin-top:1rem}.product-full-detail__product-price-section{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;color:#2a97ff;margin:.5rem 0}.product-full-detail__product-price-section .glf{font-size:1.5rem}.product-full-detail__product-price{margin-bottom:0}.product-full-detail__product-price--old-price{color:#88959e;text-decoration:line-through}.product-full-detail__options-wrapper{gap:1rem;display:flex;flex-direction:column;margin-bottom:1rem}.product-full-detail__mobile-sticky-info-wrapper.sticky-info-hidden{opacity:0;transform:translateY(20px);pointer-events:none;visibility:hidden;height:0}.product-full-detail__mobile-sticky-info-wrapper.sticky-info-visible{z-index:99;background-color:#fff}.product-full-detail__buy-now-placeholder{position:sticky;left:0;width:100%;z-index:99;padding:15px;background:#fff;color:#000}.product-full-detail .btn.is-functionally-disabled{cursor:not-allowed}.product-full-detail__act-button{position:relative}.product-full-detail__act-button--mobile-inner{background-color:#fff}.product-full-detail__unavailable-mobile-inner{padding:1rem}.product-full-detail__buttons{margin-bottom:5rem !important}.product-full-detail__buttons .product-full-detail__button{text-decoration:none;color:inherit;padding:0}.product-full-detail__buttons .product-full-detail__button .product-full-detail__icon{color:#0062d2}.product-full-detail__desktop-fixed-actions{position:fixed;top:0;left:0;width:100%;padding:10px 25px;box-sizing:border-box;z-index:3;justify-content:space-between;background-color:#000;flex-direction:column;border-bottom:2px solid #303030;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s}.product-full-detail__desktop-fixed-actions--visible{opacity:1;visibility:visible;pointer-events:auto}.product-full-detail__desktop-fixed-actions .desktop-fixed-alert-wrapper{max-width:1920px;display:flex;justify-content:right}.product-full-detail__desktop-fixed-actions .desktop-fixed-alert-wrapper .alert{margin-top:10px;margin-bottom:0;width:fit-content;justify-self:end}.product-full-detail__desktop-fixed-actions .wrapper-first-section{display:flex;width:100%;align-items:end;gap:20px;max-width:1920px}.product-full-detail__desktop-fixed-actions .product-full-detail__act-button--desktop-fixed button{white-space:nowrap}.product-full-detail__desktop-fixed-actions .product-full-detail__scroll-to-top-button{margin-bottom:.25rem;padding:0}.product-full-detail__desktop-fixed-actions .product-full-detail__fixed-product-name{margin-bottom:0}.product-full-detail__desktop-fixed-actions__wrapper{display:flex;align-items:center;gap:1rem}.product-full-detail__desktop-fixed-actions__wrapper .title-and-options-wrapper{flex:0 0 auto}.product-full-detail__desktop-fixed-actions__wrapper .desktop-fixed-buy-now-wrapper{flex:0 0 auto}.product-full-detail__scroll-to-top-button{display:inline-flex;align-items:center;text-decoration:none;font-size:14px}.product-full-detail__scroll-to-top-button .back-to-top{white-space:nowrap}.product-full-detail__sticky-info-hidden{height:0}.product-full-detail__technical-data{padding:3rem 0 10rem}.product-full-detail__technical-data .button-row-no-stripe{--bs-table-striped-bg: map-get($colors, "white");border-bottom:rgba(0,0,0,0)}.product-full-detail__technical-data .show-more-less-btn{margin-top:1rem;padding:1rem 0}.product-full-detail__faq{padding:3rem 0 0}.product-full-detail__reviews{padding-bottom:3rem}.product-full-detail__reviews--topPadding{padding-top:3rem}.product-full-detail__credova-section{margin-top:.5rem;padding:.35rem .7rem .7rem;background-color:#f5f5f5}.product-full-detail__credova-section .credova-button{padding:0;text-wrap:wrap;text-align:start}.product-full-detail__credova-section .crdv-button-brand{margin-left:.25rem}.product-full-detail__whats-in-the-box-section .row{gap:1.5rem}.product-full-detail__whats-in-the-box-section .box-description{dis
363play:flex;flex-direction:column;order:2}.product-full-detail__whats-in-the-box-section .whats-in-the-box-img{order:1;object-fit:contain}.product-full-detail__whats-in-the-box-section .owner-manual-and-warranty{margin-top:auto;gap:.5rem}.product-full-detail__primary-specs-section .product-full-detail__technical-table{border:1px solid #000;margin-bottom:1rem;border-collapse:collapse}.product-full-detail__primary-specs-section .product-full-detail__technical-table th,.product-full-detail__primary-specs-section .product-full-detail__technical-table td{border-top:none;vertical-align:top;padding:.75rem}.product-full-detail__primary-specs-section .product-full-detail__technical-table td:first-child,.product-full-detail__primary-specs-section .product-full-detail__technical-table th:first-child:not([colSpan="2"]){border-right:1px solid #000;width:50%}.product-full-detail__primary-specs-section .product-full-detail__technical-table td:last-child,.product-full-detail__primary-specs-section .product-full-detail__technical-table th:last-child:not([colSpan="2"]){width:50%}.product-full-detail__primary-specs-section .product-full-detail__technical-table tbody th[colSpan="2"]{background-color:rgba(0,0,0,0);padding-top:1rem;padding-bottom:.25rem}.product-full-detail__primary-specs-section .product-full-detail__technical-table td ul{padding-left:1.2rem;margin-bottom:0;list-style-position:outside}.product-full-detail__primary-specs-section .product-full-detail__technical-table td ul li{padding-bottom:.25rem}.product-full-detail__primary-specs-section .product-full-detail__technical-table td ul li:last-child{padding-bottom:0}.product-full-detail__primary-specs-section h2{text-align:center}.product-full-detail__primary-specs-section+.product-full-detail__secondary-specs-section{margin-top:20px}.product-full-detail__primary-specs-table-wrapper{position:relative}.product-full-detail__primary-specs-table-wrapper .product-full-detail__technical-table{margin-bottom:0}.product-full-detail__secondary-specs-section{background:#f5f5f7;padding:20px 0}.product-full-detail__secondary-specs-section h3{margin:0;text-align:center}.product-full-detail__secondary-specs-section .product-full-detail__specs-table{border:1px solid #000;width:-webkit-fill-available;margin:20px 0 0}.product-full-detail__secondary-specs-section .product-full-detail__specs-table .label{padding:10px 0 10px 10px;border-right:1px solid #000}.product-full-detail__secondary-specs-section .product-full-detail__specs-table .value{padding:10px;white-space:nowrap}.product-full-detail__secondary-specs-section tr{border-bottom:1px solid #000}.product-full-detail__secondary-specs-section .inner-table tr{border:none}.product-full-detail__secondary-specs-section .inner-table-values{vertical-align:baseline;padding:10px}.product-full-detail__secondary-specs-section .number{text-align:center;background-color:#000;padding:0 10px;color:#fff}.product-full-detail__secondary-specs-section .number-six{vertical-align:text-top}.product-full-detail__secondary-specs-section .row{align-items:center}.product-full-detail__secondary-specs-section .diagram-img{text-align:center}.product-full-detail__mobile-sticky-product-info-content{padding-bottom:1rem}.product-full-detail__short-description{margin-bottom:1rem}.product-full-detail__short-description .short-description-title{font-size:22px;font-weight:700;margin-top:1.5rem}.product-full-detail .short-description-wrapper{margin-bottom:2rem}.product-full-detail__small-info{padding-right:1rem;align-items:end;gap:.5rem;margin-bottom:1rem}.product-full-detail__small-info img{width:1.5rem;height:1.5rem;cursor:pointer}.product-full-detail .faq-item{margin-bottom:1rem;border-bottom:1px solid #d1d3d4;padding-bottom:1rem}.product-full-detail .faq-item .faq-question{cursor:pointer;display:flex;align-items:center;font-size:16px;font-weight:bold;margin-bottom:0}.product-full-detail .faq-item .faq-question .faq-toggle{font-size:1rem;font-weight:bold;margin-left:1rem;flex:1;text-align:end}.product-full-detail .faq-item .faq-answer{margin-top:1rem;margin-left:1.5rem}.product-full-detail__product-name{margin-bottom:.5rem}.magazine-alert{margin-bottom:1rem}main.root-component.root-component--product .product-full-detail__form-wrapper nav:nth-of-type(1){display:none}.be-first-review-link--mobile{margin-bottom:1rem}.be-first-review-link--desktop{margin-top:1rem}@media(min-width: 768px){.features-sticky-scroll-section{margin-top:0}}@media(min-width: 992px){.row-wrapper{padding-top:4rem}.product-full-detail .gallery-container{margin-bottom:3rem}.product-full-detail .gallery-section{position:sticky;top:104px}.product-full-detail__title{margin-top:0}.product-full-detail__act-button--desktop-in-flow{margin-bottom:2rem}.product-full-detail__technical-data-row{gap:0}.product-full-detail__technical-specs-animated-container{height:auto !important;overflow:visible !important}.product-full-detail__buttons{margin-bottom:0 !important}.product-full-detail__technical-data{padding:6rem 0}.product-full-detail__faq{padding:6rem 0 0}.product-full-detail__reviews{padding-bottom:6rem}.product-full-detail__reviews--topPadding{padding-top:6rem}.product-full-detail__whats-in-the-box-section .row{gap:0}.product-full-detail__whats-in-the-box-section .box-description{order:1}.product-full-detail__whats-in-the-box-section .whats-in-the-box-img{order:2}.product-full-detail__short-description .short-description-title{font-size:24px;margin-top:0}.product-full-detail__form .options-description-section{min-height:auto}.product-full-detail__primary-specs-table-wrapper--split-table{column-count:2;column-gap:30px;background:#f5f5f5;z-index:0}.product-full-detail__primary-specs-table-wrapper--split-table .product-full-detail__technical-table{border:none;display:block}.product-full-detail__primary-specs-table-wrapper--split-table .product-full-detail__technical-table tbody{display:block}.product-full-detail__primary-specs-table-wrapper--split-table .product-full-detail__technical-table tbody tr{display:flex}.product-full-detail__primary-specs-table-wrapper--split-table .product-full-detail__technical-table tbody tr td{overflow:hidden}.product-full-detail__primary-specs-table-wrapper--split-table:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #000}.product-full-detail__primary-specs-table-wrapper--split-table:after{content:"";display:block;position:absolute;width:30px;height:calc(100% + 2px);top:-1px;left:50%;transform:translate(-50%, 0);border-left:1px solid #000;border-right:1px solid #000;border-top:1px solid #fff;border-bottom:1px solid #fff;z-index:1;background:#fff}.product-full-detail__primary-specs-section+.product-full-detail__secondary-specs-section{margin-top:2rem}.product-full-detail__secondary-specs-section{padding:2rem 0;--bs-table-bg: map-get($colors, "gray-l4")}.product-full-detail__secondary-specs-section .html-root-akk .elements-wrapper{display:flex;flex-direction:row !important;gap:20px}.product-full-detail__secondary-specs-section .column-wrapper{width:50% !important;border:1px solid #000}.product-full-detail__secondary-specs-section .product-full-detail__table-section-header{background:#f5f5f7}.product-full-detail__secondary-specs-section .product-full-detail__specs-table .label{padding:15px 0 15px 15px}.product-full-detail__secondary-specs-section .product-full-detail__specs-table .value{padding:15px;width:50%}.product-full-detail__secondary-specs-section .product-full-detail__specs-table .number{padding:0 15px}.product-full-detail__secondary-specs-section .product-full-detail__specs-table .inner-table-values{padding:15px}main.root-component.root-component--product nav:nth-of-type(1){display:none}main.root-component.root-component--product .product-full-detail__form-wrapper nav:nth-of-type(1){display:block}}.product-badges{margin-top:1rem}.product-badges__near-price{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;height:auto}.product-badges__near-price--ships-free{height:26px}.product-badges__near-price--return-policy{height:26px}',"",{version:3,sources:["webpack://./src/components/ProductFullDetail/productFullDetail.scss","webpack://./node_modules/bootstrap/scss/_variables.scss","webpack://./node_modules/bootstrap/scss/mixins/_breakpoints.scss","webpack://./src/styles/Themes/Default/Variables/_grid.scss"],names:[],mappings:"AAGA,aACI,SAAA,CAGJ,qBACI,UAAA,CAEA,yCACI,kBAAA,CAEA,kEACI,qBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,uEACI,cAAA,CAKZ,yEAEI,kBAAA,CACA,YAAA,CACA,YAAA,CACA,sBAAA,CAGJ,iEACI,kBAAA,CAIA,0CACI,kBAAA,CAEA,qDACI,YAAA,CACA,iBAAA,CAMR,uCACI,YAAA,CACA,iBAAA,CAIR,sCACI,WAAA,CAGJ,yCACI,iBAAA,CAEA,oDACI,eAAA,CACA,gBAAA,CAEA,0DACI,UAAA,CACA,aAAA,CACA,YAAA,CACA,oFAAA,CAGA,iBAAA,CACA,UAAA,CACA,QAAA,CACA,MAAA,CAKZ,+BACI,qBAAA,CACA,UAAA,CAGJ,2BACI,YAAA,CACA,qBAAA,CACA,YAAA,CAEA,wDACI,8BAAA,CAGJ,2CACI,eAAA,CAEA,oFACI,kBAAA,CAKZ,4BACI,kBCgTC,CD/SD,eC+SC,CD5SL,4CACI,YAAA,CACA,kBAAA,CACA,cAAA,CACA,SAAA,CACA,aAAA,CACA,cAAA,CAEA,iDACI,gBAAA,CAIR,oCACI,eAAA,CAEA,+CACI,aAAA,CACA,4BAAA,CAIR,sCACI,QCqRC,CDpRD,YAAA,CACA,qBAAA,CACA,kBCkRC,CD9QD,oEACI,SAAA,CACA,0BAAA,CACA,mBAAA,CACA,iBAAA,CACA,QAAA,CAGJ,qEACI,UAAA,CACA,qBAAA,CAIR,0CACI,eAAA,CACA,MAAA,CACA,UAAA,CAEA,UAAA,CACA,YAAA,CACA,eAAA,CACA,UAAA,CAGJ,mDACI,kBAAA,CAGJ,iCACI,iBAAA,CAGJ,+CACI,qBAAA,CAGJ,+CACI,YAAA,CAGJ,8BACI,6BAAA,CAEA,2DACI,oBAAA,CACA,aAAA,CACA,SAAA,CAEA,sFACI,aAAA,CAKZ,4CACI,cAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,iBAAA,CACA,qBAAA,CAGA,SAAA,CACA,6BAAA,CACA,qBAAA,CACA,qBAAA,CACA,+BAAA,CACA,SAAA,CACA,iBAAA,CACA,mBAAA,CACA,0CAAA,CAEA,qDACI,SAAA,CACA,kBAAA,CACA,mBAAA,CAGJ,yEACI,gBAAA,CACA,YAAA,CACA,qBAAA,CAEA,gFACI,eAAA,CACA,eAAA,CACA,iBAAA,CACA,gBAAA,CAIR,mEACI,YAAA,CACA,UAAA,CACA,eAAA,CACA,QAAA,CACA,gBAAA,CAIA,mGACI,kBAAA,CAIR,uFACI,oBAAA,CACA,SAAA,CAGJ,qFACI,eAAA,CAGJ,qDACI,YAAA,CACA,kBAAA,CACA,QAAA,CAEA,gFACI,aAAA,CAGJ,oFACI,aAAA,CAKZ,2CACI,mBAAA,CACA,kBAAA,CACA,oBAAA,CACA,cAAA,CAEA,wDACI,kBAAA,CAIR,yCACI,QAAA,CAGJ,qCACI,oBAAA,CAEA,2DACI,gDAAA,CACA,2BAAA,CAGJ,yDACI,eAAA,CACA,cAAA,CAIR,0BACI,gBAAA,CAGJ,8BACI,mBAAA,CAEA,0CACI,gBAAA,CAIR,sCACI,gBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,sDACI,SAAA,CACA,cAAA,CACA,gBAAA,CAEJ,yDACI,kBAAA,CAMJ,oDACI,UAAA,CAGJ,gEACI,YAAA,CACA,qBAAA,CACA,OAAA,CAGJ,qEACI,OAAA,CACA,kBAAA,CAGJ,0EACI,eAAA,CACA,SAAA,CAKJ,kFACI,qBAAA,CACA,kBAAA,CACA,wBAAA,CAEA,0KAEI,eAAA,CACA,kBAAA,CACA,cAAA,CAGJ,qNAEI,2BAAA,CACA,SAAA,CAGJ,mNAEI,SAAA,CAIA,wGACI,8BAAA,CACA,gBAAA,CACA,qBAAA,CAIR,wFACI,mBAAA,CACA,eAAA,CACA,2BAAA,CAGJ,2FACI,qBAAA,CAEA,sGACI,gBAAA,CAKZ,+CACI,iBAAA,CAGJ,0FACI,eAAA,CAIR,kDACI,iBAAA,CAEA,wFACI,eAAA,CAIR,8CACI,kBAAA,CACA,cAAA,CAEA,iDACI,QAAA,CACA,iBAAA,CAGJ,gFACI,qBAAA,CACA,4BAAA,CACA,eAAA,CAEA,uFACI,wBAAA,CACA,2BAAA,CAGJ,uFACI,YAAA,CACA,kBAAA,CAIR,iDAC
363I,4BAAA,CAGJ,8DACI,WAAA,CAGJ,kEACI,uBAAA,CACA,YAAA,CAGJ,sDACI,iBAAA,CACA,qBAAA,CACA,cAAA,CACA,UAAA,CAGJ,0DACI,uBAAA,CAGJ,mDACI,kBAAA,CAGJ,2DACI,iBAAA,CAIR,yDACI,mBAAA,CAGJ,wCACI,kBAAA,CAEA,iEACI,cAAA,CACA,eAAA,CACA,iBAAA,CAIR,gDACI,kBAAA,CAGJ,iCACI,kBAAA,CACA,eAAA,CACA,SAAA,CACA,kBAAA,CAEA,qCACI,YAAA,CACA,aAAA,CACA,cAAA,CAIR,+BACI,kBAAA,CACA,+BAAA,CACA,mBAAA,CAEA,6CACI,cAAA,CACA,YAAA,CACA,kBAAA,CACA,cAAA,CACA,gBAAA,CACA,eAAA,CAEA,yDACI,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,MAAA,CACA,cAAA,CAIR,2CACI,eAAA,CACA,kBAAA,CAIR,mCACI,mBAAA,CAKR,gBACI,kBAAA,CAGJ,kGACI,YAAA,CAGJ,8BACI,kBCxIK,CD2IT,+BACI,eC5IK,CC1VL,yBF0eA,gCACI,YAAA,CAAA,CE3eJ,yBFgfA,aACI,gBAAA,CAIA,wCACI,kBAAA,CAGJ,sCACI,eAAA,CACA,SAAA,CAGJ,4BACI,YAAA,CAGJ,kDACI,kBAAA,CAGJ,yCACI,KAAA,CAGJ,yDACI,sBAAA,CACA,2BAAA,CAGJ,8BACI,0BAAA,CAGJ,qCACI,cAAA,CAGJ,0BACI,gBAAA,CAGJ,8BACI,mBAAA,CAEA,0CACI,gBAAA,CAMJ,oDACI,KAAA,CAGJ,gEACI,OAAA,CAGJ,qEACI,OAAA,CAKJ,iEACI,cAAA,CACA,YAAA,CAKJ,wDACI,eAAA,CAKJ,+DACI,cAAA,CACA,eGjoBI,CHkoBJ,kBAAA,CACA,SAAA,CAEA,qGACI,WAAA,CACA,aAAA,CAEA,2GACI,aAAA,CAEA,8GACI,YAAA,CAEA,iHACI,eAAA,CAMhB,sEACI,UAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CAGJ,qEACI,UAAA,CACA,aAAA,CACA,iBAAA,CACA,UGpqBA,CHqqBA,uBAAA,CACA,QAAA,CACA,QAAA,CACA,4BAAA,CACA,0BAAA,CACA,2BAAA,CACA,yBAAA,CACA,4BAAA,CACA,SAAA,CACA,eAAA,CAMR,0FACI,eAAA,CAIR,8CACI,cAAA,CACA,0CAAA,CAGI,+EACI,YAAA,CACA,6BAAA,CACA,QAAA,CAIR,8DACI,oBAAA,CACA,qBAAA,CAGJ,yFACI,kBAAA,CAIA,uFACI,wBAAA,CAGJ,uFACI,YAAA,CACA,SAAA,CAGJ,wFACI,cAAA,CAGJ,oGACI,YAAA,CAOZ,+DACI,YAAA,CAIR,kGACI,aAAA,CAAA,CAKR,gBACI,eAAA,CAEA,4BACI,YAAA,CACA,cAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CAEA,wCACI,WAAA,CAGJ,2CACI,WAAA",sourcesContent:["@use \"sass:map\";\n@import '/src/styles/Themes/Default/component-prerequisites';\n\n.row-wrapper {\n z-index: 2;\n}\n\n.product-full-detail {\n color: map-get($colors, 'white');\n\n &__fingerprint-access {\n margin-bottom: 2rem;\n\n .quantityStepper__button {\n background-color: map-get($colors, 'white');\n width: 48px;\n height: 48px;\n padding: 0;\n\n .glf {\n font-size: 15px;\n }\n }\n }\n\n .btn-light,\n .btn-primary.active {\n white-space: nowrap;\n padding: 16px;\n display: flex;\n justify-content: center;\n }\n\n .product-full-detail__fixed-selected-option {\n margin-left: 0.25rem;\n }\n\n .mobile-alert {\n .alert {\n margin-bottom: $grid-gutter-width * 0.5;\n\n .btn-close {\n padding: 15px;\n align-self: center;\n }\n }\n }\n\n .alert {\n .btn-close {\n padding: 15px;\n align-self: center;\n }\n }\n\n .gallery-section {\n min-width: 0;\n }\n\n &__technical-data-row {\n position: relative;\n\n &--collapsed {\n overflow: hidden;\n max-height: 300px;\n\n &:after {\n content: '';\n display: block;\n height: 100px;\n background: linear-gradient(0deg,\n rgba(255, 255, 255, 1) 1%,\n rgba(255, 255, 255, 0) 100%);\n position: absolute;\n width: 100%;\n bottom: 0;\n left: 0;\n }\n }\n }\n\n &--bg-white {\n background-color: map-get($colors, 'white');\n color: map-get($colors, 'black');\n }\n\n &__form {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n\n .options-description-section {\n min-height: calc(100vh - 158px);\n }\n\n .no-empty-space {\n min-height: auto;\n\n .product-full-detail__fingerprint-access {\n margin-bottom: 17px;\n }\n }\n }\n\n &__title {\n margin-bottom: $spacer;\n margin-top: $spacer;\n }\n\n &__product-price-section {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 0.5rem;\n color: map-get($colors, 'blue-d2');\n margin: ($spacer * 0.5) 0;\n\n .glf {\n font-size: 1.5rem;\n }\n }\n\n &__product-price {\n margin-bottom: 0;\n\n &--old-price {\n color: map-get($colors, 'gray');\n text-decoration: line-through;\n }\n }\n\n &__options-wrapper {\n gap: $spacer;\n display: flex;\n flex-direction: column;\n margin-bottom: $spacer;\n }\n\n &__mobile-sticky-info-wrapper {\n &.sticky-info-hidden {\n opacity: 0;\n transform: translateY(20px);\n pointer-events: none;\n visibility: hidden;\n height: 0;\n }\n\n &.sticky-info-visible {\n z-index: 99;\n background-color: map-get($colors, 'white');\n }\n }\n\n &__buy-now-placeholder {\n position: sticky;\n left: 0;\n width: 100%;\n background-color: map-get($colors, 'primary');\n z-index: 99;\n padding: $grid-gutter-width * 0.5;\n background: map-get($colors, 'white');\n color: map-get($colors, 'black');\n }
363\n\n .btn.is-functionally-disabled {\n cursor: not-allowed;\n }\n\n &__act-button {\n position: relative;\n }\n\n &__act-button--mobile-inner {\n background-color: map-get($colors, 'white');\n }\n\n &__unavailable-mobile-inner {\n padding: 1rem;\n }\n\n &__buttons {\n margin-bottom: 5rem !important;\n\n .product-full-detail__button {\n text-decoration: none;\n color: inherit;\n padding: 0;\n\n .product-full-detail__icon {\n color: map-get($colors, 'blue');\n }\n }\n }\n\n &__desktop-fixed-actions {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n padding: 10px 25px;\n box-sizing: border-box;\n // Above .row-wrapper (z-index: 2, productFullDetail.scss:5), which\n // is a flex item and therefore stacks even though position: static.\n z-index: 3;\n justify-content: space-between;\n background-color: map-get($colors, 'black');\n flex-direction: column;\n border-bottom: 2px solid map-get($colors, 'gray-d3');\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n transition: opacity 0.2s ease, visibility 0.2s;\n\n &--visible {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n }\n\n .desktop-fixed-alert-wrapper {\n max-width: 1920px;\n display: flex;\n justify-content: right;\n\n .alert {\n margin-top: 10px;\n margin-bottom: 0;\n width: fit-content;\n justify-self: end;\n }\n }\n\n .wrapper-first-section {\n display: flex;\n width: 100%;\n align-items: end;\n gap: 20px;\n max-width: 1920px;\n }\n\n .product-full-detail__act-button--desktop-fixed {\n button {\n white-space: nowrap;\n }\n }\n\n .product-full-detail__scroll-to-top-button {\n margin-bottom: 0.25rem;\n padding: 0;\n }\n\n .product-full-detail__fixed-product-name {\n margin-bottom: 0;\n }\n\n &__wrapper {\n display: flex;\n align-items: center;\n gap: 1rem;\n\n .title-and-options-wrapper {\n flex: 0 0 auto;\n }\n\n .desktop-fixed-buy-now-wrapper {\n flex: 0 0 auto;\n }\n }\n }\n\n &__scroll-to-top-button {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n font-size: 14px;\n\n .back-to-top {\n white-space: nowrap;\n }\n }\n\n &__sticky-info-hidden {\n height: 0;\n }\n\n &__technical-data {\n padding: 3rem 0 10rem;\n\n .button-row-no-stripe {\n --bs-table-striped-bg: map-get($colors, 'white');\n border-bottom: transparent;\n }\n\n .show-more-less-btn {\n margin-top: 1rem;\n padding: 1rem 0;\n }\n }\n\n &__faq {\n padding: 3rem 0 0;\n }\n\n &__reviews {\n padding-bottom: 3rem;\n\n &--topPadding {\n padding-top: 3rem;\n }\n }\n\n &__credova-section {\n margin-top: $spacer*0.5;\n padding: 0.35rem 0.7rem 0.7rem;\n background-color: map-get($colors, 'gray-l3');\n\n .credova-button {\n padding: 0;\n text-wrap: wrap;\n text-align: start;\n }\n .crdv-button-brand {\n margin-left: 0.25rem;\n }\n }\n\n &__whats-in-the-box-section {\n\n .row {\n gap: 1.5rem;\n }\n\n .box-description {\n display: flex;\n flex-direction: column;\n order: 2;\n }\n\n .whats-in-the-box-img {\n order: 1;\n object-fit: contain;\n }\n\n .owner-manual-and-warranty {\n margin-top: auto;\n gap: 0.5rem;\n }\n }\n\n &__primary-specs-section {\n .product-full-detail__technical-table {\n border: 1px solid map-get($colors, 'black');\n margin-bottom: 1rem;\n border-collapse: collapse;\n\n th,\n td {\n border-top: none;\n vertical-align: top;\n padding: 0.75rem;\n }\n\n td:first-child,\n th:first-child:not([colSpan='2']) {\n border-right: 1px solid map-get($colors, 'black');\n width: 50%;\n }\n\n td:last-child,\n th:last-child:not([colSpan='2']) {\n width: 50%;\n }\n\n tbody {\n th[colSpan='2'] {\n background-color: transparent;\n padding-top: 1rem;\n padding-bottom: 0.25rem;\n }\n }\n\n td ul {\n padding-left: 1.2rem;\n margin-bottom: 0;\n list-style-position: outside;\n }\n\n td ul li {\n padding-bottom: 0.25rem;\n\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n h2 {\n text-align: center;\n }\n\n + .product-full-detail__secondary-specs-section {\n margin-top: 20px;\n }\n }\n\n &__primary-specs-table-wrapper {\n position: relative;\n\n .product-full-detail__technical-table {\n margin-bottom: 0;\n }\n }\n\n &__secondary-specs-section {\n background: map-get($colors, 'gray-l4');\n padding: 20px 0;\n\n h3 {\n margin: 0;\n text-align: center;\n }\n\n .product-full-detail__specs-table {\n border: 1px solid map-get($colors, 'black');\n width: -webkit-fill-available;\n margin: 20px 0 0;\n\n .label {\n padding: 10px 0 10px 10px;\n border-right: 1px solid map-get($colors, 'black');\n }\n\n .value {\n padding: 10px;\n white-space: nowrap;\n }\n }\n\n tr {\n border-bottom: 1px solid map-get($colors, 'black');\n }\n\n .inner-table tr {\n border: none;\n }\n\n .inner-table-values {\n vertical-align: baseline;\n padding: 10px;\n }\n\n .number {\n text-align: center;\n background-color: map-get($colors, 'black');\n padding: 0 10px;\n color: map-get($colors, 'white');\n }
363\n\n .number-six {\n vertical-align: text-top;\n }\n\n .row {\n align-items: center;\n }\n\n .diagram-img {\n text-align: center;\n }\n }\n\n &__mobile-sticky-product-info-content {\n padding-bottom: 1rem;\n }\n\n &__short-description {\n margin-bottom: 1rem;\n\n .short-description-title {\n font-size: 22px;\n font-weight: 700;\n margin-top: 1.5rem;\n }\n }\n\n .short-description-wrapper {\n margin-bottom: 2rem;\n }\n\n &__small-info {\n padding-right: 1rem;\n align-items: end;\n gap: $spacer*0.5;\n margin-bottom: 1rem;\n\n img {\n width: $spacer*1.5;\n height: $spacer*1.5;\n cursor: pointer;\n }\n }\n\n .faq-item {\n margin-bottom: 1rem;\n border-bottom: 1px solid map-get($colors, 'gray-l2');\n padding-bottom: 1rem;\n\n .faq-question {\n cursor: pointer;\n display: flex;\n align-items: center;\n font-size: 16px;\n font-weight: bold;\n margin-bottom: 0;\n\n .faq-toggle {\n font-size: 1rem;\n font-weight: bold;\n margin-left: 1rem;\n flex: 1;\n text-align: end;\n }\n }\n\n .faq-answer {\n margin-top: 1rem;\n margin-left: 1.5rem;\n }\n }\n\n &__product-name {\n margin-bottom: $spacer * 0.5;\n }\n\n}\n\n.magazine-alert {\n margin-bottom: 1rem;\n}\n\nmain.root-component.root-component--product .product-full-detail__form-wrapper nav:nth-of-type(1) {\n display: none;\n}\n\n.be-first-review-link--mobile {\n margin-bottom: $spacer;\n}\n\n.be-first-review-link--desktop {\n margin-top: $spacer;\n}\n\n@include media-breakpoint-up(md) {\n .features-sticky-scroll-section {\n margin-top: 0;\n }\n}\n\n@include media-breakpoint-up(lg) {\n .row-wrapper {\n padding-top: $spacer * 4;\n }\n\n .product-full-detail {\n .gallery-container {\n margin-bottom: 3rem;\n }\n\n .gallery-section {\n position: sticky;\n top: 104px;\n }\n\n &__title {\n margin-top: 0;\n }\n\n &__act-button--desktop-in-flow {\n margin-bottom: 2rem;\n }\n\n &__technical-data-row {\n gap: 0;\n }\n\n &__technical-specs-animated-container {\n height: auto !important;\n overflow: visible !important;\n }\n\n &__buttons {\n margin-bottom: 0 !important;\n }\n\n &__technical-data {\n padding: 6rem 0;\n }\n\n &__faq {\n padding: 6rem 0 0;\n }\n\n &__reviews {\n padding-bottom: 6rem;\n\n &--topPadding {\n padding-top: 6rem;\n }\n }\n\n &__whats-in-the-box-section {\n\n .row {\n gap: 0;\n }\n\n .box-description {\n order: 1;\n }\n\n .whats-in-the-box-img {\n order: 2;\n }\n }\n\n &__short-description {\n .short-description-title {\n font-size: 24px;\n margin-top: 0;\n }\n }\n\n &__form {\n .options-description-section {\n min-height: auto;\n }\n }\n\n &__primary-specs-table-wrapper {\n &--split-table {\n column-count: 2;\n column-gap: $grid-gutter-width;\n background: map-get($colors, 'gray-l3');\n z-index: 0;\n\n .product-full-detail__technical-table {\n border: none;\n display: block;\n\n tbody {\n display: block;\n\n tr {\n display: flex;\n\n td {\n overflow: hidden;\n }\n }\n }\n }\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 1px solid map-get($colors, 'black');\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n width: $grid-gutter-width;\n height: calc(100% + 2px);\n top: -1px;\n left: 50%;\n transform: translate(-50%, 0);\n border-left: 1px solid map-get($colors, 'black');\n border-right: 1px solid map-get($colors, 'black');\n border-top: 1px solid map-get($colors, 'white');\n border-bottom: 1px solid map-get($colors, 'white');\n z-index: 1;\n background: map-get($colors, 'white');\n }\n }\n }\n\n &__primary-specs-section {\n + .product-full-detail__secondary-specs-section {\n margin-top: 2rem;\n }\n }\n\n &__secondary-specs-section {\n padding: 2rem 0;\n --bs-table-bg: map-get($colors, 'gray-l4');\n\n .html-root-akk {\n .elements-wrapper {\n display: flex;\n flex-direction: row !important;\n gap: 20px;\n }\n }\n\n .column-wrapper {\n width: 50% !important;\n border: 1px solid map-get($colors, 'black');\n }\n\n .product-full-detail__table-section-header {\n background: map-get($colors, 'gray-l4');\n }\n\n .product-full-detail__specs-table {\n .label {\n padding: 15px 0 15px 15px;\n }\n\n .value {\n padding: 15px;\n width: 50%;\n }\n\n .number {\n padding: 0 15px;\n }\n\n .inner-table-values {\n padding: 15px;\n }\n }\n }\n }\n\n main.root-component.root-component--product {\n nav:nth-of-type(1) {\n display: none;\n }\n }\n\n main.root-component.root-component--product .product-full-detail__form-wrapper nav:nth-of-type(1) {\n display: block;\n }\n\n}\n\n.product-badges {\n margin-top: 1rem;\n\n &__near-price {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 1.5rem;\n height: auto;
363\n\n &--ships-free {\n height: 26px;\n }\n\n &--return-policy {\n height: 26px;\n }\n }\n}\n",'// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n "100": $gray-100,\n "200": $gray-200,\n "300": $gray-300,\n "400": $gray-400,\n "500": $gray-500,\n "600": $gray-600,\n "700": $gray-700,\n "800": $gray-800,\n "900": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n "blue": $blue,\n "indigo": $indigo,\n "purple": $purple,\n "pink": $pink,\n "red": $red,\n "orange": $orange,\n "yellow": $yellow,\n "green": $green,\n "teal": $teal,\n "cyan": $cyan,\n "black": $black,\n "white": $white,\n "gray": $gray-600,\n "gray-dark": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.2 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG/#contrast-minimum\n$min-contrast-ratio: 4.5 !default;
363\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;
363\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n "blue-100": $blue-100,\n "blue-200": $blue-200,\n "blue-300": $blue-300,\n "blue-400": $blue-400,\n "blue-500": $blue-500,\n "blue-600": $blue-600,\n "blue-700": $blue-700,\n "blue-800": $blue-800,\n "blue-900": $blue-900\n) !default;\n\n$indigos: (\n "indigo-100": $indigo-100,\n "indigo-200": $indigo-200,\n "indigo-300": $indigo-300,\n "indigo-400": $indigo-400,\n "indigo-500": $indigo-500,\n "indigo-600": $indigo-600,\n "indigo-700": $indigo-700,\n "indigo-800": $indigo-800,\n "indigo-900": $indigo-900\n) !default;\n\n$purples: (\n "purple-100": $purple-100,\n "purple-200": $purple-200,\n "purple-300": $purple-300,\n "purple-400": $purple-400,\n "purple-500": $purple-500,\n "purple-600": $purple-600,\n "purple-700": $purple-700,\n "purple-800": $purple-800,\n "purple-900": $purple-900\n) !default;\n\n$pinks: (\n "pink-100": $pink-100,\n "pink-200": $pink-200,\n "pink-300": $pink-300,\n "pink-400": $pink-400,\n "pink-500": $pink-500,\n "pink-600": $pink-600,\n "pink-700": $pink-700,\n "pink-800": $pink-800,\n "pink-900": $pink-900\n) !default;\n\n$reds: (\n "red-100": $red-100,\n "red-200": $red-200,\n "red-300": $red-300,\n "red-400": $red-400,\n "red-500": $red-500,\n "red-600": $red-600,\n "red-700": $red-700,\n "red-800": $red-800,\n "red-900": $red-900\n) !default;\n\n$oranges: (\n "orange-100": $orange-100,\n "orange-200": $orange-200,\n "orange-300": $orange-300,\n "orange-400": $orange-400,\n "orange-500": $orange-500,\n "orange-600": $orange-600,\n "orange-700": $orange-700,\n "orange-800": $orange-800,\n "orange-900": $orange-900\n) !default;\n\n$yellows: (\n "yellow-100": $yellow-100,\n "yellow-200": $yellow-200,\n "yellow-300": $yellow-300,\n "yellow-400": $yellow-400,\n "yellow-500": $yellow-500,\n "yellow-600": $yellow-600,\n "yellow-700": $yellow-700,\n "yellow-800": $yellow-800,\n "yellow-900": $yellow-900\n) !default;\n\n$greens: (\n "green-100": $green-100,\n "green-200": $green-200,\n "green-300": $green-300,\n "green-400": $green-400,\n "green-500": $green-500,\n "green-600": $green-600,\n "green-700": $green-700,\n "green-800": $green-800,\n "green-900": $green-900\n) !default;\n\n$teals: (\n "teal-100": $teal-100,\n "teal-200": $teal-200,\n "teal-300": $teal-300,\n "teal-400": $teal-400,\n "teal-500": $teal-500,\n "teal-600": $teal-600,\n "teal-700": $teal-700,\n "teal-800": $teal-800,\n "teal-900": $teal-900\n) !default;\n\n$cyans: (\n "cyan-100": $cyan-100,\n "cyan-200": $cyan-200,\n "cyan-300": $cyan-300,\n "cyan-400": $cyan-400,\n "cyan-500": $cyan-500,\n "cyan-600": $cyan-600,\n "cyan-700": $cyan-700,\n "cyan-800": $cyan-800,\n "cyan-900": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n "primary": $primary,\n "secondary": $secondary,\n "success": $success,\n "info": $info,\n "warning": $warning,\n "danger": $danger,\n "light": $light,\n "dark": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;
363\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n ("<", "%3c"),\n (">", "%3e"),\n ("#", "%23"),\n ("(", "%28"),\n (")", "%29"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");\n@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960
363px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, "$container-max-widths");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n "1x1": 100%,\n "4x3": calc(3 / 4 * 100%),\n "16x9": calc(9 / 16 * 100%),\n "21x9": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;
363\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-color: $body-color !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}emphasis-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor: .2 !default;\n$table-border-width: var(--#{$prefix}border-width) !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: var(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n "primary": shift-color($primary, $table-bg-scale),\n "secondary": shift-color($secondary, $table-bg-scale),\n "success": shift-color($success, $table-bg-scale),\n "info": shift-color($info, $table-bg-scale),\n "warning": shift-color($warning, $table-bg-scale),\n "danger": shift-color($danger, $table-bg-scale),\n "light": $light,\n "dark": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;
363\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap\'s buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color: var(--#{$prefix}body-color) !default;\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;
363\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;
363\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 20 20\'><path fill=\'none\' stroke=\'#{$form-check-input-checked-color}\' stroke-linecap=\'round\' stroke-linejoin=\'round\' stroke-width=\'3\' d=\'m6 10 3 3 6-6\'/></svg>") !default;\n$form-check-radio-checked-bg-image: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'><circle r=\'2\' fill=\'#{$form-check-input-checked-color}\'/></svg>") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 20 20\'><path fill=\'none\' stroke=\'#{$form-check-input-indeterminate-color}\' stroke-linecap=\'round\' stroke-linejoin=\'round\' stroke-width=\'3\' d=\'M6 10h8\'/></svg>") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'><circle r=\'3\' fill=\'#{$form-switch-color}\'/></svg>") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'><circle r=\'3\' fill=\'#{$form-switch-focus-color}\'/></svg>") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'><circle r=\'3\' fill=\'#{$form-switch-checked-color}\'/></svg>") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\'><path fill=\'none\' stroke=\'#{$form-select-indicator-color}\' stroke-linecap=\'round\' stroke-linejoin=\'round\' stroke-width=\'2\' d=\'m2 5 6 6 6-6\'/></svg>") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;
363\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius: 1rem !default;
363\n$form-range-track-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'><path fill=\'#{$form-feedback-icon-valid-color}\' d=\'M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1\'/></svg>") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 12 12\' width=\'12\' height=\'12\' fill=\'none\' stroke=\'#{$form-feedback-icon-invalid-color}\'><circle cx=\'6\' cy=\'6\' r=\'4.5\'/><path stroke-linejoin=\'round\' d=\'M5.8 3.6h.4L6 6.5z\'/><circle cx=\'6\' cy=\'8.2\' r=\'.6\' fill=\'#{$form-feedback-icon-invalid-color}\' stroke=\'none\'/></svg>") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n "valid": (\n "color": var(--#{$prefix}form-valid-color),\n "icon": $form-feedback-icon-valid,\n "tooltip-color": #fff,\n "tooltip-bg-color": var(--#{$prefix}
363success),\n "focus-box-shadow": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n "border-color": var(--#{$prefix}form-valid-border-color),\n ),\n "invalid": (\n "color": var(--#{$prefix}form-invalid-color),\n "icon": $form-feedback-icon-invalid,\n "tooltip-color": #fff,\n "tooltip-bg-color": var(--#{$prefix}danger),\n "focus-box-shadow": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n "border-color": var(--#{$prefix}form-invalid-border-color),\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They\'re used for a bird\'s eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 30 30\'><path stroke=\'#{$navbar-light-icon-color}\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' d=\'M4 7h22M4 15h22M4 23h22\'/></svg>") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;
363\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-icon-color: $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 30 30\'><path stroke=\'#{$navbar-dark-icon-color}\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' d=\'M4 7h22M4 15h22M4 23h22\'/></svg>") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(-1 * #{$pagination-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;
363\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}border-radius) !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: var(--#{$prefix}body-color) !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color: $input-focus-border-color !default;
363 // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'none\' stroke=\'#{$accordion-icon-color}\' stroke-linecap=\'round\' stroke-linejoin=\'round\'><path d=\'m2 5 6 6 6-6\'/></svg>") !default;\n$accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'none\' stroke=\'#{$accordion-icon-active-color}\' stroke-linecap=\'round\' stroke-linejoin=\'round\'><path d=\'m2 5 6 6 6-6\'/></svg>") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}border-radius) !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: var(--#{$prefix}body-color) !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;
363\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: var(--#{$prefix}body-color) !default;\n$modal-content-bg: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up: var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;
363\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider: quote("/") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n$carousel-control-icon-filter: null !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'#{$carousel-control-color}\'><path d=\'M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0\'/></svg>") !default;\n$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'#{$carousel-control-color}\'><path d=\'M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708\'/></svg>") !default;\n\n$carousel-transition-duration: .6s !default;
363\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default; // Deprecated in v5.3.4\n$carousel-dark-caption-color: $black !default; // Deprecated in v5.3.4\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default; // Deprecated in v5.3.4\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'#{$btn-close-color}\'><path d=\'M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414\'/></svg>") !default;\n$btn-close-focus-shadow: $focus-ring-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-filter: null !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default; // Deprecated in v5.3.4\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n\n@import "variables-dark"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\n','// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error "breakpoint `#{$name}` not found in `#{$breakpoints}`";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n/
363/ `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "-sm"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint\'s minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n',"$grid-gutter-width: 30px;"],sourceRoot:""}]),i.locals={},n.a=i},"PQ+J":function(e,n,t){"use strict" 364var a=t("q1tI"),r=t.n(a),o=t("dDsW"),i=t("17x9"),l=t("JM2y"),s=t("8UhI"),d=t("LboF"),c=t.n(d),u=t("aGbE"),p={insert:"head",singleton:!1},m=(c()(u.a,p),u.a.locals||{}),A=t("Xr8/") 365const f=e=>{const{initialValue:n,itemId:t,label:i,min:d,onChange:c,message:u,classes:p,disableIncrement:f}=e,{formatMessage:b}=Object(o.a)(),g=Object(l.a)({initialValue:n,min:d,onChange:c}),{isDecrementDisabled:h,isIncrementDisabled:$,handleBlur:v,handleDecrement:C,handleIncrement:x,maskInput:w}=g,k=u?r.a.createElement(A.a,null,u):null 366return r.a.createElement(a.Fragment,null,r.a.createElement("div",{className:"".concat(m," quantityStepper")},r.a.createElement("button",{"aria-label":b({id:"quantity.buttonDecrement",defaultMessage:"Decrease Quantity"}),className:"quantityStepper__button quantityStepper__buttonDecrement",disabled:h,onClick:C,type:"button"},r.a.createElement("span",{className:"glf glf-icon glf-icon--minus"})),r.a.createElement(s.g,{"aria-label":b({id:"quantity.input",defaultMessage:"Item Quantity"}),classes:{input:"quantityStepper__input"},field:"quantity",id:t,inputMode:"numeric",mask:w,min:d,onBlur:v,pattern:"[0-9]*",disabled:f}),r.a.createElement("button",{"aria-label":b({id:"quantity.buttonIncrement",defaultMessage:"Increase Quantity"}),className:"quantityStepper__button quantityStepper__buttonIncrement",disabled:$||f,onClick:x,type:"button"},r.a.createElement("span",{className:"glf glf-icon glf-icon--plus"}))),k)} 367f.defaultProps={min:0,initialValue:1,onChange:()=>{},disableIncrement:!1}
367,f.propTypes={classes:Object(i.shape)({button:i.string}),itemId:i.string,initialValue:i.number,label:i.string,min:i.number,onChange:i.func,message:i.string,disableIncrement:i.bool} 368n.a=f},"VG/r":function(e,n,t){"use strict" 369var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 370i.push([e.i,".credova-button a{background-color:rgba(0,0,0,0)}","",{version:3,sources:["webpack://./src/components/CredovaWidget/credovaWidget.scss"],names:[],mappings:"AACI,kBACI,8BAAA",sourcesContent:[".credova-button {\n a {\n background-color: transparent;\n }\n}\n"],sourceRoot:""}]),i.locals={},n.a=i},"Xr8/":function(e,n,t){"use strict" 371var a=t("q1tI"),r=t.n(a),o=t("dDsW"),i=t("17x9"),l=t("LboF"),s=t.n(l),d=t("ZZFP"),c={insert:"head",singleton:!1},u=(s()(d.a,c),d.a.locals,t("y1Xp")) 372const p=e=>{const{children:n,classes:t,fieldState:a}=e,{formatMessage:i}=Object(o.a)(),{error:l}=a,s=Object(u.a)(t),d=l?s.root_error:(null==s?void 0:s.root)||"" 373let c 374return l&&(c=i({id:l.id,defaultMessage:l.defaultMessage},{value:l.value})),r.a.createElement("p",{className:"".concat(d," ").concat(c||n?"message--visible":"message--hidden")},c||n)} 375n.a=p 376p.defaultProps={fieldState:{}},p.propTypes={children:i.node,classes:Object(i.shape)({root:i.string,root_error:i.string}),fieldState:Object(i.shape)({error:Object(i.shape)({id:i.string,defaultMessage:i.string,value:Object(i.oneOfType)([i.number,i.string])})})}},Ylj9:function(e,n,t){"use strict" 377var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 378i.push([e.i,".sticky-scroll-container{position:relative}.sticky-element{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;background-color:#000;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 5%;gap:2rem}.sticky-element .dynamic-visual-container{position:relative;flex-shrink:0;width:45%;max-width:600px;height:80vh;max-height:80%}.sticky-element .dynamic-visual-container .visual-step{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .6s cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:0}.sticky-element .dynamic-visual-container .visual-step.active{opacity:1;pointer-events:auto;z-index:1}.sticky-element .dynamic-visual-container .visual-step>*{display:block;max-width:100%;max-height:100%;object-fit:contain}.sticky-element .sticky-content-wrapper{position:relative;width:45%;max-width:600px;height:80%;overflow:hidden}.sticky-element .sticky-content-wrapper .content-step{position:absolute;width:100%;top:50%;left:0;z-index:0;opacity:0;transform:translateY(calc(-50% + 100px)) scale(0.95);transition:transform .6s cubic-bezier(0.4, 0, 0.2, 1),opacity .6s cubic-bezier(0.4, 0, 0.2, 1);will-change:transform,opacity;pointer-events:none;display:flex;flex-direction:column}.sticky-element .sticky-content-wrapper .content-step.active{opacity:1;transform:translateY(calc(-50% - 20px)) scale(1);pointer-events:auto;z-index:1}.sticky-element .sticky-content-wrapper .content-step a{display:inline-block;margin-top:1rem;color:#2997ff;text-decoration:none;font-weight:500}@media(max-width: 768px){.sticky-element{flex-direction:column;justify-content:flex-start;padding:14vh 5%;gap:2vh}.sticky-element .sticky-content-wrapper{order:1;width:100%;max-width:95%;min-height:25vh;margin-bottom:0;overflow:hidden}.sticky-element .sticky-content-wrapper .content-step{transform:translateY(calc(-50% + 80px)) scale(0.95);transition:transform .6s cubic-bezier(0.4, 0, 0.2, 1),opacity .6s cubic-bezier(0.4, 0, 0.2, 1)}.sticky-element .sticky-content-wrapper .content-step.active{transform:translateY(calc(-50% - 10px)) scale(1);z-index:1}.sticky-element .sticky-content-wrapper .content-step p{line-height:1.5;max-width:100%}.sticky-element .sticky-content-wrapper .content-step a{margin-top:.8rem}.sticky-element .dynamic-visual-container{width:85%;max-width:360px;height:auto;min-height:32vh;max-height:50vh;margin:0 auto}.sticky-element .dynamic-visual-container .visual-step{width:100%;height:100%;transition:opacity .6s cubic-bezier(0.4, 0, 0.2, 1)}.sticky-element .dynamic-visual-container .visual-step>*{display:block;max-width:100%;max-height:100%;object-fit:contain}}","",{version:3,sources:["webpack://./src/components/StickyScrollSection/stickyScrollSection.scss"],names:[],mappings:"AAAA,yBACI,iBAAA,CAGJ,gBACI,eAAA,CACA,KAAA,CACA,YAAA,CACA,UAAA,CACA,eAAA,CACA,qBAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,YAAA,CACA,QAAA,CAEA,0CACI,iBAAA,CACA,aAAA,CACA,SAAA,CACA,eAAA,CACA,WAAA,CACA,cAAA,CAEA,uDACI,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CACA,mDAAA,CACA,mBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,SAAA,CAEA,8DACI,SAAA,CACA,mBAAA,CACA,SAAA,CAGJ,yDACI,aAAA,CACA,cAAA,CACA,eAAA,CACA,kBAAA,CAKZ,wCACI,iBAAA,CACA,SAAA,CACA,eAAA,CACA,UAAA,CACA,eAAA,CAEA,sDACI,iBAAA,CACA,UAAA,CACA,OAAA,CACA,MAAA,CACA,SAAA,CACA,SAAA,CACA,oDAAA,CACA,8FAAA,CAEA,6BAAA,CACA,mBAAA,CACA,YAAA,CACA,qBAAA,CAEA,6DACI,SAAA,CACA,gDAAA,CACA,mBAAA,CACA,SAAA,CAGJ,wDACI,oBAAA,CACA,eAAA,CACA,aAAA,CACA,oBAAA,CACA,eAAA,CAKZ,yBA1FJ,gBA2FQ,qBAAA,CACA,0BAAA,CACA,eAAA,CACA,OAAA,CAEA,wCACI,OAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CAEA,sDACI,mDAAA,CACA,8FAAA,CAGA,6DAC
378I,gDAAA,CACA,SAAA,CAGJ,wDACI,eAAA,CACA,cAAA,CAEJ,wDACI,gBAAA,CAKZ,0CACI,SAAA,CACA,eAAA,CACA,WAAA,CACA,eAAA,CACA,eAAA,CACA,aAAA,CAEA,uDACI,UAAA,CACA,WAAA,CACA,mDAAA,CAEA,yDACI,aAAA,CACA,cAAA,CACA,eAAA,CACA,kBAAA,CAAA",sourcesContent:[".sticky-scroll-container {\n position: relative;\n}\n\n.sticky-element {\n position: sticky;\n top: 0;\n height: 100vh;\n width: 100%;\n overflow: hidden;\n background-color: #000;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 5%;\n gap: 2rem;\n\n .dynamic-visual-container {\n position: relative;\n flex-shrink: 0;\n width: 45%;\n max-width: 600px;\n height: 80vh;\n max-height: 80%;\n\n .visual-step {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 0;\n\n &.active {\n opacity: 1;\n pointer-events: auto;\n z-index: 1;\n }\n\n & > * {\n display: block;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n }\n }\n\n .sticky-content-wrapper {\n position: relative;\n width: 45%;\n max-width: 600px;\n height: 80%;\n overflow: hidden;\n\n .content-step {\n position: absolute;\n width: 100%;\n top: 50%;\n left: 0;\n z-index: 0;\n opacity: 0;\n transform: translateY(calc(-50% + 100px)) scale(0.95);\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform, opacity;\n pointer-events: none;\n display: flex;\n flex-direction: column;\n\n &.active {\n opacity: 1;\n transform: translateY(calc(-50% - 20px)) scale(1);\n pointer-events: auto;\n z-index: 1;\n }\n\n a {\n display: inline-block;\n margin-top: 1rem;\n color: #2997ff;\n text-decoration: none;\n font-weight: 500;\n }\n }\n }\n\n @media (max-width: 768px) {\n flex-direction: column;\n justify-content: flex-start;\n padding: 14vh 5%;\n gap: 2vh;\n\n .sticky-content-wrapper {\n order: 1;\n width: 100%;\n max-width: 95%;\n min-height: 25vh;\n margin-bottom: 0;\n overflow: hidden;\n\n .content-step {\n transform: translateY(calc(-50% + 80px)) scale(0.95);\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n\n &.active {\n transform: translateY(calc(-50% - 10px)) scale(1);\n z-index: 1;\n }\n\n p {\n line-height: 1.5;\n max-width: 100%;\n }\n a {\n margin-top: 0.8rem;\n }\n }\n }\n\n .dynamic-visual-container {\n width: 85%;\n max-width: 360px;\n height: auto;\n min-height: 32vh;\n max-height: 50vh;\n margin: 0 auto;\n\n .visual-step {\n width: 100%;\n height: 100%;\n transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n\n & > * {\n display: block;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n }\n }\n }\n}"],sourceRoot:""}]),i.locals={},n.a=i},ZZFP:function(e,n,t){"use strict" 379var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a)
380i.push([e.i,".message--visible{display:block}.message--hidden{display:none}","",{version:3,sources:["webpack://./src/components/Field/message.scss"],names:[],mappings:"AACI,kBACI,aAAA,CAEJ,iBACI,YAAA",sourcesContent:[".message {\n &--visible {\n display: block;\n }\n &--hidden {\n display: none;\n }\n}"],sourceRoot:""}]),i.locals={},n.a=i},aGbE:function(e,n,t){"use strict" 381var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 382i.push([e.i,".quantityStepper{display:flex}.quantityStepper__button{border:2px solid #88959e;background:none}.quantityStepper__button svg{fill:none;stroke:#88959e;width:1.2rem;height:1.2rem}.quantityStepper__button:disabled{color:#d1d3d4}.quantityStepper input{border-top:2px solid #88959e;border-bottom:2px solid #88959e;border-left:none;border-right:none;width:48px;padding:0;text-align:center}","",{version:3,sources:["webpack://./src/components/QuantityStepper/quantityStepper.scss"],names:[],mappings:"AAGA,iBACI,YAAA,CAEA,yBACI,wBAAA,CACA,eAAA,CAEA,6BACI,SAAA,CACA,cAAA,CACA,YAAA,CACA,aAAA,CAGJ,kCACI,aAAA,CAGR,uBACI,4BAAA,CACA,+BAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CACA,SAAA,CACA,iBAAA",sourcesContent:["@use \"sass:map\";\n@import '/src/styles/Themes/Default/component-prerequisites';\n\n.quantityStepper {\n display: flex;\n\n &__button {\n border: 2px solid map-get($colors, 'gray');\n background: none;\n\n svg {\n fill: none;\n stroke: map-get($colors, 'gray');\n width: 1.2rem;\n height: 1.2rem;\n }\n\n &:disabled {\n color: map-get($colors, 'gray-l2');\n }\n }\n input {\n border-top: 2px solid map-get($colors, 'gray');\n border-bottom: 2px solid map-get($colors, 'gray');\n border-left: none;\n border-right: none;\n width: 48px;\n padding: 0;\n text-align: center;\n }\n}"],sourceRoot:""}]),i.locals={},n.a=i},bbuK:function(e,n,t){"use strict" 383var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 384i.push([e.i,".thumbnail{border:none;padding:0}.thumbnail.active .imageContainer__loaded{box-shadow:0 0 0 1px #00cbff}.thumbnail--360{background-color:#fff;display:flex;align-items:center;justify-content:center}.thumbnail--360 .thumbnail__360-icon{width:96px;height:96px}.thumbnail--360.active{box-shadow:0 0 0 1px #00cbff}","",{version:3,sources:["webpack://./src/components/ProductImageCarousel/thumbnail.scss"],names:[],mappings:"AAEA,WACI,WAAA,CACA,SAAA,CAEI,0CACI,4BAAA,CAIR,gBACI,qBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,qCACI,UAAA,CACA,WAAA,CAGJ,uBACI,4BAAA",sourcesContent:["@import '/src/styles/Themes/Default/component-prerequisites';\n\n.thumbnail {\n border: none;\n padding: 0;\n &.active {\n .imageContainer__loaded {\n box-shadow: 0 0 0 1px map-get($colors, 'blue-l2');\n }\n }\n\n &--360 {\n background-color: map-get($colors, 'white');\n display: flex;\n align-items: center;\n justify-content: center;\n\n .thumbnail__360-icon {\n width: 96px;\n height: 96px;\n }\n\n &.active {\n box-shadow: 0 0 0 1px map-get($colors, 'blue-l2');\n }\n }\n}"],sourceRoot:""}]),i.locals={},n.a=i},dqEZ:function(e,n,t){"use strict" 385var a=t("pVnL"),r=t.n(a),o=t("QILm"),i=t.n(o),l=t("q1tI"),s=t.n(l),d=t("17x9"),c=t("y1Xp"),u=t("PkP7") 386const p=["children","classes","type"],m=e=>{const{children:n,classes:t,type:a}=e,o=i()(e,p),l=Object(c.a)(t) 387return s.a.createElement(u.a,r()({priority:"normal",classes:{root_normalPriority:(null==l?void 0:l.root)||""},type:a},o),n)} 388m.propTypes={classes:Object(d.shape)({root:d.string}),type:Object(d.oneOf)(["button","reset","submit"]).isRequired},m.defaultProps={type:"button"},n.a=m},iiSH:function(e,n,t){"use strict" 389var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 390i.push([e.i,'.product-image-carousel__thumbnails{max-height:688px;overflow:auto}.product-image-carousel__sidebar-thumbnails{display:flex;flex-direction:column;align-items:center;gap:1rem;max-height:600px;overflow-y:auto;overflow-x:hidden}@media(min-width: 992px){.product-image-carousel__sidebar-thumbnails{padding-right:1rem}}.product-image-carousel__sidebar-thumbnails>button{width:140px;padding:0}.product-image-carousel__viewport{width:100vw;overflow:hidden;max-width:100%}.product-image-carousel__viewport:before{content:"";display:block;padding-top:100%}.product-image-carousel__image-strip-wrapper{position:absolute;top:0;left:0;width:100%;height:100%}.product-image-carousel__image-strip{display:flex;will-change:transform}.product-image-carousel__image-slide{padding:0 1rem}.product-image-carousel__image-slide img{display:block;max-width:100%;max-height:100%;height:webkit-fill-available;object-fit:contain;pointer-events:none}.product-image-carousel__image-slide:has(.webRotateViewer){z-index:-1}.product-image-carousel__current-image-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.product-image-carousel__current-image{display:block;max-width:100%;max-height:100%;object-fit:contain;object-position:center;position:absolute}.product-image-carousel__nav-button{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background-color:rgba(0,0,0,0);border:none;padding:.5rem}.product-image-carousel__nav-button--prev{left:10px}.product-image-carousel__nav-button--next{right:10px}.product-image-carousel__nav-button:active>.product-image-carousel__nav-icon{box-shadow:0 0 0 .25rem rgba(var(--bs-primary-rgb), 0.5);border-radius:.25rem}.product-image-carousel__bottom-dots{display:flex;justify-content:center;align-items:center;padding-top:.5rem;padding-bottom:.5rem;gap:.5rem}.product-image-carousel__dot{background-color:#ccc;border:none;border-radius:50%;width:10px;height:10px;padding:0;cursor:pointer;transition:background-color .3s ease}.product-image-carousel__dot:hover{background-color:#aaa}.product-image-carousel__dot--active{background-color:#333}.product-image-carousel__main-content{flex:1}.previousButton,.nextButton{z-index:3}[class^=productFullDetail-imageCarousel]{min-width:0}.zoom-container{width:3200px !important;height:3200px !important}.imageContainer{border:none}.product-image-carousel__bottom-indicators{display:flex;padding-top:1rem;padding-bottom:.5rem;gap:.5rem}.product-image-carousel__bottom-indicators.has-thumbnails{overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch}.product-image-carousel__bottom-indicators.has-thumbnails>button{flex-shrink:0}.product-image-carousel__bottom-indicators:not(.has-thumbnails){justify-content:center;align-items:center}.product-image-carousel__sidebar-thumbnails{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-height:600px;overflow-y:auto;overflow-x:hidden;width:auto;padding-right:3px;box-sizing:border-box;scrollbar-width:thin}.product-image-carousel__sidebar-thumbnails::-webkit-scrollbar{width:6px}.product-image-carousel__sidebar-thumbnails::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.product-image-carousel__sidebar-thumbnails::-webkit-scrollbar-thumb{background-color:rgba(247,239,239,.25);border-radius:3px}.product-image-carousel__sidebar-thumbnails::-webkit-scrollbar-thumb:hover{background-color:rgba(209,201,201,.4)}.product-image-carousel__sidebar-thumbnails>button{width:140px}
390.product-image-carousel__bottom-controls-wrapper{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;width:100%}.product-image-carousel__thumbnail-nav{background:rgba(0,0,0,0);border:none;padding:.25rem .5rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center}.product-image-carousel__thumbnail-nav:disabled{opacity:.3;cursor:not-allowed}.product-image-carousel__bottom-indicators{display:flex;align-items:center;flex-grow:1;justify-content:center;gap:1rem;overflow:hidden}.product-image-carousel__bottom-indicators.has-thumbnails-paginated{flex-wrap:nowrap}.product-image-carousel__main-content{flex:1;--bs-gutter-x: 0;--bs-gutter-y: 0}.product-image-carousel__bottom-indicators{display:flex;padding-top:1rem;padding-bottom:.5rem;gap:1rem}.product-image-carousel__bottom-indicators button{background:rgba(0,0,0,0)}.product-image-carousel__bottom-indicators.has-thumbnails-scrollable{overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;display:block;text-align:center;white-space:nowrap;scrollbar-width:thin}.product-image-carousel__bottom-indicators.has-thumbnails-scrollable>*{flex-shrink:0}.product-image-carousel__bottom-indicators.has-thumbnails-scrollable button:not(:last-of-type){margin-right:1rem}.product-image-carousel__bottom-indicators.has-thumbnails-scrollable button{display:inline-block}.product-image-carousel__bottom-indicators.product-image-carousel__bottom-dots{justify-content:center;align-items:center}.product-thumbnail{padding:0;border:1px solid rgba(0,0,0,0);box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-thumbnail--active{border-color:#333}.product-thumbnail__image{display:block;width:100%;height:100%;object-fit:cover}@media(min-width: 576px){.product-image-carousel__viewport{width:540px}}@media(min-width: 768px){.product-image-carousel__bottom-indicators.has-thumbnails-scrollable{justify-content:center}.product-image-carousel__viewport{width:720px;height:650px}.product-image-carousel__image-slide>div>div{display:flex;height:650px !important}}@media(min-width: 992px){.product-image-carousel__main-content{--bs-gutter-x: 30px}.product-image-carousel__viewport{width:100%}.product-image-carousel__image-slide{padding:0}}',"",{version:3,sources:["webpack://./src/components/ProductImageCarousel/productImageCarousel.scss","webpack://./node_modules/bootstrap/scss/mixins/_breakpoints.scss"],names:[],mappings:"AAGI,oCACI,gBAAA,CACA,aAAA,CAGJ,4CACI,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,QAAA,CACA,gBAAA,CACA,eAAA,CACA,iBAAA,CAEA,yBATJ,4CAUQ,kBAAA,CAAA,CAGJ,mDACI,WAAA,CACA,SAAA,CAIR,kCACI,WAAA,CACA,eAAA,CACA,cAAA,CACA,yCACI,UAAA,CACA,aAAA,CACA,gBAAA,CAIR,6CACI,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CAGJ,qCACI,YAAA,CACA,qBAAA,CAGJ,qCACI,cAAA,CACA,yCACI,aAAA,CACA,cAAA,CACA,eAAA,CACA,4BAAA,CACA,kBAAA,CACA,mBAAA,CAEJ,2DACI,UAAA,CAIR,+CACI,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CAGJ,uCACI,aAAA,CACA,cAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CAGJ,oCACI,iBAAA,CACA,OAAA,CACA,0BAAA,CACA,SAAA,CACA,8BAAA,CACA,WAAA,CACA,aAAA,CAEA,0CACI,SAAA,CAGJ,0CACI,UAAA,CAGJ,6EACI,wDAAA,CACA,oBAAA,CAIR,qCACI,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,iBAAA,CACA,oBAAA,CACA,SAAA,CAGJ,6BACI,qBAAA,CACA,WAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CACA,cAAA,CACA,oCAAA,CAEA,mCACI,qBAAA,CAGJ,qCACI,qBAAA,CAGR,sCACI,MAAA,CAIR,4BAEI,SAAA,CAGJ,yCACI,WAAA,CAEJ,gBACI,uBAAA,CACA,wBAAA,CAEJ,gBACI,WAAA,CAEJ,2CACI,YAAA,CACA,gBAAA,CACA,oBAAA,CACA,SAAA,CAEA,0DACI,eAAA,CACA,0BAAA,CACA,gCAAA,CAEA,iEACI,aAAA,CAIR,gEACI,sBAAA,CACA,kBAAA,CAGR,4CACI,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,iBAAA,CACA,qBAAA,CAeA,oBAAA,CAbA,+DACI,SAAA,CAEJ,qEACI,wBAAA,CAEJ,qEACI,sCAAA,CACA,iBAAA,CAEJ,2EACI,qCAAA,CAIJ,mDACI,WAAA,CAIR,iDACI,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,eAAA,CACA,UAAA,CAGJ,uCACI,wBAAA,CACA,WAAA,CACA,oBAAA,CACA,cAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,gDACI,UAAA,CACA,kBAAA,CAIR,2CACI,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sBAAA,CACA,QAAA,CACA,eAAA,CAEA,oEACI,gBAAA,CAIR,sCACI,MAAA,CACA,gBAAA,CACA,gBAAA,CAIJ,2CACI,YAAA,CACA,gBAAA,CACA,oBAAA,CACA,QAAA,CACA,kDACQ,wBAAA,CAER,qEACI,eAAA,CACA,gCAAA,CACA,0BAAA,CACA,aAAA,CACA,iBAAA,CACA,kBAAA,CACA,oBAAA,CAEA,uEACI,aAAA,CAEJ,+FACI,iBAAA,CAEJ,4EACI,oBAAA,CAIR,+EACI,sBAAA,CACA,kBAAA,CAIR,mBACI,SAAA,CACA,8BAAA,CACA,qBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAEA,2BACI,iBAAA,CAGJ,0BACI,aAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CC7OJ,yBDoPI,kCACI,WAAA,CAAA,CCrPR,yBD6PI,qEACI,sBAAA,CAKJ,kCACI,WAAA,CACA,YAAA,CAGA,6CACI,YAAA,CACA,uBAAA,CAAA,CC1QZ,yBDkRA,sCACI,mBAAA,CAGA,kCACI,UAAA,CAEJ,qCACI,SAAA,CAAA",sourcesContent:["@use \"sass:map\";\n@import '/src/styles/Themes/Default/component-prerequisites';\n.product-image-carousel {\n &__thumbnails {\n max-height: 688px;\n overflow: auto;\n }\n\n &__sidebar-thumbnails {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1rem;\n max-height: 600px;\n overflow-y: auto;\n overflow-x: hidden;\n\n @media (min-width: 992px) {\n padding-right: 1rem;\n }\n\n > button {\n width: 140px;\n padding: 0;\n }\n }\n\n &__viewport {\n width: 100vw;\n overflow: hidden;\n max-width: 100%;\n &:before {\n content: '';\n display: block;\n padding-top: 100%;\n }\n }\n\n &__image-strip-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n &__image-strip {\n display: flex;\n will-change: transform;\n }\n\n &__image-slide {\n padding: 0 $spacer;\n img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n height: webkit-fill-available;\n object-fit: contain;\n pointer-events: none;\n }\n &:has(.webRotateViewer) {\n z-index: -1;\n }\n }\n\n &__current-image-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n\n &__current-image {\n display: block;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n object-position: center;\n position: absolute;\n }\n\n &__nav-button {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 2;\n background-color: transparent;\n border: none;\n padding: 0.5rem;\n\n &--prev {\n left: 10px;\n }\n\n &--next {\n right: 10px;\n }\n\n &:active > .product-image-carousel__nav-icon {\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5);\n border-radius: 0.25rem;\n }\n }\n\n &__bottom-dots {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n gap: 0.5rem;\n }\n\n &__dot {\n background-color: #ccc;\n border: none;\n border-radius: 50%;\n width: 10px;\n height: 10px;\n padding: 0;\n cursor: pointer;\n transition: background-color 0.3s ease;\n\n &:hover {\n background-color: #aaa;\n }\n\n &--active {\n background-color: #333;\n }\n }\n &__main-content {\n flex: 1;\n }\n}\n\n.previousButton,\n.nextButton {\n z-index: 3;\n}\n\n[class^='productFullDetail-imageCarousel'] {\n min-width: 0;\n}\n.zoom-container {\n width: 3200px !important;\n height: 3200px !important;\n}\n.imageContainer {\n border: none;\n}
390\n.product-image-carousel__bottom-indicators {\n display: flex;\n padding-top: 1rem;\n padding-bottom: 0.5rem;\n gap: 0.5rem;\n\n &.has-thumbnails {\n overflow-x: auto;\n justify-content: flex-start;\n -webkit-overflow-scrolling: touch;\n\n > button {\n flex-shrink: 0;\n }\n }\n\n &:not(.has-thumbnails) {\n justify-content: center;\n align-items: center;\n }\n}\n.product-image-carousel__sidebar-thumbnails {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1.5rem;\n max-height: 600px;\n overflow-y: auto;\n overflow-x: hidden;\n width: auto;\n padding-right: 3px;\n box-sizing: border-box;\n\n &::-webkit-scrollbar {\n width: 6px;\n }\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n &::-webkit-scrollbar-thumb {\n background-color: rgba(247, 239, 239, 0.25);\n border-radius: 3px;\n }\n &::-webkit-scrollbar-thumb:hover {\n background-color: rgba(209, 201, 201, 0.4);\n }\n scrollbar-width: thin;\n\n > button {\n width: 140px;\n }\n}\n\n.product-image-carousel__bottom-controls-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 0;\n width: 100%;\n}\n\n.product-image-carousel__thumbnail-nav {\n background: transparent;\n border: none;\n padding: 0.25rem 0.5rem;\n cursor: pointer;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n\n &:disabled {\n opacity: 0.3;\n cursor: not-allowed;\n }\n}\n\n.product-image-carousel__bottom-indicators {\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: center;\n gap: 1rem;\n overflow: hidden;\n\n &.has-thumbnails-paginated {\n flex-wrap: nowrap;\n }\n}\n\n.product-image-carousel__main-content {\n flex: 1;\n --bs-gutter-x: 0;\n --bs-gutter-y: 0;\n}\n\n\n.product-image-carousel__bottom-indicators {\n display: flex;\n padding-top: 1rem;\n padding-bottom: 0.5rem;\n gap: 1rem;\n button{\n background: transparent;\n }\n &.has-thumbnails-scrollable {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n justify-content: flex-start;\n display: block;\n text-align: center;\n white-space: nowrap;\n scrollbar-width: thin;\n\n > * {\n flex-shrink: 0;\n }\n button:not(:last-of-type) {\n margin-right: 1rem;\n }\n button {\n display: inline-block;\n }\n }\n\n &.product-image-carousel__bottom-dots {\n justify-content: center;\n align-items: center;\n }\n}\n\n.product-thumbnail {\n padding: 0;\n border: 1px solid transparent;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n\n &--active {\n border-color: #333;\n }\n\n &__image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n}\n\n@include media-breakpoint-up(sm) {\n\n .product-image-carousel {\n &__viewport {\n width: 540px;\n }\n }\n\n}\n\n@include media-breakpoint-up(md) {\n .product-image-carousel__bottom-indicators {\n &.has-thumbnails-scrollable {\n justify-content: center;\n }\n }\n\n .product-image-carousel {\n &__viewport {\n width: 720px;\n height: 650px;\n }\n &__image-slide {\n > div > div {\n display: flex;\n height: 650px !important;\n }\n }\n }\n\n}\n\n@include media-breakpoint-up(lg) {\n .product-image-carousel__main-content {\n --bs-gutter-x: 30px;\n }\n .product-image-carousel {\n &__viewport {\n width: 100%;\n }\n &__image-slide {\n padding: 0;\n }\n }\n}
390\n",'// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error "breakpoint `#{$name}` not found in `#{$breakpoints}`";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "-sm"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint\'s minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n'],sourceRoot:""}]),i.locals={},n.a=i},il8O:function(e,n,t){"use strict" 391var a=t("q1tI"),r=t.n(a),o=t("w1nR"),i=t("17x9") 392const l=e=>{e.classes 393const n=Object(a.useMemo)(()=>Array.from({length:3}).fill(null).map((e,n)=>r.a.createElement(o.a,{width:3,height:3,key:"tile-".concat(n)})),[]) 394return r.a.createElement("div",null,n)} 395l.defaultProps={classes:{}},l.propTypes={classes:Object(i.shape)({root:i.string})} 396var s=l 397var d=e=>{const n=e.classes 398return r.a.createElement("div",null,r.a.createElement("h3",{className:(null==n?void 0:n.title)||""}
398,r.a.createElement("span",null,r.a.createElement(o.a,{width:"100%"}))),r.a.createElement(s,null),r.a.createElement("div",{className:(null==n?void 0:n.selection)||""},r.a.createElement(o.a,{width:"100%"})))} 399n.a=(()=>r.a.createElement(a.Fragment,null,Array.from({length:2}).fill(null).map((e,n)=>r.a.createElement(d,{key:"product-option-".concat(n)}))))},r5RX:function(e,n,t){"use strict" 400var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 401i.push([e.i,".anchor{position:absolute;top:-107px}","",{version:3,sources:["webpack://./src/components/ScrollAnchor/scrollAnchor.scss"],names:[],mappings:"AAAA,QACI,iBAAA,CACA,UAAA",sourcesContent:[".anchor {\n position: absolute;\n top: -107px;\n}"],sourceRoot:""}]),i.locals={},n.a=i},vIiB:function(e,n,t){"use strict" 402var a=t("LboF"),r=t.n(a),o=t("L9Hr"),i={insert:"head",singleton:!1} 403r()(o.a,i),o.a.locals},vlFq:function(e,n,t){"use strict" 404var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 405i.push([e.i,".product-full-detail.product-full-detail-shimmer{padding:0 0 1.5rem}.product-full-detail.product-full-detail-shimmer .product-image-carousel__viewport:before{display:inline}.product-full-detail.product-full-detail-shimmer .product-image-carousel__sidebar-thumbnails{flex-direction:row;width:100%;flex-wrap:wrap}.product-full-detail.product-full-detail-shimmer .row.gallery{gap:1rem}.product-full-detail.product-full-detail-shimmer .gallery-container-row{gap:1rem}.nav-product-shimmer{display:none}@media(min-width: 992px){.product-full-detail.product-full-detail-shimmer .gallery-container-row{gap:inherit}.nav-product-shimmer{height:100px;display:block}}","",{version:3,sources:["webpack://./src/RootComponents/Product/product.shimmer.scss","webpack://./node_modules/bootstrap/scss/mixins/_breakpoints.scss"],names:[],mappings:"AAEA,iDACI,kBAAA,CAKQ,0FACI,cAAA,CAIR,6FACI,kBAAA,CACA,UAAA,CACA,cAAA,CAIR,8DACI,QAAA,CAGJ,wEACI,QAAA,CAIR,qBACI,YAAA,CCiCA,yBD5BI,wEACI,WAAA,CAIR,qBACI,YAAA,CACA,aAAA,CAAA",sourcesContent:["@import '/src/styles/Themes/Default/component-prerequisites';\n\n.product-full-detail.product-full-detail-shimmer {\n padding: 0 0 1.5rem;\n\n .product-image-carousel {\n\n &__viewport {\n &:before {\n display: inline;\n }\n }\n\n &__sidebar-thumbnails {\n flex-direction: row;\n width: 100%;\n flex-wrap: wrap;\n }\n }\n\n .row.gallery {\n gap: 1rem;\n }\n\n .gallery-container-row {\n gap: 1rem;\n }\n}\n\n.nav-product-shimmer {\n display: none;\n}\n\n@include media-breakpoint-up(lg) {\n .product-full-detail.product-full-detail-shimmer {\n .gallery-container-row {\n gap: inherit;\n }\n }\n\n .nav-product-shimmer {\n height: 100px;\n display: block;\n }\n}\n",'// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error "breakpoint `#{$name}` not found in `#{$breakpoints}`";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n/
405/ `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "-sm"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint\'s minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n'],sourceRoot:""}]),i.locals={},n.a=i},xYQT:function(e,n,t){"use strict" 406var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 407i.push([e.i,".webRotateViewer{width:100%;height:100%;max-width:100%;display:flex;justify-content:center;align-items:center;position:relative}.webRotateViewrWrapper{width:100%;height:100%;position:relative}#webRotate360 .container{transform:scale(1);transition:transform .5s cubic-bezier(0.55, 0.01, 0.35, 1) .05s}#webRotate360 .container.container_zoomed{transform:scale(1) !important}.webRotateText{text-decoration:none;position:absolute;margin:0;padding:4px;color:#d4d4d4;font-family:Arial;font-size:9px;line-height:9px;text-align:right;z-index:20;right:0;top:0;left:auto;bottom:auto;opacity:1;border:none;border-radius:0;background-color:#fff}.viewerContainer,#webrotate360{width:100%;height:100% !important}.webRotateViewer{width:100%}#wr360container_webrotate360{position:relative}@media(min-width: 768px){#webRotate360 .container{min-height:690px;transform:scale(1.1)}#webRotate360 .container .theme_header{top:5%;left:5%}}@media(min-width: 992px){#wr360container_webrotate360{height:100% !important}}@media(min-width: 1200px){#wr360container_webrotate360{transform:scale(1.25)}}","",{version:3,sources:["webpack://./src/components/ProductImageCarousel/WebRotate360Viewer.scss","webpack://./node_modules/bootstrap/scss/mixins/_breakpoints.scss"],names:[],mappings:"AAEA,iBACI,UAAA,CACA,WAAA,CACA,cAAA,CACA,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,iBAAA,CAGJ,uBACI,UAAA,CACA,WAAA,CACA,iBAAA,CAGJ,yBACI,kBAAA,CACA,+DAAA,CACA,0CACI,6BAAA,CAIR,eACI,oBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,aAAA,CACA,iBAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,OAAA,CACA,KAAA,CACA,SAAA,CACA,WAAA,CACA,SAAA,CACA,WAAA,CACA,eAAA,CACA,qBAAA,CAGJ,+BAEI,UAAA,CACA,sBAAA,CAGJ,iBACI,UAAA,CAGJ,6BACI,iBAAA,CCKA,yBDDA,yBACI,gBAAA,CACA,oBAAA,CACA,uCACI,MAAA,CACA,OAAA,CAAA,CCJR,yBDUA,6BAC
407I,sBAAA,CAAA,CCXJ,0BDgBA,6BACI,qBAAA,CAAA",sourcesContent:["@import '/src/styles/Themes/Default/component-prerequisites';\n\n.webRotateViewer {\n width: 100%;\n height: 100%;\n max-width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n}\n\n.webRotateViewrWrapper {\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n#webRotate360 .container {\n transform: scale(1);\n transition: transform 0.5s cubic-bezier(0.55, 0.01, 0.35, 1) 0.05s;\n &.container_zoomed {\n transform: scale(1) !important;\n }\n}\n\n.webRotateText {\n text-decoration: none;\n position: absolute;\n margin: 0;\n padding: 4px;\n color:#D4D4D4 ;\n font-family: Arial;\n font-size: 9px;\n line-height: 9px;\n text-align: right;\n z-index: 20;\n right: 0;\n top: 0;\n left: auto;\n bottom: auto;\n opacity: 1;\n border: none;\n border-radius: 0;\n background-color: map-get($colors, 'white');\n}\n\n.viewerContainer,\n#webrotate360 {\n width: 100%;\n height: 100% !important;\n}\n\n.webRotateViewer {\n width: 100%;\n}\n\n#wr360container_webrotate360 {\n position: relative;\n}\n\n@include media-breakpoint-up(md){\n #webRotate360 .container {\n min-height: 690px;\n transform: scale(1.1);\n .theme_header{\n top: 5%;\n left: 5%;\n }\n }\n}\n\n@include media-breakpoint-up(lg) {\n #wr360container_webrotate360 {\n height: 100% !important;\n }\n}\n\n@include media-breakpoint-up(xl) {\n #wr360container_webrotate360 {\n transform: scale(1.25);\n }\n}\n",'// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error "breakpoint `#{$name}` not found in `#{$breakpoints}`";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "-sm"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint\'s minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n'],sourceRoot:""}]),i.locals={},n.a=i},xmkN:function(e,n,t){"use strict" 408var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a)
409i.push([e.i,".product-secondary-nav{display:block !important;flex:1;min-width:0}.product-secondary-nav__list{display:flex;justify-content:center;list-style:none;margin:0;padding:0;max-width:100%;box-sizing:border-box;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none}.product-secondary-nav__list::-webkit-scrollbar{display:none}.product-secondary-nav__item{flex:0 0 auto}.product-secondary-nav__link{display:block;padding:1rem 1rem;color:#fff;text-transform:uppercase;font-weight:700;font-size:.8rem;letter-spacing:.02em;white-space:nowrap;text-decoration:none;border-bottom:3px solid rgba(0,0,0,0);transition:color .15s ease,border-color .15s ease}.product-secondary-nav__link:hover,.product-secondary-nav__link:focus{color:#0094f3}.product-secondary-nav__link--active{color:#0094f3;border-bottom-color:#0094f3}@media(min-width: 992px){.product-secondary-nav__list{justify-content:center;overflow-x:visible}.product-secondary-nav__link{padding:1.25rem 1.5rem;font-size:.875rem}}","",{version:3,sources:["webpack://./src/components/ProductFullDetail/productSecondaryNav.scss","webpack://./node_modules/bootstrap/scss/mixins/_breakpoints.scss"],names:[],mappings:"AAGA,uBACI,wBAAA,CACA,MAAA,CACA,WAAA,CAEA,6BACI,YAAA,CACA,sBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACA,qBAAA,CACA,eAAA,CACA,6BAAA,CACA,kBAAA,CACA,gCAAA,CACA,oBAAA,CAEA,gDACI,YAAA,CAIR,6BACI,aAAA,CAGJ,6BACI,aAAA,CACA,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,eAAA,CACA,oBAAA,CACA,kBAAA,CACA,oBAAA,CACA,qCAAA,CACA,iDAAA,CAEA,sEAEI,aAAA,CAGJ,qCACI,aAAA,CACA,2BAAA,CCYR,yBDLI,6BACI,sBAAA,CACA,kBAAA,CAGJ,6BACI,sBAAA,CACA,iBAAA,CAAA",sourcesContent:["@use \"sass:map\";\n@import '/src/styles/Themes/Default/component-prerequisites';\n\n.product-secondary-nav {\n display: block !important;\n flex: 1;\n min-width: 0;\n\n &__list {\n display: flex;\n justify-content: center;\n list-style: none;\n margin: 0;\n padding: 0;\n max-width: 100%;\n box-sizing: border-box;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n touch-action: pan-x;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n &__item {\n flex: 0 0 auto;\n }\n\n &__link {\n display: block;\n padding: 1rem 1rem;\n color: map-get($colors, 'white');\n text-transform: uppercase;\n font-weight: 700;\n font-size: 0.8rem;\n letter-spacing: 0.02em;\n white-space: nowrap;\n text-decoration: none;\n border-bottom: 3px solid transparent;\n transition: color 0.15s ease, border-color 0.15s ease;\n\n &:hover,\n &:focus {\n color: map-get($colors, 'blue-l1');\n }\n\n &--active {\n color: map-get($colors, 'blue-l1');\n border-bottom-color: map-get($colors, 'blue-l1');\n }\n }\n}\n\n@include media-breakpoint-up(lg) {\n .product-secondary-nav {\n &__list {\n justify-content: center;\n overflow-x: visible;\n }\n\n &__link {\n padding: 1.25rem 1.5rem;\n font-size: 0.875rem;\n }\n }\n}\n",'// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error "breakpoint `#{$name}` not found in `#{$breakpoints}`";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n/
409/ `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// "-sm"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint\'s minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n'],sourceRoot:""}]),i.locals={},n.a=i},ysXb:function(e,n,t){"use strict" 410var a=t("denP"),r=t.n(a),o=t("JPst"),i=t.n(o)()(r.a) 411i.push([e.i,'.reviews-container .reviews-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #acadae}.reviews-container .reviews-header button{white-space:nowrap}.reviews-container .add-review-form{margin-bottom:2rem}.reviews-container .add-review-form button{margin-top:1rem}.reviews-container .add-review-form__prompt{color:#acadae}.reviews-container .add-review-form__product-name{margin-top:0;margin-bottom:1rem}.reviews-container .add-review-form .validation-error{color:#dc3545;font-weight:600;font-size:14px;padding-top:10px}.review-list{display:flex;flex-direction:column;gap:1.5rem;text-align:center}.review-item{padding-bottom:1.5rem;border-bottom:1px solid #acadae}.review-item:last-child{border-bottom:none}.review-item__summary{font-weight:bold;text-transform:uppercase;margin:.5rem 0;font-size:1rem}.review-item__content-wrapper{background-color:#f5f5f5;padding:1rem 1.5rem;border-radius:4px;position:relative;margin-top:1.5rem}.review-item__content-wrapper::before{content:"";position:absolute;top:-10px;left:50%;translate:-50%;width:0;height:0;border-style:solid;border-width:0 10px 10px 10px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #f5f5f5 rgba(0,0,0,0)}.review-item__meta{font-size:.9rem;color:#88959e;margin:0 0 .75rem 0}.review-item__text{margin:0;line-height:1.5}@media(min-width: 768px){.review-list{text-align:start}.review-item__content-wrapper::before{left:30px}}',"",{version:3,sources:["webpack://./src/components/ProductReviews/productReviews.scss"],names:[],mappings:"AAGI,mCACI,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,mBAAA,CACA,kBAAA,CACA,+BAAA,CACA,0CACI,kBAAA,CAIR,oCACI,kBAAA,CACA,2CACI,eAAA,CAEJ,4CACI,aAAA,CAEJ,kDACI,YAAA,CACA,kBAAA,CAEJ,sDACI,aAAA,CACA,eAAA,CACA,cAAA,CACA,gBAAA,CAKZ,aACI,YAAA,CACA,qBAAA,CACA,UAAA,CACA,iBAAA,CAGJ,aACI,qBAAA,CACA,+BAAA,CAEA,wBACI,kBAAA,CAGJ,sBACI,gBAAA,CACA,wBAAA,CACA,cAAA,CACA,cAAA,CAGJ,8BACI,wBAAA,CACA,mBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CAEA,sCACI,UAAA,CACA,iBAAA,CACA,SAAA,CACA,QAAA,CACA,cAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,6BAAA,CACA,8DAAA,CAKR,mBACI,eAAA,CACA,aAAA,CACA,mBAAA,CAGJ,mBACI,QAAA,CACA,eAAA,CAIR,yBACI,aACI,gBAAA,CAII,sCACI,SAAA,CAAA",sourcesContent:["@use \"sass:map\";\n@import '/src/styles/Themes/Default/component-prerequisites';\n.reviews-container {\n .reviews-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-bottom: 1rem;\n margin-bottom: 1rem;\n border-bottom: 1px solid map-get($colors, 'gray-l1');\n button {\n white-space: nowrap;\n }\n }\n\n .add-review-form {\n margin-bottom: 2rem;\n button {\n margin-top: 1rem;\n }\n &__prompt {\n color: map-get($colors, 'gray-l1');\n }\n &__product-name {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n .validation-error {\n color: map-get($colors, 'danger');\n font-weight: 600;\n font-size: 14px;\n padding-top: 10px;\n }\n }\n}\n\n.review-list {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n text-align: center;\n}\n\n.review-item {\n padding-bottom: 1.5rem;\n border-bottom: 1px solid map-get($colors, 'gray-l1');\n\n &:last-child {\n border-bottom: none;\n }\n\n &__summary {\n font-weight: bold;\n text-transform: uppercase;\n margin: 0.5rem 0;\n font-size: 1rem;\n }\n\n &__content-wrapper {\n background-color: map-get($colors, 'gray-l3');\n padding: 1rem 1.5rem;\n border-radius: 4px;\n position: relative;\n margin-top: 1.5rem;\n\n &::before {\n content: '';\n position: absolute;\n top: -10px;\n left: 50%;\n translate: -50%;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 10px 10px 10px;\n border-color: transparent transparent map-get($colors, 'gray-l3')\n transparent;\n }\n }\n\n &__meta {\n font-size: 0.9rem;\n color: map-get($colors, 'gray');\n margin: 0 0 0.75rem 0;\n }\n\n &__text {\n margin: 0;\n line-height: 1.5;\n }\n}\n\n@media (min-width: 768px) {\n .review-list {\n text-align: start;\n }\n .review-item {\n &__content-wrapper {\n &::before {\n left: 30px;\n }\n }\n }\n}\n"],sourceRoot:""}]),i.locals={},n.a=i}}])
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.