CINXE.COM
Circuitrocks: Arduino and Raspberry Pi Shop – circuitrocks
<!doctype html> <html class="no-js" lang="en"> <head> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TFBGR7D2');</script> <!-- End Google Tag Manager --> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="theme-color" content=""> <link rel="canonical" href="https://circuit.rocks/"><link rel="icon" type="image/png" href="//circuit.rocks/cdn/shop/files/logo-268x50.png?crop=center&height=32&v=1688021689&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> Circuitrocks: Arduino and Raspberry Pi Shop – circuitrocks</title> <meta name="description" content="Shop now with the largest selection of top open-source , DIY, electronics products - all in a single website!"> <meta property="og:site_name" content="circuitrocks"> <meta property="og:url" content="https://circuit.rocks/"> <meta property="og:title" content="Circuitrocks: Arduino and Raspberry Pi Shop"> <meta property="og:type" content="website"> <meta property="og:description" content="Shop now with the largest selection of top open-source , DIY, electronics products - all in a single website!"><meta property="og:image" content="http://circuit.rocks/cdn/shop/files/circuitrocks_electronics_store_v2_150-150x150.png?height=628&pad_color=ffffff&v=1687841964&width=1200"> <meta property="og:image:secure_url" content="https://circuit.rocks/cdn/shop/files/circuitrocks_electronics_store_v2_150-150x150.png?height=628&pad_color=ffffff&v=1687841964&width=1200"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="628"><meta name="twitter:site" content="@circuitrocks"><meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Circuitrocks: Arduino and Raspberry Pi Shop"> <meta name="twitter:description" content="Shop now with the largest selection of top open-source , DIY, electronics products - all in a single website!"> <script src="//circuit.rocks/cdn/shop/t/1/assets/constants.js?v=58251544750838685771687423798" defer="defer"></script> <script src="//circuit.rocks/cdn/shop/t/1/assets/pubsub.js?v=158357773527763999511687423808" defer="defer"></script> <script src="//circuit.rocks/cdn/shop/t/1/assets/global.js?v=139248116715221171191687423801" defer="defer"></script><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="STYkb-F4VZ26HcOGLXPunLmkCb_Rd9tp8aDSkCYQ58g"> <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/77714915617/digital_wallets/dialog"> <meta name="shopify-checkout-api-token" content="8777deb73592c85857597d9b23ecc8f5"> <meta id="in-context-paypal-metadata" data-shop-id="77714915617" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="PHP"> <script async="async" src="/checkouts/internal/preloads.js?locale=en-PH"></script> <script id="shopify-features" type="application/json">{"accessToken":"8777deb73592c85857597d9b23ecc8f5","betas":["rich-media-storefront-analytics"],"domain":"circuit.rocks","predictiveSearch":true,"shopId":77714915617,"smart_payment_buttons_url":"https:\/\/circuit.rocks\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/circuit.rocks\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script> <script>var Shopify = Shopify || {}; Shopify.shop = "58545f.myshopify.com"; Shopify.locale = "en"; Shopify.currency = {"active":"PHP","rate":"1.0"}; Shopify.country = "PH"; Shopify.theme = {"name":"Dawn","id":152494997793,"schema_name":"Dawn","schema_version":"10.0.0","theme_store_id":887,"role":"main"}; Shopify.theme.handle = "null"; Shopify.theme.style = {"id":null,"handle":null}; Shopify.cdnHost = "circuit.rocks/cdn"; Shopify.routes = Shopify.routes || {}; Shopify.routes.root = "/";</script> <script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script> <script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script> <script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script> <script>(function() { function asyncLoad() { var urls = ["https:\/\/wishlist.kaktusapp.com\/storage\/js\/kaktus_wishlist-58545f.myshopify.com.js?ver=250\u0026shop=58545f.myshopify.com"]; for (var i = 0; i < urls.length; i++) { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = urls[i]; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } }; if(window.attachEvent) { window.attachEvent('onload', asyncLoad); } else { window.addEventListener('load', asyncLoad, false); } })();</script> <script id="__st">var __st={"a":77714915617,"offset":28800,"reqid":"4bee9d2c-9fc5-4a4f-92fb-a086d8baa3f5-1742508316","pageurl":"circuit.rocks\/","u":"95772b869b75","p":"home"};</script> <script>window.ShopifyPaypalV4VisibilityTracking = true;</script> <script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!1,!0)}();</script> <script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//circuit.rocks/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script> <script integrity="sha256-HAs5a9TQVLlKuuHrahvWuke+s1UlxXohfHeoYv8G2D8=" data-source-attribution="shopify.dynamic-checkout" defer="defer" src="//circuit.rocks/cdn/shopifycloud/shopify/assets/storefront/features-1c0b396bd4d054b94abae1eb6a1bd6ba47beb35525c57a217c77a862ff06d83f.js" crossorigin="anonymous"></script> <script id="sections-script" data-sections="header" defer="defer" src="//circuit.rocks/cdn/shop/t/1/compiled_assets/scripts.js?939"></script> <link rel="stylesheet" media="screen" href="https://circuit.rocks/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> <style id="shopify-dynamic-checkout-cart">@media screen and (min-width: 750px) { #dynamic-checkout-cart { min-height: 50px; } } @media screen and (max-width: 750px) { #dynamic-checkout-cart { min-height: 60px; } } </style><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script> <style data-shopify> @font-face { font-family: Roboto; font-weight: 400; font-style: normal; font-display: swap; src: url("//circuit.rocks/cdn/fonts/roboto/roboto_n4.da808834c2315f31dd3910e2ae6b1a895d7f73f5.woff2?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=20a36f4ec85f9e043ea632c3eba7d8784aaaa250f47f6250c123050b7ace70fc") format("woff2"), url("//circuit.rocks/cdn/fonts/roboto/roboto_n4.a512c7b68cd7f12c72e1a5fd58e7f7315c552e93.woff?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=a9da210d0e566e06d873f5b392fbdeadec1e78ade1b4458e227648f8d08a1079") format("woff"); } @font-face { font-family: Roboto; font-weight: 700; font-style: normal; font-display: swap; src: url("//circuit.rocks/cdn/fonts/roboto/roboto_n7.51ede27d5b58491d9cf07ad184108da52fef80b4.woff2?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=14b684dfdb6b237701f6e6c7cf947f14ca6595f04cf31aa879517454ff27c02c") format("woff2"), url("//circuit.rocks/cdn/fonts/roboto/roboto_n7.1babbb6a27f91b14216bafa40bf222e08f6999f4.woff?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=63fc576e924f95c374d8de9dce255df8da7d0499c0f9fea22046e742adb900b8") format("woff"); } @font-face { font-family: Roboto; font-weight: 400; font-style: italic; font-display: swap; src: url("//circuit.rocks/cdn/fonts/roboto/roboto_i4.f98951b4b9b6e1096fc799cd05debd098bd422ac.woff2?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=9d7b35141c7d579450e50e5ef9ceb798ec0bec6172a4573cbabcd81649cf12b2") format("woff2"), url("//circuit.rocks/cdn/fonts/roboto/roboto_i4.688a26691d45bc4053b6ae24a196cabdeedbc25c.woff?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=e6bf0c7d534f9e1c7819975722a542ba95803f94bdecff22fd478ad30f65efd3") format("woff"); } @font-face { font-family: Roboto; font-weight: 700; font-style: italic; font-display: swap; src: url("//circuit.rocks/cdn/fonts/roboto/roboto_i7.9c922c35bb84952cfb17e8c1d42e440e75aa8ccf.woff2?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=2a47e2013da0dac70332e7b7d595e31c40125d9756e1b5980f65d44efafedfc6") format("woff2"), url("//circuit.rocks/cdn/fonts/roboto/roboto_i7.c50b5683f5731edb8040ff2110a54947108434de.woff?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=04f4983c4047d15cd6a13d1732e6533ed900615f406c5a436397460ded05cd16") format("woff"); } @font-face { font-family: Roboto; font-weight: 400; font-style: normal; font-display: swap; src: url("//circuit.rocks/cdn/fonts/roboto/roboto_n4.da808834c2315f31dd3910e2ae6b1a895d7f73f5.woff2?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=20a36f4ec85f9e043ea632c3eba7d8784aaaa250f47f6250c123050b7ace70fc") format("woff2"), url("//circuit.rocks/cdn/fonts/roboto/roboto_n4.a512c7b68cd7f12c72e1a5fd58e7f7315c552e93.woff?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=a9da210d0e566e06d873f5b392fbdeadec1e78ade1b4458e227648f8d08a1079") format("woff"); } :root, .color-background-1 { --color-background: 255,255,255; --gradient-background: #ffffff; --color-foreground: 0,0,0; --color-shadow: 18,18,18; --color-button: 18,18,18; --color-button-text: 255,255,255; --color-secondary-button: 255,255,255; --color-secondary-button-text: 18,18,18; --color-link: 18,18,18; --color-badge-foreground: 0,0,0; --color-badge-background: 255,255,255; --color-badge-border: 0,0,0; --payment-terms-background-color: rgb(255 255 255); } .color-background-2 { --color-background: 243,243,243; --gradient-background: #f3f3f3; --color-foreground: 18,18,18; --color-shadow: 18,18,18; --color-button: 18,18,18; --color-button-text: 243,243,243; --color-secondary-button: 243,243,243; --color-secondary-button-text: 18,18,18; --color-link: 18,18,18; --color-badge-foreground: 18,18,18; --color-badge-background: 243,243,243; --color-badge-border: 18,18,18; --payment-terms-background-color: rgb(243 243 243); } .color-inverse { --color-background: 0,0,0; --gradient-background: #000000; --color-foreground: 255,255,255; --color-shadow: 18,18,18; --color-button: 255,255,255; --color-button-text: 0,0,0; --color-secondary-button: 0,0,0; --color-secondary-button-text: 255,255,255; --color-link: 255,255,255; --color-badge-foreground: 255,255,255; --color-badge-background: 0,0,0; --color-badge-border: 255,255,255; --payment-terms-background-color: rgb(0 0 0); } .color-accent-1 { --color-background: 18,18,18; --gradient-background: #121212; --color-foreground: 255,255,255; --color-shadow: 18,18,18; --color-button: 255,255,255; --color-button-text: 18,18,18; --color-secondary-button: 18,18,18; --color-secondary-button-text: 255,255,255; --color-link: 255,255,255; --color-badge-foreground: 255,255,255; --color-badge-background: 18,18,18; --color-badge-border: 255,255,255; --payment-terms-background-color: rgb(18 18 18); } .color-accent-2 { --color-background: 51,79,180; --gradient-background: #334fb4; --color-foreground: 255,255,255; --color-shadow: 18,18,18; --color-button: 255,255,255; --color-button-text: 51,79,180; --color-secondary-button: 51,79,180; --color-secondary-button-text: 255,255,255; --color-link: 255,255,255; --color-badge-foreground: 255,255,255; --color-badge-background: 51,79,180; --color-badge-border: 255,255,255; --payment-terms-background-color: rgb(51 79 180); } body, .color-background-1, .color-background-2, .color-inverse, .color-accent-1, .color-accent-2 { color: rgba(var(--color-foreground), 0.75); background-color: rgb(var(--color-background)); } :root { --font-body-family: Roboto, sans-serif; --font-body-style: normal; --font-body-weight: 400; --font-body-weight-bold: 700; --font-heading-family: Roboto, sans-serif; --font-heading-style: normal; --font-heading-weight: 400; --font-body-scale: 1.0; --font-heading-scale: 1.0; --media-padding: px; --media-border-opacity: 0.05; --media-border-width: 1px; --media-radius: 0px; --media-shadow-opacity: 0.0; --media-shadow-horizontal-offset: 0px; --media-shadow-vertical-offset: 4px; --media-shadow-blur-radius: 5px; --media-shadow-visible: 0; --page-width: 140rem; --page-width-margin: 0rem; --product-card-image-padding: 0.0rem; --product-card-corner-radius: 0.0rem; --product-card-text-alignment: left; --product-card-border-width: 0.0rem; --product-card-border-opacity: 0.1; --product-card-shadow-opacity: 0.0; --product-card-shadow-visible: 0; --product-card-shadow-horizontal-offset: 0.0rem; --product-card-shadow-vertical-offset: 0.4rem; --product-card-shadow-blur-radius: 0.5rem; --collection-card-image-padding: 0.0rem; --collection-card-corner-radius: 0.0rem; --collection-card-text-alignment: center; --collection-card-border-width: 0.0rem; --collection-card-border-opacity: 0.1; --collection-card-shadow-opacity: 0.0; --collection-card-shadow-visible: 0; --collection-card-shadow-horizontal-offset: 0.0rem; --collection-card-shadow-vertical-offset: 0.4rem; --collection-card-shadow-blur-radius: 0.5rem; --blog-card-image-padding: 0.0rem; --blog-card-corner-radius: 0.0rem; --blog-card-text-alignment: left; --blog-card-border-width: 0.0rem; --blog-card-border-opacity: 0.1; --blog-card-shadow-opacity: 0.0; --blog-card-shadow-visible: 0; --blog-card-shadow-horizontal-offset: 0.0rem; --blog-card-shadow-vertical-offset: 0.4rem; --blog-card-shadow-blur-radius: 0.5rem; --badge-corner-radius: 4.0rem; --popup-border-width: 1px; --popup-border-opacity: 0.1; --popup-corner-radius: 0px; --popup-shadow-opacity: 0.0; --popup-shadow-horizontal-offset: 0px; --popup-shadow-vertical-offset: 4px; --popup-shadow-blur-radius: 5px; --drawer-border-width: 1px; --drawer-border-opacity: 0.1; --drawer-shadow-opacity: 0.0; --drawer-shadow-horizontal-offset: 0px; --drawer-shadow-vertical-offset: 4px; --drawer-shadow-blur-radius: 5px; --spacing-sections-desktop: 0px; --spacing-sections-mobile: 0px; --grid-desktop-vertical-spacing: 20px; --grid-desktop-horizontal-spacing: 20px; --grid-mobile-vertical-spacing: 10px; --grid-mobile-horizontal-spacing: 10px; --text-boxes-border-opacity: 0.1; --text-boxes-border-width: 0px; --text-boxes-radius: 0px; --text-boxes-shadow-opacity: 0.0; --text-boxes-shadow-visible: 0; --text-boxes-shadow-horizontal-offset: 0px; --text-boxes-shadow-vertical-offset: 4px; --text-boxes-shadow-blur-radius: 5px; --buttons-radius: 0px; --buttons-radius-outset: 0px; --buttons-border-width: 1px; --buttons-border-opacity: 1.0; --buttons-shadow-opacity: 0.0; --buttons-shadow-visible: 0; --buttons-shadow-horizontal-offset: 0px; --buttons-shadow-vertical-offset: 4px; --buttons-shadow-blur-radius: 5px; --buttons-border-offset: 0px; --inputs-radius: 0px; --inputs-border-width: 1px; --inputs-border-opacity: 0.55; --inputs-shadow-opacity: 0.0; --inputs-shadow-horizontal-offset: 0px; --inputs-margin-offset: 0px; --inputs-shadow-vertical-offset: 4px; --inputs-shadow-blur-radius: 5px; --inputs-radius-outset: 0px; --variant-pills-radius: 40px; --variant-pills-border-width: 1px; --variant-pills-border-opacity: 0.55; --variant-pills-shadow-opacity: 0.0; --variant-pills-shadow-horizontal-offset: 0px; --variant-pills-shadow-vertical-offset: 4px; --variant-pills-shadow-blur-radius: 5px; } *, *::before, *::after { box-sizing: inherit; } html { box-sizing: border-box; font-size: calc(var(--font-body-scale) * 62.5%); height: 100%; } body { display: grid; grid-template-rows: auto auto 1fr auto; grid-template-columns: 100%; min-height: 100%; margin: 0; font-size: 1.5rem; letter-spacing: 0.06rem; line-height: calc(1 + 0.8 / var(--font-body-scale)); font-family: var(--font-body-family); font-style: var(--font-body-style); font-weight: var(--font-body-weight); } @media screen and (min-width: 750px) { body { font-size: 1.6rem; } } </style> <link href="//circuit.rocks/cdn/shop/t/1/assets/base.css?v=140720434310310749331726731244" rel="stylesheet" type="text/css" media="all" /> <link rel="preload" as="font" href="//circuit.rocks/cdn/fonts/roboto/roboto_n4.da808834c2315f31dd3910e2ae6b1a895d7f73f5.woff2?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=20a36f4ec85f9e043ea632c3eba7d8784aaaa250f47f6250c123050b7ace70fc" type="font/woff2" crossorigin><link rel="preload" as="font" href="//circuit.rocks/cdn/fonts/roboto/roboto_n4.da808834c2315f31dd3910e2ae6b1a895d7f73f5.woff2?h1=NTg1NDVmLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=Y2lyY3VpdHJvY2tzLm15c2hvcGlmeS5jb20&h3=Y2lyY3VpdC5yb2Nrcw&hmac=20a36f4ec85f9e043ea632c3eba7d8784aaaa250f47f6250c123050b7ace70fc" type="font/woff2" crossorigin><link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/component-predictive-search.css?v=118923337488134913561687423794" media="print" onload="this.media='all'" ><script> document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); if (Shopify.designMode) { document.documentElement.classList.add('shopify-design-mode'); } </script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function(){ $('.readmore').on('click',function () { var descriptionFull = document.querySelector('.product-description-full'); descriptionFull.style.display = 'block'; var descriptionShort = document.querySelector('.product-description-short'); descriptionShort.style.display = 'none'; }); $('.readless').click(function (event) { event.preventDefault(); var descriptionFull = document.querySelector('.product-description-full'); descriptionFull.style.display = 'none'; var descriptionShort = document.querySelector('.product-description-short'); descriptionShort.style.display = 'block';window.scrollTo({top: 110, behavior: 'smooth'}); }); }); </script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-65169960-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-65169960-1'); </script> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-10942486122"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-10942486122'); </script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=GT-NFRRDNDV"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'GT-NFRRDNDV'); </script> <link href="https://cdn.shopify.com/extensions/c4b259d8-4d6a-4338-aa05-b703f5aca67b/bitlogin-social-login-115/assets/app.css" rel="stylesheet" type="text/css" media="all"> <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> <script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 77714915617,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script> <script id="web-pixels-manager-setup">(function e(e,d,r,n,o,i){if(void 0===i&&(i={}),!Boolean(null===(t=null===(a=window.Shopify)||void 0===a?void 0:a.analytics)||void 0===t?void 0:t.replayQueue)){var a,t;window.Shopify=window.Shopify||{};var s=window.Shopify;s.analytics=s.analytics||{};var l=s.analytics;l.replayQueue=[],l.publish=function(e,d,r){return l.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var u=function(){var e={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/},d=e.modern,r=e.legacy,n=navigator.userAgent;return n.match(d)?"modern":n.match(r)?"legacy":"unknown"}(),c="modern"===u?"modern":"legacy",f=(null!=o?o:{modern:"",legacy:""})[c],m=function(e){return[e.baseUrl,"/wpm","/b",e.hashVersion,"modern"===e.buildTarget?"m":"l",".js"].join("")}({baseUrl:r,hashVersion:n,buildTarget:c}),p=function(e){var d=e.version,r=e.bundleTarget,n=e.surface,o=e.pageUrl,i=e.monorailEndpoint;return{emit:function(e){var a=e.status,t=e.errorMsg,s=(new Date).getTime(),l=JSON.stringify({metadata:{event_sent_at_ms:s},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:d,bundle_target:r,page_url:o,status:a,surface:n,error_msg:t},metadata:{event_created_at_ms:s}}]});if(!i)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(i,l)}catch(e){}var u=new XMLHttpRequest;try{return u.open("POST",i,!0),u.setRequestHeader("Content-Type","text/plain"),u.send(l),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:n,bundleTarget:u,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint});try{i.browserTarget=u,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,i=e.onerror,a=e.sri,t=e.scriptDataAttributes,s=void 0===t?{}:t,l=document.createElement("script"),u=document.querySelector("head"),c=document.querySelector("body");if(l.async=n,l.src=d,a&&(l.integrity=a,l.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{l.dataset[f]=s[f]}catch(e){}if(o&&l.addEventListener("load",o),i&&l.addEventListener("error",i),u)u.appendChild(l);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(l)}}({src:m,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null===(d=null===(e=window.Shopify)||void 0===e?void 0:e.analytics)||void 0===d?void 0:d.initialized)}()){var r=window.webPixelsManager.init(e)||void 0;if(r){d(r);var n=window.Shopify.analytics;n.replayQueue.forEach((function(e){var d=e[0],n=e[1],o=e[2];r.publishCustomEvent(d,n,o)})),n.replayQueue=[],n.publish=r.publishCustomEvent,n.visitor=r.visitor,n.initialized=!0}}},onerror:function(){return p.emit({status:"failed",errorMsg:"".concat(m," has failed to load")})},sri:function(e){var d=/^sha384-[A-Za-z0-9+/=]+$/;return"string"==typeof e&&d.test(e)}(f)?f:"",scriptDataAttributes:i}),p.emit({status:"loading"})}catch(e){p.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}})({shopId: 77714915617,storefrontBaseUrl: "https://circuit.rocks",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["6a396365"],webPixelsConfigList: [{"id":"887980321","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"GT-NFRRDNDV\\\",\\\"target_country\\\":\\\"PH\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-5T9K7XLTJP\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-5T9K7XLTJP\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-5T9K7XLTJP\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"322b4d09e15b68127cd86b1bb8929c25","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"368443681","configuration":"{\"pixel_id\":\"1784089148669353\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"8d894c63179843e74a9691414b5ad83d","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0411","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0411","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,effectiveTopLevelDomain: "",initData: {"shop":{"name":"circuitrocks","paymentSettings":{"currencyCode":"PHP"},"myshopifyDomain":"58545f.myshopify.com","countryCode":"PH","storefrontUrl":"https://circuit.rocks"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});},"https://circuit.rocks/cdn","43216b12w8b756714pa1ef4114mdff5bc02",{"modern":"","legacy":""},{"shopId":"77714915617","storefrontBaseUrl":"https://circuit.rocks","extensionBaseUrl":"https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"6a396365\"]","isMerchantRequest":"false","hashVersion":"43216b12w8b756714pa1ef4114mdff5bc02"});</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {}; window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; window.ShopifyAnalytics.meta.currency = 'PHP'; var meta = {"page":{"pageType":"home"}}; for (var attr in meta) { window.ShopifyAnalytics.meta[attr] = meta[attr]; }</script> <script>window.ShopifyAnalytics.merchantGoogleAnalytics = function() { }; </script> <script class="analytics">(function () { var customDocumentWrite = function(content) { var jquery = null; if (window.jQuery) { jquery = window.jQuery; } else if (window.Checkout && window.Checkout.$) { jquery = window.Checkout.$; } if (jquery) { jquery('body').append(content); } }; var hasLoggedConversion = function(token) { if (token) { return document.cookie.indexOf('loggedConversion=' + token) !== -1; } return false; } var setCookieIfConversion = function(token) { if (token) { var twoMonthsFromNow = new Date(Date.now()); twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; } } var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; if (trekkie.integrations) { return; } trekkie.methods = [ 'identify', 'page', 'ready', 'track', 'trackForm', 'trackLink' ]; trekkie.factory = function(method) { return function() { var args = Array.prototype.slice.call(arguments); args.unshift(method); trekkie.push(args); return trekkie; }; }; for (var i = 0; i < trekkie.methods.length; i++) { var key = trekkie.methods[i]; trekkie[key] = trekkie.factory(key); } trekkie.load = function(config) { trekkie.config = config || {}; trekkie.config.initialDocumentCookie = document.cookie; var first = document.getElementsByTagName('script')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.onerror = function(e) { var scriptFallback = document.createElement('script'); scriptFallback.type = 'text/javascript'; scriptFallback.onerror = function(error) { var Monorail = { produce: function produce(monorailDomain, schemaId, payload) { var currentMs = new Date().getTime(); var event = { schema_id: schemaId, payload: payload, metadata: { event_created_at_ms: currentMs, event_sent_at_ms: currentMs } }; return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); }, sendRequest: function sendRequest(endpointUrl, payload) { // Try the sendBeacon API if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { var blobData = new window.Blob([payload], { type: 'text/plain' }); if (window.navigator.sendBeacon(endpointUrl, blobData)) { return true; } // sendBeacon was not successful } // XHR beacon var xhr = new XMLHttpRequest(); try { xhr.open('POST', endpointUrl); xhr.setRequestHeader('Content-Type', 'text/plain'); xhr.send(payload); } catch (e) { console.log(e); } return false; }, isIos12: function isIos12() { return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; } }; Monorail.produce('monorail-edge.shopifysvc.com', 'trekkie_storefront_load_errors/1.1', {shop_id: 77714915617, theme_id: 152494997793, app_name: "storefront", context_url: window.location.href, source_url: "//circuit.rocks/cdn/s/trekkie.storefront.6790784e88524d17bc2df67c3d0c5047adb2d676.min.js"}); }; scriptFallback.async = true; scriptFallback.src = '//circuit.rocks/cdn/s/trekkie.storefront.6790784e88524d17bc2df67c3d0c5047adb2d676.min.js'; first.parentNode.insertBefore(scriptFallback, first); }; script.async = true; script.src = '//circuit.rocks/cdn/s/trekkie.storefront.6790784e88524d17bc2df67c3d0c5047adb2d676.min.js'; first.parentNode.insertBefore(script, first); }; trekkie.load( {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":77714915617,"isMerchantRequest":null,"themeId":152494997793,"themeCityHash":"2811735776951324270","contentLanguage":"en","currency":"PHP"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} ); var loaded = false; trekkie.ready(function() { if (loaded) return; loaded = true; window.ShopifyAnalytics.lib = window.trekkie; var originalDocumentWrite = document.write; document.write = customDocumentWrite; try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; document.write = originalDocumentWrite; window.ShopifyAnalytics.lib.page(null,{"pageType":"home","shopifyEmitted":true}); var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) var token = match? match[1]: undefined; if (!hasLoggedConversion(token)) { setCookieIfConversion(token); } }); var eventsListenerScript = document.createElement('script'); eventsListenerScript.async = true; eventsListenerScript.src = "//circuit.rocks/cdn/shopifycloud/shopify/assets/shop_events_listener-bbbf3223c550be0dd72914a2fa06aaa88eb8943e96f9ea31fb63e7e27e0f97f4.js"; document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); })();</script> <script defer src="https://circuit.rocks/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.4.1.min.js" data-application="storefront-renderer" data-shop-id="77714915617" data-render-region="gcp-asia-southeast1" data-page-type="index" data-theme-instance-id="152494997793" data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" ></script> </head> <body class="gradient"> <a class="skip-to-content-link button visually-hidden" href="#MainContent"> Skip to content </a> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TFBGR7D2" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --><!-- BEGIN sections: header-group --> <div id="shopify-section-sections--19532350685473__announcement-bar" class="shopify-section shopify-section-group-header-group announcement-bar-section"><link href="//circuit.rocks/cdn/shop/t/1/assets/component-slideshow.css?v=83743227411799112781687423797" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-slider.css?v=142503135496229589681687423797" rel="stylesheet" type="text/css" media="all" /> <div class="utility-bar color-inverse gradient utility-bar--bottom-border" ><div class="announcement-bar" role="region" aria-label="Announcement" > <div class="top-bar-outer"> <div class="left-bar-outer"> <a href="https://circuit.rocks/">Shop</a> <a href="https://learn.circuit.rocks/">Learn</a> <a href="https://blog.circuit.rocks/" target="_blank"> Blog</a> </div> <div class="right-bar-outer"><a href="/account/login">Login</a> <a href="/account/register">Register</a></div><a href="https://learn.circuit.rocks/" class="announcement-bar__link link link--text focus-inset animate-arrow"><div class="page-width"> <p class="announcement-bar__message h5"> <span>Learn</span><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </p> </div></a></div> </div></div> </div><div id="shopify-section-sections--19532350685473__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/component-list-menu.css?v=151968516119678728991687423788" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/component-search.css?v=130382253973794904871687423796" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/component-menu-drawer.css?v=160161990486659892291687423791" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/component-cart-notification.css?v=54116361853792938221687423785" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/component-cart-items.css?v=4628327769354762111687423784" media="print" onload="this.media='all'"> <!--bootstrap css link--> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/bootstrap.min.css?v=47732424285395741111688011926" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/bootstrap.bundle.min.js?v=177934771157896133181688011997" media="print" onload="this.media='all'"> <!--fontawesome link--> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/fontawesome.all.css?v=79736007356573051871687862801" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/fontawesome.sharp-solid.css?v=110091018852591883641687862767" media="print" onload="this.media='all'"><link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/component-price.css?v=65402837579211014041687423794" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//circuit.rocks/cdn/shop/t/1/assets/component-loading-overlay.css?v=43236910203777044501687423790" media="print" onload="this.media='all'"><noscript><link href="//circuit.rocks/cdn/shop/t/1/assets/component-list-menu.css?v=151968516119678728991687423788" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//circuit.rocks/cdn/shop/t/1/assets/component-search.css?v=130382253973794904871687423796" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//circuit.rocks/cdn/shop/t/1/assets/component-menu-drawer.css?v=160161990486659892291687423791" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//circuit.rocks/cdn/shop/t/1/assets/component-cart-notification.css?v=54116361853792938221687423785" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//circuit.rocks/cdn/shop/t/1/assets/component-cart-items.css?v=4628327769354762111687423784" rel="stylesheet" type="text/css" media="all" /></noscript> <style> header-drawer { justify-self: start; margin-left: -1.2rem; }@media screen and (min-width: 990px) { header-drawer { display: none; } }.menu-drawer-container { display: flex; } .list-menu { list-style: none; padding: 0; margin: 0; } .list-menu--inline { display: inline-flex; flex-wrap: wrap; } summary.list-menu__item { padding-right: 2.7rem; } .list-menu__item { display: flex; align-items: center; line-height: calc(1 + 0.3 / var(--font-body-scale)); } .list-menu__item--link { text-decoration: none; padding-bottom: 1rem; padding-top: 1rem; line-height: calc(1 + 0.8 / var(--font-body-scale)); } @media screen and (min-width: 750px) { .list-menu__item--link { padding-bottom: 0.5rem; padding-top: 0.5rem; } } div#postContent a { font-size: 19px; list-style: none; text-decoration: none; } div#postContent div a { font-size: 15px; color: #000; } h2.recentposst { opacity: 0.9; margin-top: 24px; font-size: 24px; color: #000000b8 !important; letter-spacing: 1px; margin-bottom: 20px; font-weight: 100; } div#postContent .col-md-2 { width: 19% !important; padding: 1px; background: #f1f1f1; } div#postContent { gap: 15px; } div#postContent .col-md-2 img { width: 100% !important; height: 225px; object-fit: cover; } div#postContent h4 { padding: 10px; font-weight: 600; } @media(max-width:767px) { div#postContent .col-md-2 { width: 48% !important; } div#postContent { gap: 10px; } h2.recentposst { font-size: 20px; } } </style><style data-shopify>.header { padding-top: 0px; padding-bottom: 0px; } .section-header { position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */ margin-bottom: 0px; } @media screen and (min-width: 750px) { .section-header { margin-bottom: 0px; } } @media screen and (min-width: 990px) { .header { padding-top: 0px; padding-bottom: 0px; } }</style><script src="//circuit.rocks/cdn/shop/t/1/assets/details-disclosure.js?v=13653116266235556501687423800" defer="defer"></script> <script src="//circuit.rocks/cdn/shop/t/1/assets/details-modal.js?v=25581673532751508451687423800" defer="defer"></script> <script src="//circuit.rocks/cdn/shop/t/1/assets/cart-notification.js?v=133508293167896966491687423781" defer="defer"></script> <script src="//circuit.rocks/cdn/shop/t/1/assets/search-form.js?v=133129549252120666541687423810" defer="defer"></script><svg xmlns="http://www.w3.org/2000/svg" class="hidden"> <symbol id="icon-search" viewbox="0 0 18 19" fill="none"> <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/> </symbol> <symbol id="icon-reset" class="icon icon-close" fill="none" viewBox="0 0 18 18" stroke="currentColor"> <circle r="8.5" cy="9" cx="9" stroke-opacity="0.2"/> <path d="M6.82972 6.82915L1.17193 1.17097" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/> <path d="M1.22896 6.88502L6.77288 1.11523" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/> </symbol> <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17"> <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> </symbol> </svg><sticky-header data-sticky-type="on-scroll-up" class="header-wrapper color-background-1 gradient"><header class="header header--top-left header--mobile-center page-width header--has-menu header--has-social header--has-account"> <header-drawer data-breakpoint="tablet"> <details id="Details-menu-drawer-container" class="menu-drawer-container"> <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu" > <span> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="icon icon-hamburger" fill="none" viewBox="0 0 18 16" > <path d="M1 .5a.5.5 0 100 1h15.71a.5.5 0 000-1H1zM.5 8a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1A.5.5 0 01.5 8zm0 7a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1a.5.5 0 01-.5-.5z" fill="currentColor"> </svg> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="icon icon-close" fill="none" viewBox="0 0 18 17" > <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> </svg> </span> </summary> <div id="menu-drawer" class="gradient menu-drawer motion-reduce"> <div class="menu-drawer__inner-container"> <div class="menu-drawer__navigation-container"> <nav class="menu-drawer__navigation"> <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li><a id="HeaderDrawer-new" href="/collections/new" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > New! </a></li><li><a id="HeaderDrawer-microcontroller" href="/collections/microcontroller" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Microcontroller </a></li><li><a id="HeaderDrawer-single-board-computer" href="/collections/raspberry-pi-philippines" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Single-Board Computer </a></li><li><a id="HeaderDrawer-sensors" href="/collections/sensors" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Sensors </a></li><li><a id="HeaderDrawer-robotics-cnc" href="/collections/actuator-robotics-cnc" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Robotics & CNC </a></li><li><a id="HeaderDrawer-communications" href="/collections/communications" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Communications </a></li><li><a id="HeaderDrawer-power-supply" href="/collections/power-supply" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Power Supply </a></li><li><a id="HeaderDrawer-proto" href="/collections/prototyping" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Proto </a></li><li><a id="HeaderDrawer-tools" href="/collections/tools" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Tools </a></li><li><a id="HeaderDrawer-displays" href="/collections/displays" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" > Displays </a></li></ul> </nav> <div class="menu-drawer__utility-links"><a href="/account/login" class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide" > <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="icon icon-account" fill="none" viewBox="0 0 18 19" > <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35z" fill="currentColor"> </svg> Log in</a><ul class="list list-social list-unstyled" role="list"><li class="list-social__item"> <a href="https://twitter.com/circuitrocks" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-twitter" viewBox="0 0 18 15"> <path fill="currentColor" d="M17.64 2.6a7.33 7.33 0 01-1.75 1.82c0 .05 0 .13.02.23l.02.23a9.97 9.97 0 01-1.69 5.54c-.57.85-1.24 1.62-2.02 2.28a9.09 9.09 0 01-2.82 1.6 10.23 10.23 0 01-8.9-.98c.34.02.61.04.83.04 1.64 0 3.1-.5 4.38-1.5a3.6 3.6 0 01-3.3-2.45A2.91 2.91 0 004 9.35a3.47 3.47 0 01-2.02-1.21 3.37 3.37 0 01-.8-2.22v-.03c.46.24.98.37 1.58.4a3.45 3.45 0 01-1.54-2.9c0-.61.14-1.2.45-1.79a9.68 9.68 0 003.2 2.6 10 10 0 004.08 1.07 3 3 0 01-.13-.8c0-.97.34-1.8 1.03-2.48A3.45 3.45 0 0112.4.96a3.49 3.49 0 012.54 1.1c.8-.15 1.54-.44 2.23-.85a3.4 3.4 0 01-1.54 1.94c.74-.1 1.4-.28 2.01-.54z"> </svg> <span class="visually-hidden">Twitter</span> </a> </li><li class="list-social__item"> <a href="https://www.facebook.com/circuitrocksph" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-facebook" viewBox="0 0 18 18"> <path fill="currentColor" d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z"> </svg> <span class="visually-hidden">Facebook</span> </a> </li><li class="list-social__item"> <a href="https://www.instagram.com/circuitrocks/" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 18 18"> <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/> <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z"> </svg> <span class="visually-hidden">Instagram</span> </a> </li><li class="list-social__item"> <a href="https://www.tiktok.com/@circuitrocks" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-tiktok" width="16" height="18" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M8.02 0H11s-.17 3.82 4.13 4.1v2.95s-2.3.14-4.13-1.26l.03 6.1a5.52 5.52 0 11-5.51-5.52h.77V9.4a2.5 2.5 0 101.76 2.4L8.02 0z" fill="currentColor"> </svg> <span class="visually-hidden">TikTok</span> </a> </li><li class="list-social__item"> <a href="https://www.youtube.com/channel/UCdO40pAsG2I2ROAuBT-2GPQ" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-youtube" viewBox="0 0 100 70"> <path d="M98 11c2 7.7 2 24 2 24s0 16.3-2 24a12.5 12.5 0 01-9 9c-7.7 2-39 2-39 2s-31.3 0-39-2a12.5 12.5 0 01-9-9c-2-7.7-2-24-2-24s0-16.3 2-24c1.2-4.4 4.6-7.8 9-9 7.7-2 39-2 39-2s31.3 0 39 2c4.4 1.2 7.8 4.6 9 9zM40 50l26-15-26-15v30z" fill="currentColor"> </svg> <span class="visually-hidden">YouTube</span> </a> </li></ul> </div> </div> </div> </div> </details> </header-drawer> <h1 class="header__heading"><a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper"> <img src="//circuit.rocks/cdn/shop/files/circuitrocks_electronics_store_v2_150-150x150.png?v=1687841964&width=600" alt="circuitrocks" srcset="//circuit.rocks/cdn/shop/files/circuitrocks_electronics_store_v2_150-150x150.png?v=1687841964&width=90 90w, //circuit.rocks/cdn/shop/files/circuitrocks_electronics_store_v2_150-150x150.png?v=1687841964&width=135 135w, //circuit.rocks/cdn/shop/files/circuitrocks_electronics_store_v2_150-150x150.png?v=1687841964&width=180 180w" width="90" height="90.0" loading="eager" class="header__heading-logo motion-reduce" sizes="(max-width: 180px) 50vw, 90px"> </div></a></h1> <nav class="header__inline-menu"> <ul class="list-menu list-menu--inline" role="list"><li><a id="HeaderMenu-new" href="/collections/new" class="header__menu-item list-menu__item link link--text focus-inset" > <span >New!</span> </a></li><li><a id="HeaderMenu-microcontroller" href="/collections/microcontroller" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Microcontroller</span> </a></li><li><a id="HeaderMenu-single-board-computer" href="/collections/raspberry-pi-philippines" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Single-Board Computer</span> </a></li><li><a id="HeaderMenu-sensors" href="/collections/sensors" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Sensors</span> </a></li><li><a id="HeaderMenu-robotics-cnc" href="/collections/actuator-robotics-cnc" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Robotics & CNC</span> </a></li><li><a id="HeaderMenu-communications" href="/collections/communications" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Communications</span> </a></li><li><a id="HeaderMenu-power-supply" href="/collections/power-supply" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Power Supply</span> </a></li><li><a id="HeaderMenu-proto" href="/collections/prototyping" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Proto</span> </a></li><li><a id="HeaderMenu-tools" href="/collections/tools" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Tools</span> </a></li><li><a id="HeaderMenu-displays" href="/collections/displays" class="header__menu-item list-menu__item link link--text focus-inset" > <span >Displays</span> </a></li></ul> </nav> <div class="header__icons"> <div class="form-outer"> <form action="/search" method="get" role="search" class="search search-modal__form"> <div class="field"> <input class="search__input field__input" id="" type="search" name="q" value="" placeholder="Search"role="combobox" aria-expanded="false" aria-owns="predictive-search-results" aria-controls="predictive-search-results" aria-haspopup="listbox" aria-autocomplete="list" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false"> <label class="field__label" for="Search-In-Template">Search</label> <input type="hidden" name="options[prefix]" value="last"> <button type="reset" class="reset__button field__button hidden" aria-label="Clear search term"> <svg class="icon icon-close" aria-hidden="true" focusable="false"> <use xlink:href="#icon-reset"> </svg> </button> <button class="search__button field__button" aria-label="Search"> <svg class="icon icon-search" aria-hidden="true" focusable="false"> <use href="#icon-search"> </svg> </button> </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search> <div class="predictive-search__loading-state"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </div> <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form> </div> <div class="desktop-localization-wrapper"> </div><a href="/account/login" class="header__icon header__icon--account link focus-inset small-hide"> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="icon icon-account" fill="none" viewBox="0 0 18 19" > <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35z" fill="currentColor"> </svg> <span class="visually-hidden">Log in</span> </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"> <img class="icon icon-cart-empty" src="https://cdn.shopify.com/s/files/1/0777/1491/5617/files/Cartx25.png?v=1687868912"><span class="visually-hidden">Cart</span></a> </div> </header> </sticky-header> <cart-notification> <div class="cart-notification-wrapper page-width"> <div id="cart-notification" class="cart-notification focus-inset color-background-1 gradient" aria-modal="true" aria-label="Item added to your cart" role="dialog" tabindex="-1" > <div class="cart-notification__header"> <h2 class="cart-notification__heading caption-large text-body"><svg class="icon icon-checkmark" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 9" fill="none" > <path fill-rule="evenodd" clip-rule="evenodd" d="M11.35.643a.5.5 0 01.006.707l-6.77 6.886a.5.5 0 01-.719-.006L.638 4.845a.5.5 0 11.724-.69l2.872 3.011 6.41-6.517a.5.5 0 01.707-.006h-.001z" fill="currentColor"/> </svg> Item added to your cart </h2> <button type="button" class="cart-notification__close modal__close-button link link--text focus-inset" aria-label="Close" > <svg class="icon icon-close" aria-hidden="true" focusable="false"> <use href="#icon-close"> </svg> </button> </div> <div id="cart-notification-product" class="cart-notification-product"></div> <div class="cart-notification__links"> <a href="/cart" id="cart-notification-button" class="button button--secondary button--full-width" >View cart</a> <form action="/cart" method="post" id="cart-notification-form"> <button class="button button--primary button--full-width" name="checkout"> Check out </button> </form> <button type="button" class="link button-label">Continue shopping</button> </div> </div> </div> </cart-notification> <style data-shopify> .cart-notification { display: none; } </style> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "circuitrocks", "logo": "https:\/\/circuit.rocks\/cdn\/shop\/files\/circuitrocks_electronics_store_v2_150-150x150.png?v=1687841964\u0026width=500", "sameAs": [ "https:\/\/twitter.com\/circuitrocks", "https:\/\/www.facebook.com\/circuitrocksph", "", "https:\/\/www.instagram.com\/circuitrocks\/", "https:\/\/www.tiktok.com\/@circuitrocks", "", "", "https:\/\/www.youtube.com\/channel\/UCdO40pAsG2I2ROAuBT-2GPQ", "" ], "url": "https:\/\/circuit.rocks" } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "name": "circuitrocks", "potentialAction": { "@type": "SearchAction", "target": "https:\/\/circuit.rocks\/search?q={search_term_string}", "query-input": "required name=search_term_string" }, "url": "https:\/\/circuit.rocks" } </script> </div> <!-- END sections: header-group --> <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> <section id="shopify-section-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" class="shopify-section section"><link href="//circuit.rocks/cdn/shop/t/1/assets/section-image-banner.css?v=81971971763012089891687423814" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-slider.css?v=142503135496229589681687423797" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-slideshow.css?v=83743227411799112781687423797" rel="stylesheet" type="text/css" media="all" /> <style data-shopify>@media screen and (max-width: 749px) { #Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79::before, #Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79 .media::before, #Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79:not(.banner--mobile-bottom) .banner__content::before { padding-bottom: 30.22421524663677%; content: ''; display: block; } } @media screen and (min-width: 750px) { #Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79::before, #Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79 .media::before { padding-bottom: 30.22421524663677%; content: ''; display: block; } }</style><slideshow-component class="slider-mobile-gutter mobile-text-below" role="region" aria-roledescription="Carousel" aria-label="Slideshow about our brand" ><div class="slideshow banner banner--adapt_image grid grid--1-col slider slider--everywhere banner--mobile-bottom" id="Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" aria-live="polite" aria-atomic="true" data-autoplay="false" data-speed="5" ><style> #Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-1 .banner__media::after { opacity: 0.0; } </style> <div class="slideshow__slide grid__item grid--1-col slider__slide" id="Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-1" role="group" aria-roledescription="Slide" aria-label="1 of 5" tabindex="-1" > <div class="slideshow__media banner__media media"><img src="//circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=3840" alt="" srcset="//circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=375 375w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=550 550w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=750 750w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=1100 1100w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=1500 1500w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=1780 1780w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=2000 2000w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=3000 3000w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_1_-1115x337.png?v=1687855197&width=3840 3840w" height="337" loading="lazy" sizes="100vw"> </div> <div class="slideshow__text-wrapper banner__content banner__content--middle-center page-width banner--desktop-transparent"> <div class="slideshow__text banner__box content-container content-container--full-width-mobile color-background-1 gradient slideshow__text--center slideshow__text-mobile--center"></div> </div> </div><style> #Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-2 .banner__media::after { opacity: 0.0; } </style> <div class="slideshow__slide grid__item grid--1-col slider__slide" id="Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-2" role="group" aria-roledescription="Slide" aria-label="2 of 5" tabindex="-1" > <div class="slideshow__media banner__media media"><img src="//circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=3840" alt="" srcset="//circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=375 375w, //circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=550 550w, //circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=750 750w, //circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=1100 1100w, //circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=1500 1500w, //circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=1780 1780w, //circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=2000 2000w, //circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=3000 3000w, //circuit.rocks/cdn/shop/files/1_2_59521329-2737-43b9-bf23-fca08ba70149.png?v=1710139082&width=3840 3840w" height="500" loading="lazy" sizes="100vw"> </div> <div class="slideshow__text-wrapper banner__content banner__content--middle-center page-width banner--desktop-transparent"> <div class="slideshow__text banner__box content-container content-container--full-width-mobile color-background-1 gradient slideshow__text--center slideshow__text-mobile--center"></div> </div> </div><style> #Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-3 .banner__media::after { opacity: 0.0; } </style> <div class="slideshow__slide grid__item grid--1-col slider__slide" id="Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-3" role="group" aria-roledescription="Slide" aria-label="3 of 5" tabindex="-1" > <div class="slideshow__media banner__media media"><img src="//circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=3840" alt="" srcset="//circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=375 375w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=550 550w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=750 750w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=1100 1100w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=1500 1500w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=1780 1780w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=2000 2000w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=3000 3000w, //circuit.rocks/cdn/shop/files/WELCOME_TO_CIRCUITROCKS_6_-1724x592.png?v=1687855197&width=3840 3840w" height="592" loading="lazy" sizes="100vw"> </div> <div class="slideshow__text-wrapper banner__content banner__content--middle-center page-width banner--desktop-transparent"> <div class="slideshow__text banner__box content-container content-container--full-width-mobile color-background-1 gradient slideshow__text--center slideshow__text-mobile--center"></div> </div> </div><style> #Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-4 .banner__media::after { opacity: 0.0; } </style> <div class="slideshow__slide grid__item grid--1-col slider__slide" id="Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-4" role="group" aria-roledescription="Slide" aria-label="4 of 5" tabindex="-1" > <div class="slideshow__media banner__media media"><img src="//circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=3840" alt="" srcset="//circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=375 375w, //circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=550 550w, //circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=750 750w, //circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=1100 1100w, //circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=1500 1500w, //circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=1780 1780w, //circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=2000 2000w, //circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=3000 3000w, //circuit.rocks/cdn/shop/files/Untitled_2000_x_1000_px_2000_x_500_px_2.gif?v=1712304434&width=3840 3840w" height="463" loading="lazy" sizes="100vw"> </div> <div class="slideshow__text-wrapper banner__content banner__content--middle-center page-width banner--desktop-transparent"> <div class="slideshow__text banner__box content-container content-container--full-width-mobile color-background-1 gradient slideshow__text--center slideshow__text-mobile--center"></div> </div> </div><style> #Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-5 .banner__media::after { opacity: 0.0; } </style> <div class="slideshow__slide grid__item grid--1-col slider__slide" id="Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-5" role="group" aria-roledescription="Slide" aria-label="5 of 5" tabindex="-1" > <div class="slideshow__media banner__media media"><img src="//circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=3840" alt="" srcset="//circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=375 375w, //circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=550 550w, //circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=750 750w, //circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=1100 1100w, //circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=1500 1500w, //circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=1780 1780w, //circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=2000 2000w, //circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=3000 3000w, //circuit.rocks/cdn/shop/files/91023109230123-1200x450.jpg?v=1687855203&width=3840 3840w" height="450" loading="lazy" sizes="100vw"> </div> <div class="slideshow__text-wrapper banner__content banner__content--middle-center page-width banner--desktop-transparent"> <div class="slideshow__text banner__box content-container content-container--full-width-mobile color-background-1 gradient slideshow__text--center slideshow__text-mobile--center"></div> </div> </div></div><div class="slideshow__controls slider-buttons no-js-hidden slideshow__controls--border-radius-mobile"> <button type="button" class="slider-button slider-button--prev" name="previous" aria-label="Previous slide" aria-controls="Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" > <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </button> <div class="slider-counter slider-counter--dots"><div class="slideshow__control-wrapper"><button class="slider-counter__link slider-counter__link--dots link" aria-label="Load slide 1 of 5" aria-controls="Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" ><span class="dot"></span></button><button class="slider-counter__link slider-counter__link--dots link" aria-label="Load slide 2 of 5" aria-controls="Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" ><span class="dot"></span></button><button class="slider-counter__link slider-counter__link--dots link" aria-label="Load slide 3 of 5" aria-controls="Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" ><span class="dot"></span></button><button class="slider-counter__link slider-counter__link--dots link" aria-label="Load slide 4 of 5" aria-controls="Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" ><span class="dot"></span></button><button class="slider-counter__link slider-counter__link--dots link" aria-label="Load slide 5 of 5" aria-controls="Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" ><span class="dot"></span></button></div></div> <button type="button" class="slider-button slider-button--next" name="next" aria-label="Next slide" aria-controls="Slider-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79" > <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </button></div> <noscript> <div class="slider-buttons"> <div class="slider-counter"><a href="#Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-1" class="slider-counter__link link" aria-label="Load slide 1 of 5" > 1 </a><a href="#Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-2" class="slider-counter__link link" aria-label="Load slide 2 of 5" > 2 </a><a href="#Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-3" class="slider-counter__link link" aria-label="Load slide 3 of 5" > 3 </a><a href="#Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-4" class="slider-counter__link link" aria-label="Load slide 4 of 5" > 4 </a><a href="#Slide-template--19532350193953__c0b33ba2-e9c3-47e8-9f78-8269adc82c79-5" class="slider-counter__link link" aria-label="Load slide 5 of 5" > 5 </a></div> </div> </noscript></slideshow-component> </section><section id="shopify-section-template--19532350193953__featured_collection" class="shopify-section section"><link href="//circuit.rocks/cdn/shop/t/1/assets/component-card.css?v=153897544549437130131687423784" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-price.css?v=65402837579211014041687423794" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-slider.css?v=142503135496229589681687423797" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/template-collection.css?v=145944865380958730931687423819" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/quick-add.css?v=167457951211641553491687423808" rel="stylesheet" type="text/css" media="all" /> <script src="//circuit.rocks/cdn/shop/t/1/assets/quick-add.js?v=123988568102861521811687423809" defer="defer"></script> <script src="//circuit.rocks/cdn/shop/t/1/assets/product-form.js?v=138816392078825582251687423807" defer="defer"></script><style data-shopify>.section-template--19532350193953__featured_collection-padding { padding-top: 33px; padding-bottom: 27px; } @media screen and (min-width: 750px) { .section-template--19532350193953__featured_collection-padding { padding-top: 44px; padding-bottom: 36px; } }</style><div class="color-background-1 isolate gradient"> <div class="collection section-template--19532350193953__featured_collection-padding"> <div class="collection__title title-wrapper title-wrapper--no-top-margin page-width"><h2 class="title inline-richtext h2"> New Products </h2></div> <slider-component class="slider-mobile-gutter page-width page-width-desktop"> <ul id="Slider-template--19532350193953__featured_collection" class="grid product-grid contains-card contains-card--product grid--5-col-desktop grid--1-col-tablet-down" role="list" aria-label="Slider" ><li id="Slide-template--19532350193953__featured_collection-1" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 100.4702194357367%;" > <div class="card__inner ratio" style="--ratio-percent: 100.4702194357367%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/Screenshot2025-02-05135724.png?v=1738735640&width=165 165w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-05135724.png?v=1738735640&width=360 360w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-05135724.png?v=1738735640&width=533 533w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-05135724.png?v=1738735640 638w " src="//circuit.rocks/cdn/shop/files/Screenshot2025-02-05135724.png?v=1738735640&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Thermoelectric Cooler Peltier TEC1-12703" class="motion-reduce" loading="lazy" width="638" height="641" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/thermoelectric-cooler-peltier-tec1-12703" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9856270827809" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9856270827809 NoMediaStandardBadge-template--19532350193953__featured_collection-9856270827809" > Thermoelectric Cooler Peltier TEC1-12703 </a> </h3> </div> <div class="card__badge bottom left"></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9856270827809" > <a href="/products/thermoelectric-cooler-peltier-tec1-12703" id="CardLink-template--19532350193953__featured_collection-9856270827809" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9856270827809 Badge-template--19532350193953__featured_collection-9856270827809" > Thermoelectric Cooler Peltier TEC1-12703 </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 147.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 147.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9856270827809" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50864717594913" disabled > <button id="quick-add-template--19532350193953__featured_collection9856270827809-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9856270827809-submit title-template--19532350193953__featured_collection-9856270827809" aria-live="polite" data-sold-out-message="true" > <span>Add to cart </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9856270827809" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-2" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 100.0%;" > <div class="card__inner ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/Untitleddesign_3_1f2cc0e0-3d5d-40e0-9bd0-328e68bbc300.png?v=1738734350&width=165 165w,//circuit.rocks/cdn/shop/files/Untitleddesign_3_1f2cc0e0-3d5d-40e0-9bd0-328e68bbc300.png?v=1738734350&width=360 360w,//circuit.rocks/cdn/shop/files/Untitleddesign_3_1f2cc0e0-3d5d-40e0-9bd0-328e68bbc300.png?v=1738734350&width=533 533w,//circuit.rocks/cdn/shop/files/Untitleddesign_3_1f2cc0e0-3d5d-40e0-9bd0-328e68bbc300.png?v=1738734350&width=720 720w,//circuit.rocks/cdn/shop/files/Untitleddesign_3_1f2cc0e0-3d5d-40e0-9bd0-328e68bbc300.png?v=1738734350 800w " src="//circuit.rocks/cdn/shop/files/Untitleddesign_3_1f2cc0e0-3d5d-40e0-9bd0-328e68bbc300.png?v=1738734350&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Infrared IR Obstacle Avoidance Sensor Module" class="motion-reduce" loading="lazy" width="800" height="800" > <img srcset="//circuit.rocks/cdn/shop/files/Untitleddesign_4_a04d840c-269c-4b93-9323-6185e8e5131d.png?v=1738734350&width=165 165w,//circuit.rocks/cdn/shop/files/Untitleddesign_4_a04d840c-269c-4b93-9323-6185e8e5131d.png?v=1738734350&width=360 360w,//circuit.rocks/cdn/shop/files/Untitleddesign_4_a04d840c-269c-4b93-9323-6185e8e5131d.png?v=1738734350&width=533 533w,//circuit.rocks/cdn/shop/files/Untitleddesign_4_a04d840c-269c-4b93-9323-6185e8e5131d.png?v=1738734350&width=720 720w,//circuit.rocks/cdn/shop/files/Untitleddesign_4_a04d840c-269c-4b93-9323-6185e8e5131d.png?v=1738734350 800w " src="//circuit.rocks/cdn/shop/files/Untitleddesign_4_a04d840c-269c-4b93-9323-6185e8e5131d.png?v=1738734350&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="800" height="800" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/infrared-ir-obstacle-avoidance-sensor-module" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9856243007777" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9856243007777 NoMediaStandardBadge-template--19532350193953__featured_collection-9856243007777" > Infrared IR Obstacle Avoidance Sensor Module </a> </h3> </div> <div class="card__badge bottom left"></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9856243007777" > <a href="/products/infrared-ir-obstacle-avoidance-sensor-module" id="CardLink-template--19532350193953__featured_collection-9856243007777" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9856243007777 Badge-template--19532350193953__featured_collection-9856243007777" > Infrared IR Obstacle Avoidance Sensor Module </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 45.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 45.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9856243007777" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50864681976097" disabled > <button id="quick-add-template--19532350193953__featured_collection9856243007777-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9856243007777-submit title-template--19532350193953__featured_collection-9856243007777" aria-live="polite" data-sold-out-message="true" > <span>Add to cart </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9856243007777" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-3" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 95.62937062937064%;" > <div class="card__inner ratio" style="--ratio-percent: 95.62937062937064%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144919.png?v=1738734214&width=165 165w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144919.png?v=1738734214&width=360 360w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144919.png?v=1738734214&width=533 533w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144919.png?v=1738734214 572w " src="//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144919.png?v=1738734214&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="RJ11 6-Pin Connector" class="motion-reduce" loading="lazy" width="572" height="547" > <img srcset="//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144901.png?v=1738734214&width=165 165w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144901.png?v=1738734214&width=360 360w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144901.png?v=1738734214&width=533 533w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144901.png?v=1738734214 576w " src="//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144901.png?v=1738734214&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="576" height="564" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/rj11-6-pin-connector" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9856240746785" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9856240746785 NoMediaStandardBadge-template--19532350193953__featured_collection-9856240746785" > RJ11 6-Pin Connector </a> </h3> </div> <div class="card__badge bottom left"><span id="NoMediaStandardBadge-template--19532350193953__featured_collection-9856240746785" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9856240746785" > <a href="/products/rj11-6-pin-connector" id="CardLink-template--19532350193953__featured_collection-9856240746785" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9856240746785 Badge-template--19532350193953__featured_collection-9856240746785" > RJ11 6-Pin Connector </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price price--sold-out " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 155.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 155.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9856240746785" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50864679387425" disabled > <button id="quick-add-template--19532350193953__featured_collection9856240746785-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9856240746785-submit title-template--19532350193953__featured_collection-9856240746785" aria-live="polite" data-sold-out-message="true" disabled > <span>Sold out </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9856240746785" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"><span id="Badge-template--19532350193953__featured_collection-9856240746785" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-4" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 98.8034188034188%;" > <div class="card__inner ratio" style="--ratio-percent: 98.8034188034188%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144126.png?v=1738733587&width=165 165w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144126.png?v=1738733587&width=360 360w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144126.png?v=1738733587&width=533 533w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144126.png?v=1738733587 585w " src="//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144126.png?v=1738733587&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="SparkFun RJ11 Breakout" class="motion-reduce" loading="lazy" width="585" height="578" > <img srcset="//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144145.png?v=1738733586&width=165 165w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144145.png?v=1738733586&width=360 360w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144145.png?v=1738733586&width=533 533w,//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144145.png?v=1738733586 566w " src="//circuit.rocks/cdn/shop/files/Screenshot2025-02-04144145.png?v=1738733586&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="566" height="553" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/sparkfun-rj11-breakout" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9856232325409" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9856232325409 NoMediaStandardBadge-template--19532350193953__featured_collection-9856232325409" > SparkFun RJ11 Breakout </a> </h3> </div> <div class="card__badge bottom left"></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9856232325409" > <a href="/products/sparkfun-rj11-breakout" id="CardLink-template--19532350193953__featured_collection-9856232325409" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9856232325409 Badge-template--19532350193953__featured_collection-9856232325409" > SparkFun RJ11 Breakout </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 195.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 195.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9856232325409" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50864669360417" disabled > <button id="quick-add-template--19532350193953__featured_collection9856232325409-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9856232325409-submit title-template--19532350193953__featured_collection-9856232325409" aria-live="polite" data-sold-out-message="true" > <span>Add to cart </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9856232325409" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-5" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 82.76877761413843%;" > <div class="card__inner ratio" style="--ratio-percent: 82.76877761413843%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/202411210130575dd135d4530e46976d1dafeee0b45cf9.jpg?v=1732152952&width=165 165w,//circuit.rocks/cdn/shop/files/202411210130575dd135d4530e46976d1dafeee0b45cf9.jpg?v=1732152952&width=360 360w,//circuit.rocks/cdn/shop/files/202411210130575dd135d4530e46976d1dafeee0b45cf9.jpg?v=1732152952&width=533 533w,//circuit.rocks/cdn/shop/files/202411210130575dd135d4530e46976d1dafeee0b45cf9.jpg?v=1732152952 679w " src="//circuit.rocks/cdn/shop/files/202411210130575dd135d4530e46976d1dafeee0b45cf9.jpg?v=1732152952&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Arduino Nano ESP32 Wifi" class="motion-reduce" loading="lazy" width="679" height="562" > <img srcset="//circuit.rocks/cdn/shop/files/20241121013057b43fbb2a0f022b8764b2273ec0c2386a.jpg?v=1732152956&width=165 165w,//circuit.rocks/cdn/shop/files/20241121013057b43fbb2a0f022b8764b2273ec0c2386a.jpg?v=1732152956&width=360 360w,//circuit.rocks/cdn/shop/files/20241121013057b43fbb2a0f022b8764b2273ec0c2386a.jpg?v=1732152956&width=533 533w,//circuit.rocks/cdn/shop/files/20241121013057b43fbb2a0f022b8764b2273ec0c2386a.jpg?v=1732152956&width=720 720w,//circuit.rocks/cdn/shop/files/20241121013057b43fbb2a0f022b8764b2273ec0c2386a.jpg?v=1732152956&width=940 940w,//circuit.rocks/cdn/shop/files/20241121013057b43fbb2a0f022b8764b2273ec0c2386a.jpg?v=1732152956 952w " src="//circuit.rocks/cdn/shop/files/20241121013057b43fbb2a0f022b8764b2273ec0c2386a.jpg?v=1732152956&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="952" height="461" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/arduino-nano-esp32-with-headers-esp32-s3-usb-c-wi-fi-bluetooth-hid" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9779300172065" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9779300172065 NoMediaStandardBadge-template--19532350193953__featured_collection-9779300172065" > Arduino Nano ESP32 Wifi </a> </h3> </div> <div class="card__badge bottom left"><span id="NoMediaStandardBadge-template--19532350193953__featured_collection-9779300172065" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9779300172065" > <a href="/products/arduino-nano-esp32-with-headers-esp32-s3-usb-c-wi-fi-bluetooth-hid" id="CardLink-template--19532350193953__featured_collection-9779300172065" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9779300172065 Badge-template--19532350193953__featured_collection-9779300172065" > Arduino Nano ESP32 Wifi </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price price--sold-out " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 1,585.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 1,585.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9779300172065" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50601269526817" disabled > <button id="quick-add-template--19532350193953__featured_collection9779300172065-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9779300172065-submit title-template--19532350193953__featured_collection-9779300172065" aria-live="polite" data-sold-out-message="true" disabled > <span>Sold out </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9779300172065" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"><span id="Badge-template--19532350193953__featured_collection-9779300172065" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-6" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 102.35294117647058%;" > <div class="card__inner ratio" style="--ratio-percent: 102.35294117647058%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/20241113021229d879eda10f8285b1b4e3c235be98479b.png?v=1731463986&width=165 165w,//circuit.rocks/cdn/shop/files/20241113021229d879eda10f8285b1b4e3c235be98479b.png?v=1731463986&width=360 360w,//circuit.rocks/cdn/shop/files/20241113021229d879eda10f8285b1b4e3c235be98479b.png?v=1731463986&width=533 533w,//circuit.rocks/cdn/shop/files/20241113021229d879eda10f8285b1b4e3c235be98479b.png?v=1731463986 680w " src="//circuit.rocks/cdn/shop/files/20241113021229d879eda10f8285b1b4e3c235be98479b.png?v=1731463986&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Lead Screw T8 350mm Stainless Steel with Brass Nut" class="motion-reduce" loading="lazy" width="680" height="696" > <img srcset="//circuit.rocks/cdn/shop/files/20241113021229bfc7087193b6c2b247e0098a40818d6c.png?v=1731463990&width=165 165w,//circuit.rocks/cdn/shop/files/20241113021229bfc7087193b6c2b247e0098a40818d6c.png?v=1731463990&width=360 360w,//circuit.rocks/cdn/shop/files/20241113021229bfc7087193b6c2b247e0098a40818d6c.png?v=1731463990&width=533 533w,//circuit.rocks/cdn/shop/files/20241113021229bfc7087193b6c2b247e0098a40818d6c.png?v=1731463990&width=720 720w,//circuit.rocks/cdn/shop/files/20241113021229bfc7087193b6c2b247e0098a40818d6c.png?v=1731463990 757w " src="//circuit.rocks/cdn/shop/files/20241113021229bfc7087193b6c2b247e0098a40818d6c.png?v=1731463990&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="757" height="597" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/lead-screw-t8-350mm-stainless-steel-with-brass-nut" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9772038652193" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9772038652193 NoMediaStandardBadge-template--19532350193953__featured_collection-9772038652193" > Lead Screw T8 350mm Stainless Steel with Brass Nut </a> </h3> </div> <div class="card__badge bottom left"><span id="NoMediaStandardBadge-template--19532350193953__featured_collection-9772038652193" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9772038652193" > <a href="/products/lead-screw-t8-350mm-stainless-steel-with-brass-nut" id="CardLink-template--19532350193953__featured_collection-9772038652193" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9772038652193 Badge-template--19532350193953__featured_collection-9772038652193" > Lead Screw T8 350mm Stainless Steel with Brass Nut </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price price--sold-out " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 95.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 95.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9772038652193" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50574583005473" disabled > <button id="quick-add-template--19532350193953__featured_collection9772038652193-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9772038652193-submit title-template--19532350193953__featured_collection-9772038652193" aria-live="polite" data-sold-out-message="true" disabled > <span>Sold out </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9772038652193" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"><span id="Badge-template--19532350193953__featured_collection-9772038652193" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-7" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 100.0%;" > <div class="card__inner ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/202411120547360a8dbcab2e66c5ed17c25fdfcf8d1aa1.jpg?v=1731390714&width=165 165w,//circuit.rocks/cdn/shop/files/202411120547360a8dbcab2e66c5ed17c25fdfcf8d1aa1.jpg?v=1731390714&width=360 360w,//circuit.rocks/cdn/shop/files/202411120547360a8dbcab2e66c5ed17c25fdfcf8d1aa1.jpg?v=1731390714&width=533 533w,//circuit.rocks/cdn/shop/files/202411120547360a8dbcab2e66c5ed17c25fdfcf8d1aa1.jpg?v=1731390714&width=720 720w,//circuit.rocks/cdn/shop/files/202411120547360a8dbcab2e66c5ed17c25fdfcf8d1aa1.jpg?v=1731390714&width=940 940w,//circuit.rocks/cdn/shop/files/202411120547360a8dbcab2e66c5ed17c25fdfcf8d1aa1.jpg?v=1731390714&width=1066 1066w,//circuit.rocks/cdn/shop/files/202411120547360a8dbcab2e66c5ed17c25fdfcf8d1aa1.jpg?v=1731390714 1280w " src="//circuit.rocks/cdn/shop/files/202411120547360a8dbcab2e66c5ed17c25fdfcf8d1aa1.jpg?v=1731390714&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Raspberry Pi Pico 2" class="motion-reduce" loading="lazy" width="1280" height="1280" > <img srcset="//circuit.rocks/cdn/shop/files/20241112054736c2efb8c0136cf415e7ef130866652aad.jpg?v=1731390718&width=165 165w,//circuit.rocks/cdn/shop/files/20241112054736c2efb8c0136cf415e7ef130866652aad.jpg?v=1731390718&width=360 360w,//circuit.rocks/cdn/shop/files/20241112054736c2efb8c0136cf415e7ef130866652aad.jpg?v=1731390718&width=533 533w,//circuit.rocks/cdn/shop/files/20241112054736c2efb8c0136cf415e7ef130866652aad.jpg?v=1731390718&width=720 720w,//circuit.rocks/cdn/shop/files/20241112054736c2efb8c0136cf415e7ef130866652aad.jpg?v=1731390718&width=940 940w,//circuit.rocks/cdn/shop/files/20241112054736c2efb8c0136cf415e7ef130866652aad.jpg?v=1731390718&width=1066 1066w,//circuit.rocks/cdn/shop/files/20241112054736c2efb8c0136cf415e7ef130866652aad.jpg?v=1731390718 1280w " src="//circuit.rocks/cdn/shop/files/20241112054736c2efb8c0136cf415e7ef130866652aad.jpg?v=1731390718&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="1280" height="1280" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/raspberry-pi-pico-2" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9771076288801" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9771076288801 NoMediaStandardBadge-template--19532350193953__featured_collection-9771076288801" > Raspberry Pi Pico 2 </a> </h3> </div> <div class="card__badge bottom left"></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9771076288801" > <a href="/products/raspberry-pi-pico-2" id="CardLink-template--19532350193953__featured_collection-9771076288801" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9771076288801 Badge-template--19532350193953__featured_collection-9771076288801" > Raspberry Pi Pico 2 </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 555.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 555.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9771076288801" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50571602002209" disabled > <button id="quick-add-template--19532350193953__featured_collection9771076288801-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9771076288801-submit title-template--19532350193953__featured_collection-9771076288801" aria-live="polite" data-sold-out-message="true" > <span>Add to cart </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9771076288801" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-8" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 100.0%;" > <div class="card__inner ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/2024102508334759ecae9b221afd9183686ce0a2e80e53.png?v=1729846008&width=165 165w,//circuit.rocks/cdn/shop/files/2024102508334759ecae9b221afd9183686ce0a2e80e53.png?v=1729846008&width=360 360w,//circuit.rocks/cdn/shop/files/2024102508334759ecae9b221afd9183686ce0a2e80e53.png?v=1729846008&width=533 533w,//circuit.rocks/cdn/shop/files/2024102508334759ecae9b221afd9183686ce0a2e80e53.png?v=1729846008&width=720 720w,//circuit.rocks/cdn/shop/files/2024102508334759ecae9b221afd9183686ce0a2e80e53.png?v=1729846008&width=940 940w,//circuit.rocks/cdn/shop/files/2024102508334759ecae9b221afd9183686ce0a2e80e53.png?v=1729846008&width=1066 1066w,//circuit.rocks/cdn/shop/files/2024102508334759ecae9b221afd9183686ce0a2e80e53.png?v=1729846008 1080w " src="//circuit.rocks/cdn/shop/files/2024102508334759ecae9b221afd9183686ce0a2e80e53.png?v=1729846008&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="eSUN ePLA-Silk Candy Filament" class="motion-reduce" loading="lazy" width="1080" height="1080" > <img srcset="//circuit.rocks/cdn/shop/files/20241025083347fffb36969a3a3a706bff6b17f303aae3.png?v=1729846000&width=165 165w,//circuit.rocks/cdn/shop/files/20241025083347fffb36969a3a3a706bff6b17f303aae3.png?v=1729846000&width=360 360w,//circuit.rocks/cdn/shop/files/20241025083347fffb36969a3a3a706bff6b17f303aae3.png?v=1729846000&width=533 533w,//circuit.rocks/cdn/shop/files/20241025083347fffb36969a3a3a706bff6b17f303aae3.png?v=1729846000&width=720 720w,//circuit.rocks/cdn/shop/files/20241025083347fffb36969a3a3a706bff6b17f303aae3.png?v=1729846000&width=940 940w,//circuit.rocks/cdn/shop/files/20241025083347fffb36969a3a3a706bff6b17f303aae3.png?v=1729846000&width=1066 1066w,//circuit.rocks/cdn/shop/files/20241025083347fffb36969a3a3a706bff6b17f303aae3.png?v=1729846000 1080w " src="//circuit.rocks/cdn/shop/files/20241025083347fffb36969a3a3a706bff6b17f303aae3.png?v=1729846000&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="1080" height="1080" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/esun-epla-silk-candy-1-75mm-3d-filament-1kg" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9748997505313" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9748997505313 NoMediaStandardBadge-template--19532350193953__featured_collection-9748997505313" > eSUN ePLA-Silk Candy Filament </a> </h3> </div> <div class="card__badge bottom left"><span id="NoMediaStandardBadge-template--19532350193953__featured_collection-9748997505313" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9748997505313" > <a href="/products/esun-epla-silk-candy-1-75mm-3d-filament-1kg" id="CardLink-template--19532350193953__featured_collection-9748997505313" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9748997505313 Badge-template--19532350193953__featured_collection-9748997505313" > eSUN ePLA-Silk Candy Filament </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price price--sold-out " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 947.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 947.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><modal-opener data-modal="#QuickAdd-9748997505313"> <button id="quick-add-template--19532350193953__featured_collection9748997505313-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9748997505313-submit title-template--19532350193953__featured_collection-9748997505313" data-product-url="/products/esun-epla-silk-candy-1-75mm-3d-filament-1kg" > Choose options <div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button> </modal-opener> <quick-add-modal id="QuickAdd-9748997505313" class="quick-add-modal"> <div role="dialog" aria-label="Choose options for eSUN ePLA-Silk Candy Filament" aria-modal="true" class="quick-add-modal__content global-settings-popup" tabindex="-1" > <button id="ModalClose-9748997505313" type="button" class="quick-add-modal__toggle" aria-label="Close" > <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="icon icon-close" fill="none" viewBox="0 0 18 17" > <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> </svg> </button> <div id="QuickAddInfo-9748997505313" class="quick-add-modal__content-info"></div> </div> </quick-add-modal></div><div class="card__badge bottom left"><span id="Badge-template--19532350193953__featured_collection-9748997505313" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-9" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 100.0%;" > <div class="card__inner ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/202410190823047951b0fcdff63bcaa7a771c894535bb7.jpg?v=1729326242&width=165 165w,//circuit.rocks/cdn/shop/files/202410190823047951b0fcdff63bcaa7a771c894535bb7.jpg?v=1729326242&width=360 360w,//circuit.rocks/cdn/shop/files/202410190823047951b0fcdff63bcaa7a771c894535bb7.jpg?v=1729326242 455w " src="//circuit.rocks/cdn/shop/files/202410190823047951b0fcdff63bcaa7a771c894535bb7.jpg?v=1729326242&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Telescopic Antenna SMA - 300 MHz to 1.1 GHz (ANT700)" class="motion-reduce" loading="lazy" width="455" height="455" > <img srcset="//circuit.rocks/cdn/shop/files/2024101908230449f4d3dd5dece6cc20ed5ec6e94adbce.jpg?v=1729326245&width=165 165w,//circuit.rocks/cdn/shop/files/2024101908230449f4d3dd5dece6cc20ed5ec6e94adbce.jpg?v=1729326245&width=360 360w,//circuit.rocks/cdn/shop/files/2024101908230449f4d3dd5dece6cc20ed5ec6e94adbce.jpg?v=1729326245 455w " src="//circuit.rocks/cdn/shop/files/2024101908230449f4d3dd5dece6cc20ed5ec6e94adbce.jpg?v=1729326245&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="455" height="455" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/telescopic-antenna-sma-300-mhz-to-1-1-ghz-ant700" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9743904047393" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9743904047393 NoMediaStandardBadge-template--19532350193953__featured_collection-9743904047393" > Telescopic Antenna SMA - 300 MHz to 1.1 GHz (ANT700) </a> </h3> </div> <div class="card__badge bottom left"></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9743904047393" > <a href="/products/telescopic-antenna-sma-300-mhz-to-1-1-ghz-ant700" id="CardLink-template--19532350193953__featured_collection-9743904047393" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9743904047393 Badge-template--19532350193953__featured_collection-9743904047393" > Telescopic Antenna SMA - 300 MHz to 1.1 GHz (ANT700) </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 1,785.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 1,785.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9743904047393" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50471773896993" disabled > <button id="quick-add-template--19532350193953__featured_collection9743904047393-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9743904047393-submit title-template--19532350193953__featured_collection-9743904047393" aria-live="polite" data-sold-out-message="true" > <span>Add to cart </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9743904047393" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__featured_collection-10" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 100.0%;" > <div class="card__inner ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/202410190746222b0aad4efd11a1cb743e5a43bd2aa130.jpg?v=1729325938&width=165 165w,//circuit.rocks/cdn/shop/files/202410190746222b0aad4efd11a1cb743e5a43bd2aa130.jpg?v=1729325938&width=360 360w,//circuit.rocks/cdn/shop/files/202410190746222b0aad4efd11a1cb743e5a43bd2aa130.jpg?v=1729325938 455w " src="//circuit.rocks/cdn/shop/files/202410190746222b0aad4efd11a1cb743e5a43bd2aa130.jpg?v=1729325938&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Telescopic Antenna SMA - 75 MHz to 1 GHz (ANT500)" class="motion-reduce" loading="lazy" width="455" height="455" > <img srcset="//circuit.rocks/cdn/shop/files/202410190746224a391ba7d058f20dee423dee2f234f03.jpg?v=1729325942&width=165 165w,//circuit.rocks/cdn/shop/files/202410190746224a391ba7d058f20dee423dee2f234f03.jpg?v=1729325942&width=360 360w,//circuit.rocks/cdn/shop/files/202410190746224a391ba7d058f20dee423dee2f234f03.jpg?v=1729325942 455w " src="//circuit.rocks/cdn/shop/files/202410190746224a391ba7d058f20dee423dee2f234f03.jpg?v=1729325942&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="" class="motion-reduce" loading="lazy" width="455" height="455" ></div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/telescopic-antenna-sma-75-mhz-to-1-ghz-ant500" id="StandardCardNoMediaLink-template--19532350193953__featured_collection-9743903555873" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__featured_collection-9743903555873 NoMediaStandardBadge-template--19532350193953__featured_collection-9743903555873" > Telescopic Antenna SMA - 75 MHz to 1 GHz (ANT500) </a> </h3> </div> <div class="card__badge bottom left"></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__featured_collection-9743903555873" > <a href="/products/telescopic-antenna-sma-75-mhz-to-1-ghz-ant500" id="CardLink-template--19532350193953__featured_collection-9743903555873" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__featured_collection-9743903555873 Badge-template--19532350193953__featured_collection-9743903555873" > Telescopic Antenna SMA - 75 MHz to 1 GHz (ANT500) </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 2,617.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 2,617.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="quick-add no-js-hidden"><product-form><form method="post" action="/cart/add" id="quick-add-template--19532350193953__featured_collection9743903555873" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="50471772815649" disabled > <button id="quick-add-template--19532350193953__featured_collection9743903555873-submit" type="submit" name="add" class="quick-add__submit button button--full-width button--secondary" aria-haspopup="dialog" aria-labelledby="quick-add-template--19532350193953__featured_collection9743903555873-submit title-template--19532350193953__featured_collection-9743903555873" aria-live="polite" data-sold-out-message="true" > <span>Add to cart </span> <span class="sold-out-message hidden"> Sold out </span><div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg" > <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </button><input type="hidden" name="product-id" value="9743903555873" /><input type="hidden" name="section-id" value="template--19532350193953__featured_collection" /></form></product-form></div><div class="card__badge bottom left"></div> </div> </div> </div> </li></ul></slider-component><div class="center collection__view-all"> <a href="/collections/new" class="button" aria-label="View all products in the New collection" > View all </a> </div></div> </div> </section><section id="shopify-section-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf" class="shopify-section section"><link href="//circuit.rocks/cdn/shop/t/1/assets/component-card.css?v=153897544549437130131687423784" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-price.css?v=65402837579211014041687423794" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-slider.css?v=142503135496229589681687423797" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/template-collection.css?v=145944865380958730931687423819" rel="stylesheet" type="text/css" media="all" /> <style data-shopify>.section-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-padding { padding-top: 27px; padding-bottom: 27px; } @media screen and (min-width: 750px) { .section-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-padding { padding-top: 36px; padding-bottom: 36px; } }</style><div class="color-background-1 isolate gradient"> <div class="collection section-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-padding"> <div class="collection__title title-wrapper title-wrapper--no-top-margin page-width"><h2 class="title inline-richtext h2"> Arduino </h2></div> <slider-component class="slider-mobile-gutter page-width page-width-desktop"> <ul id="Slider-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf" class="grid product-grid contains-card contains-card--product grid--4-col-desktop grid--1-col-tablet-down" role="list" aria-label="Slider" ><li id="Slide-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-1" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 75.0515463917526%;" > <div class="card__inner ratio" style="--ratio-percent: 75.0515463917526%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/products/nano-ch340-usb-driver-arduino-compatible-52.jpg?v=1689316954&width=165 165w,//circuit.rocks/cdn/shop/products/nano-ch340-usb-driver-arduino-compatible-52.jpg?v=1689316954&width=360 360w,//circuit.rocks/cdn/shop/products/nano-ch340-usb-driver-arduino-compatible-52.jpg?v=1689316954&width=533 533w,//circuit.rocks/cdn/shop/products/nano-ch340-usb-driver-arduino-compatible-52.jpg?v=1689316954&width=720 720w,//circuit.rocks/cdn/shop/products/nano-ch340-usb-driver-arduino-compatible-52.jpg?v=1689316954&width=940 940w,//circuit.rocks/cdn/shop/products/nano-ch340-usb-driver-arduino-compatible-52.jpg?v=1689316954 970w " src="//circuit.rocks/cdn/shop/products/nano-ch340-usb-driver-arduino-compatible-52.jpg?v=1689316954&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Nano CH340 USB driver Arduino Compatible" class="motion-reduce" loading="lazy" width="970" height="728" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/crowduino-nano-328" id="StandardCardNoMediaLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411131478305" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411131478305 NoMediaStandardBadge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411131478305" > Nano CH340 USB driver Arduino Compatible </a> </h3> </div> <div class="card__badge bottom left"></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411131478305" > <a href="/products/crowduino-nano-328" id="CardLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411131478305" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411131478305 Badge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411131478305" > Nano CH340 USB driver Arduino Compatible </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 127.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 127.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="card__badge bottom left"></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-2" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 100.0%;" > <div class="card__inner ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/files/20250306075345d1f8c08a7db6ced1bf795e33baf5e7b4.jpg?v=1741247696&width=165 165w,//circuit.rocks/cdn/shop/files/20250306075345d1f8c08a7db6ced1bf795e33baf5e7b4.jpg?v=1741247696&width=360 360w,//circuit.rocks/cdn/shop/files/20250306075345d1f8c08a7db6ced1bf795e33baf5e7b4.jpg?v=1741247696&width=533 533w,//circuit.rocks/cdn/shop/files/20250306075345d1f8c08a7db6ced1bf795e33baf5e7b4.jpg?v=1741247696&width=720 720w,//circuit.rocks/cdn/shop/files/20250306075345d1f8c08a7db6ced1bf795e33baf5e7b4.jpg?v=1741247696 800w " src="//circuit.rocks/cdn/shop/files/20250306075345d1f8c08a7db6ced1bf795e33baf5e7b4.jpg?v=1741247696&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Mega Board 2560 R3 Arduino Compatible" class="motion-reduce" loading="lazy" width="800" height="800" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/arduino-mega-board-2560-r3" id="StandardCardNoMediaLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8422390563105" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8422390563105 NoMediaStandardBadge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8422390563105" > Mega Board 2560 R3 Arduino Compatible </a> </h3> </div> <div class="card__badge bottom left"></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8422390563105" > <a href="/products/arduino-mega-board-2560-r3" id="CardLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8422390563105" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8422390563105 Badge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8422390563105" > Mega Board 2560 R3 Arduino Compatible </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 675.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 675.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="card__badge bottom left"></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-3" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 75.0%;" > <div class="card__inner ratio" style="--ratio-percent: 75.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/products/arduino-uno-r3-155.jpg?v=1689317349&width=165 165w,//circuit.rocks/cdn/shop/products/arduino-uno-r3-155.jpg?v=1689317349&width=360 360w,//circuit.rocks/cdn/shop/products/arduino-uno-r3-155.jpg?v=1689317349&width=533 533w,//circuit.rocks/cdn/shop/products/arduino-uno-r3-155.jpg?v=1689317349&width=720 720w,//circuit.rocks/cdn/shop/products/arduino-uno-r3-155.jpg?v=1689317349&width=940 940w,//circuit.rocks/cdn/shop/products/arduino-uno-r3-155.jpg?v=1689317349 1000w " src="//circuit.rocks/cdn/shop/products/arduino-uno-r3-155.jpg?v=1689317349&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Arduino Uno R3" class="motion-reduce" loading="lazy" width="1000" height="750" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/arduino-uno" id="StandardCardNoMediaLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289 NoMediaStandardBadge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289" > Arduino Uno R3 </a> </h3> </div> <div class="card__badge bottom left"><span id="NoMediaStandardBadge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289" > <a href="/products/arduino-uno" id="CardLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289 Badge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289" > Arduino Uno R3 </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price price--sold-out " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 1,789.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 1,789.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="card__badge bottom left"><span id="Badge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411156480289" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> </div> </li><li id="Slide-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-4" class="grid__item" > <link href="//circuit.rocks/cdn/shop/t/1/assets/component-rating.css?v=157771854592137137841687423795" rel="stylesheet" type="text/css" media="all" /> <div class="card-wrapper product-card-wrapper underline-links-hover"> <div class=" card card--card card--media color-background-2 gradient " style="--ratio-percent: 75.0%;" > <div class="card__inner ratio" style="--ratio-percent: 75.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/products/arduino-mega-2560-rev3-157.jpg?v=1689317357&width=165 165w,//circuit.rocks/cdn/shop/products/arduino-mega-2560-rev3-157.jpg?v=1689317357&width=360 360w,//circuit.rocks/cdn/shop/products/arduino-mega-2560-rev3-157.jpg?v=1689317357&width=533 533w,//circuit.rocks/cdn/shop/products/arduino-mega-2560-rev3-157.jpg?v=1689317357&width=720 720w,//circuit.rocks/cdn/shop/products/arduino-mega-2560-rev3-157.jpg?v=1689317357&width=940 940w,//circuit.rocks/cdn/shop/products/arduino-mega-2560-rev3-157.jpg?v=1689317357 1000w " src="//circuit.rocks/cdn/shop/products/arduino-mega-2560-rev3-157.jpg?v=1689317357&width=533" sizes="(min-width: 1400px) 317px, (min-width: 990px) calc((100vw - 130px) / 4), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 2)" alt="Arduino Mega 2560 Rev3" class="motion-reduce" loading="lazy" width="1000" height="750" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading" > <a href="/products/arduino-mega-philippines" id="StandardCardNoMediaLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113" class="full-unstyled-link" aria-labelledby="StandardCardNoMediaLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113 NoMediaStandardBadge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113" > Arduino Mega 2560 Rev3 </a> </h3> </div> <div class="card__badge bottom left"><span id="NoMediaStandardBadge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> <div class="card__content"> <div class="card__information"> <h3 class="card__heading h5" id="title-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113" > <a href="/products/arduino-mega-philippines" id="CardLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113" class="full-unstyled-link" aria-labelledby="CardLink-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113 Badge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113" > Arduino Mega 2560 Rev3 </a> </h3> <div class="card-information"><span class="caption-large light"></span> <div class=" price price--sold-out " > <div class="price__container"><div class="price__regular"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span class="price-item price-item--regular"> ₱ 3,647.00 </span> </div> <div class="price__sale"> <span class="visually-hidden visually-hidden--inline">Regular price</span> <span> <s class="price-item price-item--regular"> </s> </span><span class="visually-hidden visually-hidden--inline">Sale price</span> <span class="price-item price-item--sale price-item--last"> ₱ 3,647.00 </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span></span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div></div> </div> </div><div class="card__badge bottom left"><span id="Badge-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf-8411157070113" class="badge badge--bottom-left color-inverse" >Sold out</span></div> </div> </div> </div> </li></ul></slider-component><div class="center collection__view-all"> <a href="/collections/arduino-boards-philippines" class="button" aria-label="View all products in the Arduino collection" > View all </a> </div></div> </div> <style> #shopify-section-template--19532350193953__a20c0659-6350-4bc8-aa0c-6bb4c18464bf .price__container {bottom: 10px !important;} </style></section><section id="shopify-section-template--19532350193953__collection_list_9NaFUL" class="shopify-section section section-collection-list"><link href="//circuit.rocks/cdn/shop/t/1/assets/section-collection-list.css?v=70863279319435850561687423811" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-card.css?v=153897544549437130131687423784" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-slider.css?v=142503135496229589681687423797" rel="stylesheet" type="text/css" media="all" /> <style data-shopify>.section-template--19532350193953__collection_list_9NaFUL-padding { padding-top: 27px; padding-bottom: 27px; } @media screen and (min-width: 750px) { .section-template--19532350193953__collection_list_9NaFUL-padding { padding-top: 36px; padding-bottom: 36px; } }</style><div class="color-background-1 gradient"> <div class="collection-list-wrapper page-width isolate no-mobile-link section-template--19532350193953__collection_list_9NaFUL-padding"><div class="title-wrapper-with-link title-wrapper--self-padded-mobile title-wrapper--no-top-margin"> <h2 id="SectionHeading-template--19532350193953__collection_list_9NaFUL" class="collection-list-title inline-richtext h2" > Brands </h2></div><slider-component class="slider-mobile-gutter"> <ul class="collection-list contains-card contains-card--collection grid grid--5-col-desktop grid--2-col-tablet-down collection-list--9-items" id="Slider-template--19532350193953__collection_list_9NaFUL" role="list" ><li id="Slide-template--19532350193953__collection_list_9NaFUL-1" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 100.0%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/adafruit_logo.jpg?v=1709538287&width=165 165w,//circuit.rocks/cdn/shop/collections/adafruit_logo.jpg?v=1709538287 200w " src="//circuit.rocks/cdn/shop/collections/adafruit_logo.jpg?v=1709538287&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="200" width="200" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/adafruit" class="full-unstyled-link" >Adafruit </a> </h3><p class="card__caption">Looking for Adafruit in the Philippines? We got it here at Circuitrocks...<span class="icon-wrap"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </p></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/adafruit" class="full-unstyled-link" >Adafruit<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li><li id="Slide-template--19532350193953__collection_list_9NaFUL-2" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 100.0%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/download_2.png?v=1709625972&width=165 165w,//circuit.rocks/cdn/shop/collections/download_2.png?v=1709625972 225w " src="//circuit.rocks/cdn/shop/collections/download_2.png?v=1709625972&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="225" width="225" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/dfrobot" class="full-unstyled-link" >DFRobot </a> </h3><p class="card__caption">Looking for DFRobot in the Philippines? We got it here at Circuitrocks...<span class="icon-wrap"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </p></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/dfrobot" class="full-unstyled-link" >DFRobot<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li><li id="Slide-template--19532350193953__collection_list_9NaFUL-3" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 100.07818608287724%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 100.07818608287724%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/arduino-logo-1.png?v=1709539058&width=165 165w,//circuit.rocks/cdn/shop/collections/arduino-logo-1.png?v=1709539058&width=330 330w,//circuit.rocks/cdn/shop/collections/arduino-logo-1.png?v=1709539058&width=535 535w,//circuit.rocks/cdn/shop/collections/arduino-logo-1.png?v=1709539058&width=750 750w,//circuit.rocks/cdn/shop/collections/arduino-logo-1.png?v=1709539058&width=1000 1000w,//circuit.rocks/cdn/shop/collections/arduino-logo-1.png?v=1709539058 1279w " src="//circuit.rocks/cdn/shop/collections/arduino-logo-1.png?v=1709539058&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="1280" width="1279" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/arduino" class="full-unstyled-link" >Arduino </a> </h3><p class="card__caption">Looking for Arduino in the Philippines? We got it here at Circuitrocks...<span class="icon-wrap"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </p></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/arduino" class="full-unstyled-link" >Arduino<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li><li id="Slide-template--19532350193953__collection_list_9NaFUL-4" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 66.66666666666666%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 66.66666666666666%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965&width=165 165w,//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965&width=330 330w,//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965&width=535 535w,//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965&width=750 750w,//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965&width=1000 1000w,//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965&width=1500 1500w,//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965&width=3000 3000w,//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965 3000w " src="//circuit.rocks/cdn/shop/collections/Raspberry_Pi-Logo.wine.png?v=1709600965&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="2000" width="3000" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/raspberry-pi" class="full-unstyled-link" >Raspberry Pi </a> </h3><p class="card__caption">Thanks to the Raspberry Pi Foundation, they created this credit card-sized computer...<span class="icon-wrap"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </p></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/raspberry-pi" class="full-unstyled-link" >Raspberry Pi<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li><li id="Slide-template--19532350193953__collection_list_9NaFUL-5" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 100.0%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/images_1.png?v=1709601788&width=165 165w,//circuit.rocks/cdn/shop/collections/images_1.png?v=1709601788 225w " src="//circuit.rocks/cdn/shop/collections/images_1.png?v=1709601788&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="225" width="225" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/pololu" class="full-unstyled-link" >Pololu </a> </h3><p class="card__caption">Looking for Pololu in the Philippines? We got it here at Circuitrocks...<span class="icon-wrap"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </p></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/pololu" class="full-unstyled-link" >Pololu<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li><li id="Slide-template--19532350193953__collection_list_9NaFUL-6" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 62.5%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 62.5%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/SF-Flame-1C-01.jpg?v=1709624196&width=165 165w,//circuit.rocks/cdn/shop/collections/SF-Flame-1C-01.jpg?v=1709624196&width=330 330w,//circuit.rocks/cdn/shop/collections/SF-Flame-1C-01.jpg?v=1709624196&width=535 535w,//circuit.rocks/cdn/shop/collections/SF-Flame-1C-01.jpg?v=1709624196&width=750 750w,//circuit.rocks/cdn/shop/collections/SF-Flame-1C-01.jpg?v=1709624196&width=1000 1000w,//circuit.rocks/cdn/shop/collections/SF-Flame-1C-01.jpg?v=1709624196&width=1500 1500w,//circuit.rocks/cdn/shop/collections/SF-Flame-1C-01.jpg?v=1709624196 2400w " src="//circuit.rocks/cdn/shop/collections/SF-Flame-1C-01.jpg?v=1709624196&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="1500" width="2400" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/sparkfun" class="full-unstyled-link" >Sparkfun<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/sparkfun" class="full-unstyled-link" >Sparkfun<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li><li id="Slide-template--19532350193953__collection_list_9NaFUL-7" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 100.0%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/download_4.png?v=1709624236&width=165 165w,//circuit.rocks/cdn/shop/collections/download_4.png?v=1709624236 225w " src="//circuit.rocks/cdn/shop/collections/download_4.png?v=1709624236&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="225" width="225" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/atlas-scientific" class="full-unstyled-link" >Atlas Scientific </a> </h3><p class="card__caption">Looking for Atlas Scientific in the Philippines? We got it here at...<span class="icon-wrap"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </p></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/atlas-scientific" class="full-unstyled-link" >Atlas Scientific<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li><li id="Slide-template--19532350193953__collection_list_9NaFUL-8" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 100.0%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/36142105.png?v=1709624365&width=165 165w,//circuit.rocks/cdn/shop/collections/36142105.png?v=1709624365&width=330 330w,//circuit.rocks/cdn/shop/collections/36142105.png?v=1709624365 364w " src="//circuit.rocks/cdn/shop/collections/36142105.png?v=1709624365&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="364" width="364" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/waveshare" class="full-unstyled-link" >Waveshare </a> </h3><p class="card__caption">Looking for Waveshare in the Philippines? We got it here at Circuitrocks...<span class="icon-wrap"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </p></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/waveshare" class="full-unstyled-link" >Waveshare<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li><li id="Slide-template--19532350193953__collection_list_9NaFUL-9" class="collection-list__item grid__item" > <div class="card-wrapper animate-arrow collection-card-wrapper"> <div class=" card card--standard card--media " style="--ratio-percent: 100.0%;" > <div class="card__inner color-background-1 gradient ratio" style="--ratio-percent: 100.0%;" ><div class="card__media"> <div class="media media--transparent media--hover-effect"> <img srcset="//circuit.rocks/cdn/shop/collections/download_5.png?v=1709624682&width=165 165w,//circuit.rocks/cdn/shop/collections/download_5.png?v=1709624682 225w " src="//circuit.rocks/cdn/shop/collections/download_5.png?v=1709624682&width=1500" sizes=" (min-width: 1400px) 433px, (min-width: 750px) calc((100vw - 10rem) / 2), calc(100vw - 3rem) " alt="" height="225" width="225" loading="lazy" class="motion-reduce" > </div> </div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/ifixit" class="full-unstyled-link" >Ifixit </a> </h3><p class="card__caption">Tools from ifixit<span class="icon-wrap"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </p></div> </div></div><div class="card__content"> <div class="card__information"> <h3 class="card__heading"> <a href="/collections/ifixit" class="full-unstyled-link" >Ifixit<span class="icon-wrap"><svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </span> </a> </h3></div> </div></div> </div> </li></ul></slider-component></div> </div> </section><section id="shopify-section-template--19532350193953__1710836548e87284e4" class="shopify-section section"><div class="page-width"><div id="shopify-block-AVjYyS1pjRXhNdnR4U__vistonwp_wordpress_feed_wp_feed_zGceAF" class="shopify-block shopify-app-block"> <div id="wp-feed-app" data-url="https://learn.circuit.rocks" data-num_posts_lg="4" data-num_posts_md="4" data-num_posts_sm="1" class="wp-feed-app_section" > <div class="wp-feed-app_heading-wrapper" > <h2 class="wp-feed-app_heading h1"> Learn </h2> </div> <div id="wp-feed-app_feed" class="wp-feed-app_feed"> </div> </div> <template id="wp-feed-app_article"> <article class="wp-feed-app_article"> <figure> <a href="" target="_blank" class="wp-feed-app_article__image-link"> <img src="" loading="lazy" alt="" height="200" width="200" > </a> </figure> <div> <h3 class="wp-feed-app_article__title"> <a href="" about="_blank" class="wp-feed-app_article__title-link"> </a> </h3> </div> </article> </template> <!-- BEGIN app snippet: vite-tag --> <script src="https://cdn.shopify.com/extensions/a7e84608-3def-43bc-84d7-6dd9f3ef6644/eezy-wordpress-feed-3/assets/index-D3Yo3ywx.js" type="module" crossorigin="anonymous"></script> <link href="//cdn.shopify.com/extensions/a7e84608-3def-43bc-84d7-6dd9f3ef6644/eezy-wordpress-feed-3/assets/index-DJyrL8j9.css" rel="stylesheet" type="text/css" media="all" /> <!-- END app snippet --> <style data-shopify> .wp-feed-app_feed { gap: 41px; } .wp-feed-app_article__description { -webkit-line-clamp: 4; } .wp-feed-app_article { grid-column: span calc(12 / 2) / span calc(12 / 2); } .wp-feed-app_article:nth-child(n+2) { display: none; } @media screen and (min-width: 600px) { .wp-feed-app_article { grid-column: span calc(12 / 2) / span calc(12 / 2); } .wp-feed-app_article:nth-child(-n+5) { display: block; } .wp-feed-app_article:nth-child(n+5) { display: none; } } @media screen and (min-width: 900px) { .wp-feed-app_article { grid-column: span calc(12 / 4) / span calc(12 / 4); } .wp-feed-app_article:nth-child(-n+5) { display: block; } .wp-feed-app_article:nth-child(n+5) { display: none; } } </style> </div> </div> </section> </main> <!-- BEGIN sections: footer-group --> <div id="shopify-section-sections--19532350652705__footer" class="shopify-section shopify-section-group-footer-group"> <link href="//circuit.rocks/cdn/shop/t/1/assets/section-footer.css?v=125160298726032154631687423813" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-newsletter.css?v=4727253280200485261687423793" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-list-menu.css?v=151968516119678728991687423788" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-list-payment.css?v=69253961410771838501687423789" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-list-social.css?v=52211663153726659061687423789" rel="stylesheet" type="text/css" media="all" /> <link href="//circuit.rocks/cdn/shop/t/1/assets/component-localization-form.css?v=14162097032368378391687423790" rel="stylesheet" type="text/css" media="all" /> <style data-shopify>.footer { margin-top: 27px; } .section-sections--19532350652705__footer-padding { padding-top: 0px; padding-bottom: 0px; } @media screen and (min-width: 750px) { .footer { margin-top: 36px; } .section-sections--19532350652705__footer-padding { padding-top: 0px; padding-bottom: 0px; } }</style><footer class="footer color-inverse gradient section-sections--19532350652705__footer-padding"><div class="footer__content-top page-width"><div class="footer__blocks-wrapper grid grid--1-col grid--2-col grid--4-col-tablet " ><div class="footer-block grid__item footer-block--menu" ><ul class="footer-block__details-content list-unstyled"><li> <a href="/pages/about-us" class="link link--text list-menu__item list-menu__item--link" > About Us </a> </li><li> <a href="/policies/shipping-policy" class="link link--text list-menu__item list-menu__item--link" > Delivery and Shipping </a> </li><li> <a href="/policies/privacy-policy" class="link link--text list-menu__item list-menu__item--link" > Privacy Policy </a> </li><li> <a href="/pages/how-to-order" class="link link--text list-menu__item list-menu__item--link" > How To Order </a> </li><li> <a href="/policies/terms-of-service" class="link link--text list-menu__item list-menu__item--link" > Terms and Conditions </a> </li><li> <a href="/pages/contact" class="link link--text list-menu__item list-menu__item--link" > Contact Us </a> </li><li> <a href="/policies/refund-policy" class="link link--text list-menu__item list-menu__item--link" > Returns </a> </li><li> <a href="/pages/order-tracking" class="link link--text list-menu__item list-menu__item--link" > Order Tracking </a> </li></ul></div><div class="footer-block grid__item" ><div class="footer-block__brand-info"><div class="rte"><ul><li>09984692148 - Smart</li><li>09055753988 - Globe</li><li>09626080440 - Smart</li><li>09543706450 - Globe</li></ul></div></div></div><div class="footer-block grid__item" ><div class="footer-block__details-content rte"> </div></div><div class="footer-block grid__item" ><div class="footer-block__details-content rte"> </div></div></div><div class="footer-block--newsletter" ><ul class="footer__list-social list-unstyled list-social"><li class="list-social__item"> <a href="https://www.facebook.com/circuitrocksph" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-facebook" viewBox="0 0 18 18"> <path fill="currentColor" d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z"> </svg> <span class="visually-hidden">Facebook</span> </a> </li><li class="list-social__item"> <a href="https://www.instagram.com/circuitrocks/" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 18 18"> <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/> <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z"> </svg> <span class="visually-hidden">Instagram</span> </a> </li><li class="list-social__item"> <a href="https://www.youtube.com/channel/UCdO40pAsG2I2ROAuBT-2GPQ" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-youtube" viewBox="0 0 100 70"> <path d="M98 11c2 7.7 2 24 2 24s0 16.3-2 24a12.5 12.5 0 01-9 9c-7.7 2-39 2-39 2s-31.3 0-39-2a12.5 12.5 0 01-9-9c-2-7.7-2-24-2-24s0-16.3 2-24c1.2-4.4 4.6-7.8 9-9 7.7-2 39-2 39-2s31.3 0 39 2c4.4 1.2 7.8 4.6 9 9zM40 50l26-15-26-15v30z" fill="currentColor"> </svg> <span class="visually-hidden">YouTube</span> </a> </li><li class="list-social__item"> <a href="https://www.tiktok.com/@circuitrocks" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-tiktok" width="16" height="18" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M8.02 0H11s-.17 3.82 4.13 4.1v2.95s-2.3.14-4.13-1.26l.03 6.1a5.52 5.52 0 11-5.51-5.52h.77V9.4a2.5 2.5 0 101.76 2.4L8.02 0z" fill="currentColor"> </svg> <span class="visually-hidden">TikTok</span> </a> </li><li class="list-social__item"> <a href="https://twitter.com/circuitrocks" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-twitter" viewBox="0 0 18 15"> <path fill="currentColor" d="M17.64 2.6a7.33 7.33 0 01-1.75 1.82c0 .05 0 .13.02.23l.02.23a9.97 9.97 0 01-1.69 5.54c-.57.85-1.24 1.62-2.02 2.28a9.09 9.09 0 01-2.82 1.6 10.23 10.23 0 01-8.9-.98c.34.02.61.04.83.04 1.64 0 3.1-.5 4.38-1.5a3.6 3.6 0 01-3.3-2.45A2.91 2.91 0 004 9.35a3.47 3.47 0 01-2.02-1.21 3.37 3.37 0 01-.8-2.22v-.03c.46.24.98.37 1.58.4a3.45 3.45 0 01-1.54-2.9c0-.61.14-1.2.45-1.79a9.68 9.68 0 003.2 2.6 10 10 0 004.08 1.07 3 3 0 01-.13-.8c0-.97.34-1.8 1.03-2.48A3.45 3.45 0 0112.4.96a3.49 3.49 0 012.54 1.1c.8-.15 1.54-.44 2.23-.85a3.4 3.4 0 01-1.54 1.94c.74-.1 1.4-.28 2.01-.54z"> </svg> <span class="visually-hidden">Twitter</span> </a> </li></ul></div> </div><div class="footer__content-bottom" > <div class="footer__content-bottom-wrapper page-width"> <div class="footer__column footer__localization isolate"></div> <div class="footer__column footer__column--info"></div> </div> <div class="footer__content-bottom-wrapper page-width"> <div class="footer__copyright caption"> <small class="copyright__content" >© 2025, <a href="/" title="">circuitrocks</a></small> <!-- <small class="copyright__content"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a></small> --></div> </div> </div> <div id="target-container"></div> </footer><script src="//circuit.rocks/cdn/shop/t/1/assets/localization-form.js?v=98683197766447567971687423801" defer="defer"></script> </div> <!-- END sections: footer-group --> <ul hidden> <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> <li id="a11y-new-window-message">Opens in a new window.</li> </ul> <script> window.shopUrl = 'https://circuit.rocks'; window.routes = { cart_add_url: '/cart/add', cart_change_url: '/cart/change', cart_update_url: '/cart/update', cart_url: '/cart', predictive_search_url: '/search/suggest', }; window.cartStrings = { error: `There was an error while updating your cart. Please try again.`, quantityError: `You can only add [quantity] of this item to your cart.`, }; window.variantStrings = { addToCart: `Add to cart`, soldOut: `Sold out`, unavailable: `Unavailable`, unavailable_with_option: `[value] - Unavailable`, }; window.accessibilityStrings = { imageAvailable: `Image [index] is now available in gallery view`, shareSuccess: `Link copied to clipboard`, pauseSlideshow: `Pause slideshow`, playSlideshow: `Play slideshow`, }; </script><script src="//circuit.rocks/cdn/shop/t/1/assets/predictive-search.js?v=162273246065392412141687423805" defer="defer"></script><script type="application/ld+json">{ "@context": "https://schema.org/", "@type": "Product", "name": "Circuit Rocks", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "5", "reviewCount": "31357" }, "review": { "@type": "Review", "reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" }, "author": { "@type": "Person", "name": "Circuit Rocks" } } }</script> <div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> <div style="position: fixed; bottom: 0; right: 0"></div> <script> console.info("bitlogin extension version: v2.1.0"); const googleScript = document.createElement("script"); googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); document.head.append(googleScript); const baseUrl = "https://api.bitbybit.studio"; const apiUrl = `${baseUrl}/bitlogin/api`; const appearance = {"style":"square","hasShadow":false,"colorScheme":"match","backgroundColor":"#FFFFFF","outlineColor":"#000000","textColor":"#000000","position":"top","hideDivider":false,"size":"small","format":"contentFlex","language":"en","buttonText":"Continue with","dividerText":"OR","redirectLink":"\/account","googleOneTap":false,"googleOneTapBanner":true,"captureAdditionalData":false,"domain":"58545f.myshopify.com","buttonList":{"google":"Continue with Google","facebook":"Continue with Facebook","apple":"Continue with Apple","whatsapp":"Continue with WhatsApp","microsoft":"Continue with Microsoft","twitter":"Continue with Twitter","amazon":"Continue with Amazon"}}; const config = [{"domain":"58545f.myshopify.com","provider":"APPLE","enabledMobile":true,"enabledWeb":true,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false},{"domain":"58545f.myshopify.com","provider":"FACEBOOK","enabledMobile":true,"enabledWeb":true,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false},{"domain":"58545f.myshopify.com","provider":"GOOGLE","enabledMobile":true,"enabledWeb":true,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false},{"domain":"58545f.myshopify.com","provider":"WHATSAPP","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false}]; const redirectUrl = appearance.redirectLink; const popupAppearance = null; const voucherAppearance = null; let locationCacheSet = false; let errorLocation = false; let oneTapSet = false; let bitloginCache = { appearance: appearance, config: config, popupAppearance: popupAppearance, voucherAppearance: voucherAppearance }; let isInitializing = false; const queue = []; (async () => { let host = window.location.host; if (host === "admin.shopify.com") { host = `${window.location.pathname.split("/")[2]}.myshopify.com`; } const urlSearchParams = new URLSearchParams(window.location.search); const checkoutUrl = urlSearchParams.get("checkout_url"); async function init({ inputRef, index }) { if (isInitializing) { queue.push(() => init({ inputRef, index })); return; } isInitializing = true; try { let bitLoginSectionRoot = document.querySelector( `.bitlogin-root[data-index="${index}"]` ); const formRef = inputRef?.closest( "form:not([action='/account/recover'])" ); if (formRef && !bitLoginSectionRoot) { await getLocation(); bitLoginSectionRoot = document.createElement(`div`); bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); bitLoginSectionRoot.setAttribute("data-index", `${index}`); updateAppearance({ formRef, rootRef: bitLoginSectionRoot, host, }); } } catch (err) { console.error(`error while initiating bitlogin extensions`, err); } finally { // Release the lock isInitializing = false; // Check if there are pending items in the queue if (queue.length > 0) { // Process the next function in the queue const nextFunction = queue.shift(); nextFunction(); } } } function initAll() { return new Promise((resolve, reject) => { setTimeout(async () => { const inputRefs = document.querySelectorAll( 'input[name="customer[email]"]' ); for (let i = 0; i < inputRefs.length; i++) { const currentInputRef = inputRefs[i]; const isVisible = isElementVisible(currentInputRef); if (isVisible) { await init({ inputRef: currentInputRef, index: i }); } } resolve("ok"); }, 100); }); } const observer = new MutationObserver((mutationsList) => { for (let mutation of mutationsList) { initAll(); } }); observer.observe(document.body, { childList: true, subtree: true, attributes: true, }); initAll(); if (appearance.googleOneTap) { setupOneTap({ host, checkoutUrl }); } })(); window.addEventListener("load", () => { window.addEventListener("message", (event) => { const receivedData = event.data; const urlSearchParams = new URLSearchParams(window.location.search); const checkoutUrl = urlSearchParams.get("checkout_url"); if (receivedData.type === "authorize") { post( JSON.parse( JSON.stringify({ "customer[email]": receivedData.email, "customer[password]": receivedData.password, form_type: "customer_login", utf8: "✓", return_url: checkoutUrl ? checkoutUrl : redirectUrl, }) ) ); } else if (receivedData.type === "rejected") { if (receivedData.reason === "customer_account_disabled") { showAlert( "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." ); } else if (receivedData.reason === "customer_entry_created_email_not_set") { showAlert( "A new account was created but requires an email address. Please update your account with a valid email address to continue." ); } else if (receivedData.reason === "customer_exist_email_not_set") { showAlert( "Your existing account is missing an email address. Please contact support to update your account with a valid email address." ); } } if (receivedData.type === "customer_authenticated") { // Dispatch a custom event that merchants can listen for to implement their custom logic const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { detail: { provider: receivedData.provider, customer: receivedData.customer, shopifyCustomerCreated: receivedData.shopifyCustomerCreated } }); // Dispatch the event on the window object so merchants can listen for it window.dispatchEvent(customerAuthEvent); } }); initPopupLogin(); initPopupVoucher(); }); function updateAppearance({ formRef, rootRef, host }) { if (!formRef) return; const data = bitloginCache.appearance || { style: "square", hasShadow: false, colorScheme: "match", backgroundColor: "#FFFFFF", outlineColor: "#000000", textColor: "#000000", position: "bottom", hideDivider: "false", dividerText: "OR", size: "small", format: "contentFlex", language: "en", buttonText: "Continue with", redirectLink: "/account", googleOneTap: true, googleOneTapBanner: true, buttonList: { google: "Continue with Google", facebook: "Continue with Facebook", apple: "Continue with Apple", whatsapp: "Continue with WhatsApp", microsoft: "Continue with Microsoft", twitter: "Continue with X", amazon: "Continue with Amazon", instagram: "Continue with Instagram", magic_link: "Continue with Magic Link", mobile_app: "Continue with Mobile App", }, }; const hasGoogle = bitloginCache.config.some( (config) => config.provider === "GOOGLE" && config.enabledWeb ); const hasFacebook = bitloginCache.config.some( (config) => config.provider === "FACEBOOK" && config.enabledWeb ); const hasApple = bitloginCache.config.some( (config) => config.provider === "APPLE" && config.enabledWeb ); const hasWhatsapp = bitloginCache.config.some( (config) => config.provider === "WHATSAPP" && config.enabledWeb ); const hasMicrosoft = bitloginCache.config.some( (config) => config.provider === "MICROSOFT" && config.enabledWeb ); const hasTwitter = bitloginCache.config.some( (config) => config.provider === "TWITTER" && config.enabledWeb ); const hasAmazon = bitloginCache.config.some( (config) => config.provider === "AMAZON" && config.enabledWeb ); const hasInstagram = bitloginCache.config.some( (config) => config.provider === "INSTAGRAM" && config.enabledWeb ); const hasMagicLink = bitloginCache.config.some( (config) => config.provider === "MAGIC_LINK" && config.enabledWeb ); const hasMobileApp = bitloginCache.config.some( (config) => config.provider === "MOBILE_APP" && config.enabledWeb ); if (hasGoogle) { rootRef.innerHTML += googleLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasFacebook) { rootRef.innerHTML += facebookLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasApple) { rootRef.innerHTML += appleLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasWhatsapp) { rootRef.innerHTML += whatsappLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasMicrosoft) { rootRef.innerHTML += microsoftLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasTwitter) { rootRef.innerHTML += twitterLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasAmazon) { rootRef.innerHTML += amazonLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasInstagram) { rootRef.innerHTML += instagramLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasMagicLink) { rootRef.innerHTML += magicLinkLoginHtml( data.colorScheme || "match", data.textColor ); } if (hasMobileApp) { rootRef.innerHTML += mobileAppLoginHtml( data.colorScheme || "match", data.textColor ); } let divider; if (!data.hideDivider) { divider = document.createElement("div"); const dividerStyle = "text-align:center;margin-block:16px"; divider.setAttribute("style", dividerStyle); divider.innerHTML = data.dividerText; } if (data.position === "bottom") { if (divider) { formRef.appendChild(divider); } formRef.appendChild(rootRef); } else if (data.position === "top") { if (divider) { formRef.prepend(divider); } formRef.prepend(rootRef); } const googleLoginRef = formRef.querySelector("#google-login"); const facebookLoginRef = formRef.querySelector("#facebook-login"); const appleLoginRef = formRef.querySelector("#apple-login"); const whatsappLoginRef = formRef.querySelector("#whatsapp-login"); const microsoftLoginRef = formRef.querySelector("#microsoft-login"); const twitterLoginRef = formRef.querySelector("#twitter-login"); const amazonLoginRef = formRef.querySelector("#amazon-login"); const instagramLoginRef = formRef.querySelector("#instagram-login"); const magicLinkLoginRef = formRef.querySelector("#magic-link-login"); const mobileAppLoginRef = formRef.querySelector("#mobile-app-login"); if (data.format !== "wrapperFlexContainerOnlyLogo") { if (googleLoginRef) { googleLoginRef.innerHTML += `<p>${data.buttonList.google}</p>`; } if (facebookLoginRef) { facebookLoginRef.innerHTML += `<p>${data.buttonList.facebook}</p>`; } if (appleLoginRef) { appleLoginRef.innerHTML += `<p>${data.buttonList.apple}</p>`; } if (whatsappLoginRef) { whatsappLoginRef.innerHTML += `<p>${data.buttonList.whatsapp}</p>`; } if (microsoftLoginRef) { microsoftLoginRef.innerHTML += `<p>${data.buttonList.microsoft}</p>`; } if (twitterLoginRef) { twitterLoginRef.innerHTML += `<p>${data.buttonList.twitter.replace('Twitter', 'X')}</p>`; } if (amazonLoginRef) { amazonLoginRef.innerHTML += `<p>${data.buttonList.amazon}</p>`; } if (instagramLoginRef) { instagramLoginRef.innerHTML += `<p>${data.buttonList.instagram}</p>`; } if (magicLinkLoginRef) { magicLinkLoginRef.innerHTML += `<p>${data.buttonList.magic_link}</p>`; } if (mobileAppLoginRef) { mobileAppLoginRef.innerHTML += `<p>${data.buttonList.mobile_app}</p>`; } } addListener({ googleButton: googleLoginRef, facebookButton: facebookLoginRef, appleButton: appleLoginRef, whatsappButton: whatsappLoginRef, microsoftButton: microsoftLoginRef, twitterButton: twitterLoginRef, amazonButton: amazonLoginRef, instagramButton: instagramLoginRef, magicLinkButton: magicLinkLoginRef, mobileAppButton: mobileAppLoginRef, host, }); if (googleLoginRef) { updateElementStyle({ data, dom: googleLoginRef, rootRef }); } if (facebookLoginRef) { updateElementStyle({ data, dom: facebookLoginRef, rootRef }); } if (appleLoginRef) { updateElementStyle({ data, dom: appleLoginRef, rootRef }); } if (whatsappLoginRef) { updateElementStyle({ data, dom: whatsappLoginRef, rootRef }); } if (microsoftLoginRef) { updateElementStyle({ data, dom: microsoftLoginRef, rootRef }); } if (twitterLoginRef) { updateElementStyle({ data, dom: twitterLoginRef, rootRef }); } if (amazonLoginRef) { updateElementStyle({ data, dom: amazonLoginRef, rootRef }); } if (instagramLoginRef) { updateElementStyle({ data, dom: instagramLoginRef, rootRef }); } if (magicLinkLoginRef) { updateElementStyle({ data, dom: magicLinkLoginRef, rootRef }); } if (mobileAppLoginRef) { updateElementStyle({ data, dom: mobileAppLoginRef, rootRef }); } } function updateElementStyle({ data, dom, rootRef }) { if (data.hasShadow) { const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; dom.style["box-shadow"] = shadowProperties; } const radiusProperties = data.style === "rounded" ? "8px" : data.style === "square" ? "0px" : data.style === "fullRounded" ? data.format === "wrapperFlexContainerOnlyLogo" ? "50%" : "50px" : undefined; dom.style["border-radius"] = radiusProperties; const sizeProperties = data.size === "medium" ? "12px" : data.size === "small" ? "8px" : data.size === "large" ? "16px" : "8px"; dom.style["padding-block"] = sizeProperties; if (data.format) { if ( data.format === "contentFlexReverse" || data.format === "contentFlexCenterReverse" ) { const flexDir = `row-reverse`; dom.style["flex-direction"] = flexDir; } if ( data.format === "contentFlexCenter" || data.format === "contentFlexCenterReverse" ) { const justifyContent = `center`; dom.style["justify-content"] = justifyContent; } else if ( data.format === "contentFlex" || data.format === "contentFlexReverse" ) { const googleLoginTextRef = dom.querySelector("p"); googleLoginTextRef.style["flex-grow"] = 1; googleLoginTextRef.style["text-align"] = "center"; } if (data.format === "wrapperFlexContainerOnlyLogo") { rootRef.style["flex-direction"] = "row"; rootRef.style["gap"] = "8px"; rootRef.style["display"] = "flex"; rootRef.style["flex-wrap"] = "wrap"; const sizeMapping = { small: "52px", medium: "62px", large: "72px", }; const size = sizeMapping[data.size] || "52px"; dom.style["margin"] = 0; dom.style["width"] = data.format === "wrapperFlexContainerOnlyLogo" ? size : "52px"; dom.style["height"] = data.format === "wrapperFlexContainerOnlyLogo" ? size : "52px"; dom.style["display"] = "flex"; dom.style["align-items"] = "center"; dom.style["justify-content"] = "center"; dom.querySelector("svg").style["flex"] = "none"; } } if (data.colorScheme === "black") { dom.classList.add("scheme-black"); } else if (data.colorScheme === "white") { dom.classList.add("scheme-white"); } else if (data.colorScheme === "custom") { dom.style["background-color"] = data.backgroundColor; dom.style["color"] = data.textColor; dom.style["border-color"] = data.outlineColor; const darkenColor = (color, percentage) => { const value = parseInt(color.slice(1), 16); const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); const b = Math.max(0, (value & 0xff) - (0xff * percentage)); return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; }; dom.addEventListener("mouseover", () => { dom.style["background-color"] = darkenColor(data.backgroundColor, 0.2); }); dom.addEventListener("mouseout", () => { dom.style["background-color"] = data.backgroundColor; }); } else if (data.colorScheme === "match") { dom.classList.add("scheme-match"); } else if (data.colorScheme === "matchOutline") { dom.classList.add("scheme-match-outline"); } } function addListener({ googleButton, facebookButton, appleButton, whatsappButton, microsoftButton, twitterButton, amazonButton, instagramButton, magicLinkButton, mobileAppButton, host, }) { googleButton?.addEventListener("click", () => onClickSocialLogin({ provider: "google", host }) ); facebookButton?.addEventListener("click", () => onClickSocialLogin({ provider: "facebook", host }) ); appleButton?.addEventListener("click", () => onClickSocialLogin({ provider: "apple", host }) ); whatsappButton?.addEventListener("click", () => onClickSocialLogin({ provider: "whatsapp", host }) ); microsoftButton?.addEventListener("click", () => onClickSocialLogin({ provider: "microsoft", host }) ); twitterButton?.addEventListener("click", () => onClickSocialLogin({ provider: "twitter", host }) ); amazonButton?.addEventListener("click", () => onClickSocialLogin({ provider: "amazon", host }) ); instagramButton?.addEventListener("click", () => onClickSocialLogin({ provider: "instagram", host }) ); magicLinkButton?.addEventListener("click", () => onClickSocialLogin({ provider: "magic_link", host }) ); mobileAppButton?.addEventListener("click", () => onClickSocialLogin({ provider: "mobile_app", host }) ); } async function onClickSocialLogin({ provider, host }) { const rand = Math.random().toString(); const locationQueryString = bitloginCache.location ? `&${objectToQueryString(bitloginCache.location)}` : ""; const width = 800; const height = 600; const left = (window.screen.width / 2) - (width / 2); const top = (window.screen.height / 2) - (height / 2) - 50; if(provider === 'whatsapp') { window.open( `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, "mywindow", `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` ); } else { window.open( `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, "mywindow", `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` ); } } function objectToQueryString(obj) { return Object.keys(obj) .map((key) => { return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); }) .join("&"); } async function getLocation() { if (locationCacheSet) return; try { const response = await fetch("https://ipapi.co/json/"); if (!response.ok) { console.error(`error retrieving location...`, response.status); errorLocation = true; } else { const data = await response.json(); const { city, region, country_name, country_code } = data; const formattedLocationData = { city, region, country_name, country_code, }; bitloginCache.location = formattedLocationData; locationCacheSet = true; errorLocation = false; } } catch (err) { console.error(`error fetching location`, err); errorLocation = true; } } function post(params) { // The rest of this code assumes you are not using a library. // It can be made less verbose if you use one. const form = document.createElement("form"); form.method = "post"; form.action = `/account/login`; form.acceptCharset = "UTF-8"; form.setAttribute("data-login-with-shop-sign-in", "true"); form.setAttribute("novalidate", "novalidate"); for (const key in params) { if (params.hasOwnProperty(key)) { const hiddenField = document.createElement("input"); hiddenField.type = "hidden"; hiddenField.name = key; hiddenField.value = params[key]; form.appendChild(hiddenField); } } document.body.appendChild(form); form.submit(); } async function setupOneTap({ host, checkoutUrl }) { if (oneTapSet) return; const oneTapClientId = bitloginCache.config.find( (config) => config.provider === "GOOGLE" )?.clientId; const isLogin = ``; if (bitloginCache.appearance.googleOneTap && oneTapClientId && isLogin !== 'CustomerDrop') { const googleOneTapButton = document.createElement("div"); googleOneTapButton.setAttribute("id", "g_id_onload"); googleOneTapButton.setAttribute("data-client_id", oneTapClientId); googleOneTapButton.setAttribute("data-context", "signin"); googleOneTapButton.setAttribute( "data-callback", "handleGoogleOneTapResponse" ); googleOneTapButton.setAttribute("data-itp_support", "true"); const googleOneTapScript = document.createElement("script"); googleOneTapScript.innerHTML += ` function handleGoogleOneTapResponse(response) { if (response.credential) { const idToken = response.credential; fetch('${baseUrl}/bitlogin/api/login/google-one-tap', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) }).then(response => { response.json().then((data) => { post( JSON.parse( JSON.stringify({ "customer[email]": data.email, "customer[password]": data.password, form_type: "customer_login", utf8: "✓", return_url: redirectUrl, }) ) ); }); }).catch(error => { console.error('Error occurred:', error); }); } else { console.error('No credential available'); } } `; document.body.append(googleOneTapButton); document.body.append(googleOneTapScript); } oneTapSet = true; } const googleLoginHtml = ( theme, customColor ) => `<button id='google-login' type = 'button'> ${ theme === "match" || theme === "matchOutline" || theme === "custom" ? `<svg xmlns='http://www.w3.org/2000/svg' xmlns:v='https://vecta.io/nano' width='24' height='24' viewBox='0 0 186.69 190.5' > <g transform="translate(1184.583 765.171)"><path clip-path="none" mask="none" d="M-1089.333-687.239v36.888h51.262c-2.251 11.863-9.006 21.908-19.137 28.662l30.913 23.986c18.011-16.625 28.402-41.044 28.402-70.052 0-6.754-.606-13.249-1.732-19.483z" fill="${ theme === "custom" ? customColor : "#4285f4" }"/><path clip-path="none" mask="none" d="M-1142.714-651.791l-6.972 5.337-24.679 19.223h0c15.673 31.086 47.796 52.561 85.03 52.561 25.717 0 47.278-8.486 63.038-23.033l-30.913-23.986c-8.486 5.715-19.31 9.179-32.125 9.179-24.765 0-45.806-16.712-53.34-39.226z" fill="${ theme === "custom" ? customColor : "#34a853" }"/><path clip-path="none" mask="none" d="M-1174.365-712.61c-6.494 12.815-10.217 27.276-10.217 42.689s3.723 29.874 10.217 42.689c0 .086 31.693-24.592 31.693-24.592-1.905-5.715-3.031-11.776-3.031-18.098s1.126-12.383 3.031-18.098z" fill="${ theme === "custom" ? customColor : "#fbbc05" }"/><path d="M-1089.333-727.244c14.028 0 26.497 4.849 36.455 14.201l27.276-27.276c-16.539-15.413-38.013-24.852-63.731-24.852-37.234 0-69.359 21.388-85.032 52.561l31.692 24.592c7.533-22.514 28.575-39.226 53.34-39.226z" fill="${ theme === "custom" ? customColor : "#ea4335" }" clip-path="none" mask="none"/></g> </svg>` : `<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25" fill="none"> <path d="M24.1906 12.7758C24.1906 11.96 24.1244 11.1399 23.9833 10.3374H12.6646V14.9584H19.1463C18.8773 16.4488 18.0131 17.7672 16.7476 18.6049V21.6032H20.6146C22.8854 19.5132 24.1906 16.4267 24.1906 12.7758Z" fill="${ theme !== "black" ? "black" : "white" }"/> <path d="M12.6647 24.5001C15.9011 24.5001 18.6305 23.4374 20.619 21.6031L16.7521 18.6048C15.6762 19.3368 14.2873 19.7513 12.6691 19.7513C9.53845 19.7513 6.88403 17.6391 5.93161 14.7996H1.94116V17.8904C3.97828 21.9428 8.12746 24.5001 12.6647 24.5001Z" fill="${ theme !== "black" ? "black" : "white" }"/> <path d="M5.92709 14.7995C5.42442 13.3091 5.42442 11.6953 5.92709 10.205V7.11401H1.94105C0.23905 10.5048 0.23905 14.4996 1.94105 17.8903L5.92709 14.7995Z" fill="${ theme !== "black" ? "black" : "white" }"/> <path d="M12.6647 5.24893C14.3755 5.22248 16.029 5.86623 17.268 7.04794L20.694 3.62188C18.5247 1.58477 15.6454 0.464802 12.6647 0.500076C8.12745 0.500076 3.97828 3.05749 1.94116 7.11408L5.9272 10.205C6.8752 7.36099 9.53403 5.24893 12.6647 5.24893Z" fill="${ theme !== "black" ? "black" : "white" }"/> </svg>` } </button>`; const appleLoginHtml = ( theme, customColor ) => `<button id='apple-login' type='button'><svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15.4146 22.08C14.263 23.2897 12.9925 23.1013 11.7815 22.5307C10.494 21.9489 9.31698 21.9121 7.95724 22.5307C6.26395 23.322 5.36524 23.092 4.34544 22.08C-1.4122 15.663 -0.562362 5.88801 5.98138 5.52001C7.56844 5.61201 8.6796 6.46991 9.61442 6.54121C11.0039 6.23531 12.3339 5.35901 13.8211 5.47401C15.6078 5.63041 16.9443 6.39401 17.8366 7.76711C14.161 10.1591 15.0321 15.4031 18.4082 16.8751C17.7324 18.7956 16.8656 20.6931 15.4125 22.0961L15.4146 22.08ZM9.48695 5.45101C9.31486 2.59901 11.4501 0.25301 13.9061 0.0230103C14.2439 3.31201 11.1441 5.77301 9.48695 5.45101Z" fill="${ theme === "custom" ? customColor : theme === "match" || theme === "black" ? "white" : "black" }"/> </svg> </button>`; const facebookLoginHtml = ( theme, customColor ) => `<button id='facebook-login' type = 'button'> ${ theme === "match" || theme === "matchOutline" || theme === "custom" ? `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="25" viewBox="0 0 24 25" fill="none"> <path fill-rule="evenodd" clip-rule="evenodd" d="M24 12.5C24 5.8731 18.6268 0.5 12 0.5C5.3731 0.5 0 5.8731 0 12.5C0 18.489 4.38762 23.4537 10.1252 24.355V15.9696H7.07748V12.5H10.1252V9.85562C10.1252 6.84842 11.9173 5.18622 14.6579 5.18622C15.9707 5.18622 17.3443 5.42077 17.3443 5.42077V8.37398H15.8307C14.3406 8.37398 13.8748 9.29875 13.8748 10.2488V12.4999H17.2025L16.671 15.9695H13.8747V24.3548C19.6123 23.4553 23.9998 18.4907 23.9998 12.4999L24 12.5Z" fill="${ theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" }"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M16.5934 16.2833L17.1251 12.8137H13.7973V10.5626C13.7973 9.61422 14.2614 8.68778 15.7532 8.68778H17.2669V5.73457C17.2669 5.73457 15.8933 5.5 14.5804 5.5C11.8399 5.5 10.0477 7.16057 10.0477 10.1694V12.8138H7V16.2834H10.0477V24.6688C10.6586 24.7648 11.2846 24.8138 11.9225 24.8138C12.5604 24.8138 13.1865 24.7631 13.7973 24.6688V16.2834H16.5936L16.5934 16.2833Z" fill="${ theme === "match" ? "#1778f2" : "transparent" }"/> </svg>` : `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="25" viewBox="0 0 24 25" fill="none"> <path fill-rule="evenodd" clip-rule="evenodd" d="M24 12.5C24 5.8731 18.6268 0.5 12 0.5C5.3731 0.5 0 5.8731 0 12.5C0 18.489 4.38762 23.4537 10.1252 24.355V15.9696H7.07748V12.5H10.1252V9.85562C10.1252 6.84842 11.9173 5.18622 14.6579 5.18622C15.9707 5.18622 17.3443 5.42077 17.3443 5.42077V8.37398H15.8307C14.3406 8.37398 13.8748 9.29875 13.8748 10.2488V12.4999H17.2025L16.671 15.9695H13.8747V24.3548C19.6123 23.4553 23.9998 18.4907 23.9998 12.4999L24 12.5Z" fill="${ theme === "black" ? "white" : "black" }"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M16.5934 16.2833L17.1251 12.8137H13.7973V10.5626C13.7973 9.61422 14.2614 8.68778 15.7532 8.68778H17.2669V5.73457C17.2669 5.73457 15.8933 5.5 14.5804 5.5C11.8399 5.5 10.0477 7.16057 10.0477 10.1694V12.8138H7V16.2834H10.0477V24.6688C10.6586 24.7648 11.2846 24.8138 11.9225 24.8138C12.5604 24.8138 13.1865 24.7631 13.7973 24.6688V16.2834H16.5936L16.5934 16.2833Z" fill="${ theme === "black" ? "black" : "white" }"/> </svg>` } </button>`; const whatsappLoginHtml = ( theme, customColor ) => `<button id='whatsapp-login' type='button'> <svg viewBox="0 0 24 24" fill="none" width="24" height="25" xmlns="http://www.w3.org/2000/svg" > <g id="SVGRepo_bgCarrier" stroke-width="0"></g> <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round" ></g> <g id="SVGRepo_iconCarrier"> <path fill-rule="evenodd" clip-rule="evenodd" d="M3.50002 12C3.50002 7.30558 7.3056 3.5 12 3.5C16.6944 3.5 20.5 7.30558 20.5 12C20.5 16.6944 16.6944 20.5 12 20.5C10.3278 20.5 8.77127 20.0182 7.45798 19.1861C7.21357 19.0313 6.91408 18.9899 6.63684 19.0726L3.75769 19.9319L4.84173 17.3953C4.96986 17.0955 4.94379 16.7521 4.77187 16.4751C3.9657 15.176 3.50002 13.6439 3.50002 12ZM12 1.5C6.20103 1.5 1.50002 6.20101 1.50002 12C1.50002 13.8381 1.97316 15.5683 2.80465 17.0727L1.08047 21.107C0.928048 21.4637 0.99561 21.8763 1.25382 22.1657C1.51203 22.4552 1.91432 22.5692 2.28599 22.4582L6.78541 21.1155C8.32245 21.9965 10.1037 22.5 12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5ZM14.2925 14.1824L12.9783 15.1081C12.3628 14.7575 11.6823 14.2681 10.9997 13.5855C10.2901 12.8759 9.76402 12.1433 9.37612 11.4713L10.2113 10.7624C10.5697 10.4582 10.6678 9.94533 10.447 9.53028L9.38284 7.53028C9.23954 7.26097 8.98116 7.0718 8.68115 7.01654C8.38113 6.96129 8.07231 7.046 7.84247 7.24659L7.52696 7.52195C6.76823 8.18414 6.3195 9.2723 6.69141 10.3741C7.07698 11.5163 7.89983 13.314 9.58552 14.9997C11.3991 16.8133 13.2413 17.5275 14.3186 17.8049C15.1866 18.0283 16.008 17.7288 16.5868 17.2572L17.1783 16.7752C17.4313 16.5691 17.5678 16.2524 17.544 15.9269C17.5201 15.6014 17.3389 15.308 17.0585 15.1409L15.3802 14.1409C15.0412 13.939 14.6152 13.9552 14.2925 14.1824Z" fill="${ theme === "match" || theme === "black" ? "#ffffff" : theme === "white" ? "#000000" : theme === "matchOutline" ? "#25d366" : customColor }" ></path> </g> </svg> </button>`; const microsoftLoginHtml = ( theme, customColor ) => `<button id='microsoft-login' type='button'> <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 48 48"> <path fill="${ theme === "match" || theme == "matchOutline" ? "#ff5722" : theme === "black" ? "#ffffff" : theme === "white" ? "#000000" : customColor }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> <path fill="${ theme === "match" || theme == "matchOutline" ? "#4caf50" : theme === "black" ? "#ffffff" : theme === "white" ? "#000000" : customColor }" d="M26 6H42V22H26z" transform="rotate(-180 34 14)"></path> <path fill="${ theme === "match" || theme == "matchOutline" ? "#ffc107" : theme === "black" ? "#ffffff" : theme === "white" ? "#000000" : customColor }" d="M26 26H42V42H26z" transform="rotate(-180 34 34)"></path> <path fill="${ theme === "match" || theme == "matchOutline" ? "#03a9f4" : theme === "black" ? "#ffffff" : theme === "white" ? "#000000" : customColor }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> </svg> </button>`; const twitterLoginHtml = ( theme, customColor ) => `<button id='twitter-login' type='button'> <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 48 48"> <polygon fill="${ theme === "match" || theme === "black" ? "#ffffff" : theme === "matchOutline" || theme === "white" ? "#000000" : customColor }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> <polygon fill="${ theme === "match" || theme === "black" ? "#000000" : theme === "matchOutline" || theme === "white" ? "#ffffff" : customColor }" fill-rule="evenodd" points="31.143,41 7.82,7 16.777,7 40.1,41" clip-rule="evenodd"></polygon> <path fill="${ theme === "match" || theme === "black" ? "#ffffff" : theme === "matchOutline" || theme === "white" ? "#000000" : customColor }" d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> </svg> </button>`; const amazonLoginHtml = (theme, customColor) => ` <button id='amazon-login' type = 'button'> <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="25" height="25" viewBox="0 0 50 50" > <path fill="${ theme === "black" ? "#ffffff" : theme === "matchOutline" ? "#FF9900" : theme === "white" || theme === "match" ? "#000000" : customColor }" d="M 25.3125 3 C 19.210938 3 12.492188 5.3125 11.09375 12.8125 C 10.894531 13.613281 11.5 13.992188 12 14.09375 L 18.1875 14.6875 C 18.789063 14.6875 19.207031 14.101563 19.40625 13.5 C 19.90625 10.898438 22.101563 9.59375 24.5 9.59375 C 25.800781 9.59375 27.292969 10.113281 28.09375 11.3125 C 28.992188 12.613281 28.8125 14.40625 28.8125 15.90625 L 28.8125 16.8125 C 25.113281 17.210938 20.3125 17.5 16.8125 19 C 12.8125 20.699219 10 24.207031 10 29.40625 C 10 36.007813 14.199219 39.3125 19.5 39.3125 C 24 39.3125 26.5 38.195313 30 34.59375 C 31.199219 36.292969 31.585938 37.105469 33.6875 38.90625 C 34.1875 39.207031 34.789063 39.085938 35.1875 38.6875 L 35.1875 38.8125 C 36.488281 37.710938 38.792969 35.601563 40.09375 34.5 C 40.59375 34.199219 40.492188 33.5 40.09375 33 C 38.894531 31.398438 37.6875 30.09375 37.6875 27.09375 L 37.6875 17.1875 C 37.6875 12.988281 38.007813 9.085938 34.90625 6.1875 C 32.40625 3.789063 28.414063 3 25.3125 3 Z M 27 22 L 28.6875 22 L 28.6875 23.40625 C 28.6875 25.804688 28.792969 27.894531 27.59375 30.09375 C 26.59375 31.894531 24.988281 33 23.1875 33 C 20.789063 33 19.3125 31.207031 19.3125 28.40625 C 19.3125 23.707031 23 22.300781 27 22 Z M 44.59375 36.59375 C 42.992188 36.59375 41.085938 37 39.6875 38 C 39.289063 38.300781 39.3125 38.6875 39.8125 38.6875 C 41.414063 38.488281 44.988281 38.007813 45.6875 38.90625 C 46.289063 39.707031 45.007813 43.085938 44.40625 44.6875 C 44.207031 45.1875 44.601563 45.300781 45 45 C 47.699219 42.699219 48.40625 38.007813 47.90625 37.40625 C 47.605469 36.90625 46.195313 36.59375 44.59375 36.59375 Z M 2.1875 37.5 C 1.886719 37.5 1.695313 38.011719 2.09375 38.3125 C 8.09375 43.710938 16.007813 47 24.90625 47 C 31.207031 47 38.492188 45.011719 43.59375 41.3125 C 44.394531 40.710938 43.707031 39.695313 42.90625 40.09375 C 37.207031 42.492188 31.101563 43.6875 25.5 43.6875 C 17.199219 43.6875 9.1875 41.386719 2.6875 37.6875 C 2.488281 37.488281 2.289063 37.5 2.1875 37.5 Z" ></path> </svg></button>`; const instagramLoginHtml = (theme, customColor) => ` <button id='instagram-login' type='button'> <svg width="25" height="25" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.64321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z" fill="url(#paint0_radial_378_3535)" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.64321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z" fill="url(#paint1_radial_378_3535)" /> <defs> <radialGradient id="paint0_radial_378_3535" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> </radialGradient> <radialGradient id="paint1_radial_378_3535" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> </radialGradient> </defs> </svg> </button>`; const magicLinkLoginHtml = (theme, customColor) => ` <button id='magic-link-login' type='button'> <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" > <path fill="${ theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor }" fillRule="evenodd" d="M10.975 14.51a1.05 1.05 0 000-1.485 2.95 2.95 0 010-4.172l3.536-3.535a2.95 2.95 0 114.172 4.172l-1.093 1.092a1.05 1.05 0 001.485 1.485l1.093-1.092a5.05 5.05 0 00-7.142-7.142L9.49 7.368a5.05 5.05 0 000 7.142c.41.41 1.075.41 1.485 0zm2.05-5.02a1.05 1.05 0 000 1.485 2.95 2.95 0 010 4.172l-3.5 3.5a2.95 2.95 0 11-4.171-4.172l1.025-1.025a1.05 1.05 0 00-1.485-1.485L3.87 12.99a5.05 5.05 0 007.142 7.142l3.5-3.5a5.05 5.05 0 000-7.142 1.05 1.05 0 00-1.485 0z" clipRule="evenodd" ></path> </svg> </button> `; const mobileAppLoginHtml = (theme, customColor) => ` <button id='mobile-app-login' type='button'> <svg width="20" height="24" viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M9.75 0.5H2.25C1.42275 0.5 0.75 1.17275 0.75 2V14C0.75 14.8273 1.42275 15.5 2.25 15.5H9.75C10.5773 15.5 11.25 14.8273 11.25 14V2C11.25 1.17275 10.5773 0.5 9.75 0.5ZM2.25 11.7493V2.75H9.75L9.7515 11.7493H2.25Z" fill=${ theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor } /> </svg> </button> `; const copyIcon = () => ` <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 14 17" class="cursor-pointer" color="#DDDDDD"> <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.4" d="M4 2.9v8.4c0 .371.158.727.44.99.28.263.662.41 1.06.41h6c.398 0 .78-.147 1.06-.41.282-.263.44-.619.44-.99V5.17c0-.187-.04-.372-.117-.544a1.4 1.4 0 00-.334-.458L10.062 1.9A1.558 1.558 0 009.014 1.5H5.5c-.398 0-.78.147-1.06.41-.282.263-.44.619-.44.99v0z"></path> <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.4" d="M10 12.7v1.4c0 .371-.158.727-.44.99-.28.262-.662.41-1.06.41h-6c-.398 0-.78-.148-1.06-.41A1.354 1.354 0 011 14.1V6.4c0-.371.158-.727.44-.99.28-.263.662-.41 1.06-.41H4"></path> </svg>`; function isElementVisible(element) { return ( document.body.contains(element) && getComputedStyle(element).display !== "none" && getComputedStyle(element).visibility !== "hidden" && getComputedStyle(element).opacity !== "0" && !element.hasAttribute("hidden") && !isAncestorHidden(element) ); } function isAncestorHidden(element) { let parent = element.parentElement; while (parent) { if ( getComputedStyle(parent).display === "none" || getComputedStyle(parent).visibility === "hidden" || getComputedStyle(parent).opacity === "0" || parent.hasAttribute("hidden") ) { return true; } parent = parent.parentElement; } return false; } function showAlert(message) { const alertBox = document.createElement("div"); alertBox.textContent = message; alertBox.style.position = "fixed"; alertBox.style.top = "20px"; alertBox.style.right = "-300px"; // Start off-screen alertBox.style.backgroundColor = "#000000"; // Black background alertBox.style.color = "#ffffff"; // White text alertBox.style.padding = "15px"; alertBox.style.borderRadius = "8px"; alertBox.style.zIndex = "1000"; alertBox.style.transition = "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth document.body.appendChild(alertBox); // Slide in requestAnimationFrame(() => { alertBox.style.right = "20px"; // Move into view alertBox.style.opacity = "1"; // Ensure opacity is set to 1 }); // Slide out and remove the alert after a few seconds setTimeout(() => { alertBox.style.opacity = "0"; // Fade out alertBox.style.right = "-300px"; // Move out of view // Wait for the transition to finish before removing the element setTimeout(() => { document.body.removeChild(alertBox); }, 500); // Match this duration with the exit transition duration }, 3000); } function initPopupLogin(){ let host = window.location.host; if (host === "admin.shopify.com") { host = `${window.location.pathname.split("/")[2]}.myshopify.com`; } const layoutPosition = popupAppearance.layout; const popupModal = document.createElement("div"); popupModal.classList.add("modal-overlay"); popupModal.style.display = "none"; const modalContainer = document.createElement("div"); modalContainer.classList.add("modal-container"); const modalContent = document.createElement("div"); modalContent.classList.add("modal-content"); modalContent.style.background = popupAppearance.backgroundTheme === 'solid' ? popupAppearance.backgroundPopupColor : `linear-gradient(to bottom, ${popupAppearance.backgroundPopupColor}, ${popupAppearance.gradientColor})`; const closeButton = document.createElement("button"); closeButton.classList.add("close-btn"); closeButton.innerText = "✖"; closeButton.addEventListener("click", () => { popupModal.style.display = "none"; sessionStorage.setItem("popupLoginClosed", "true"); }); const modalTitle = document.createElement("h2"); modalTitle.classList.add("modal-title"); modalTitle.innerText = popupAppearance.headingText; modalTitle.style.color = popupAppearance.fontColor; const modalText = document.createElement("div"); modalText.classList.add("modal-text"); modalText.innerHTML = popupAppearance.bodyText; modalText.style.color = popupAppearance.fontColor; modalContent.appendChild(closeButton); modalContent.appendChild(modalTitle); modalContent.appendChild(modalText); const modalImageContainer = document.createElement("div"); modalImageContainer.classList.add("modal-image-container"); const modalImage = document.createElement("img"); modalImage.classList.add("modal-image"); modalImage.src = popupAppearance.popupImage ? popupAppearance.popupImage : "https://cdn1.bitbybit.studio/bitbybit/static/bitLogin/default-popup-image.png"; modalImage.alt = "Popup Image"; modalImageContainer.appendChild(modalImage); const socialLoginContainer = document.createElement("div"); socialLoginContainer.classList.add("bitlogin-root"); socialLoginContainer.setAttribute("data-index", "popup"); socialLoginContainer.style.marginTop = "16px"; socialLoginContainer.style.marginBottom = "16px"; socialLoginContainer.style.gap = "5px"; const loginProviders = new Set([bitloginCache.popupAppearance.loginProvider1, bitloginCache.popupAppearance.loginProvider2]); const hasGoogle = loginProviders.has("GOOGLE"); const hasFacebook = loginProviders.has("FACEBOOK"); const hasApple = loginProviders.has("APPLE"); const hasWhatsapp = loginProviders.has("WHATSAPP"); const hasMicrosoft = loginProviders.has("MICROSOFT"); const hasTwitter = loginProviders.has("TWITTER"); const hasAmazon = loginProviders.has("AMAZON"); const hasInstagram = loginProviders.has("INSTAGRAM"); const hasMagicLink = loginProviders.has("MAGIC_LINK"); const hasMobileApp = loginProviders.has("MOBILE_APP"); if (hasGoogle) { socialLoginContainer.innerHTML += googleLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasFacebook) { socialLoginContainer.innerHTML += facebookLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasApple) { socialLoginContainer.innerHTML += appleLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasWhatsapp) { socialLoginContainer.innerHTML += whatsappLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasMicrosoft) { socialLoginContainer.innerHTML += microsoftLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasTwitter) { socialLoginContainer.innerHTML += twitterLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasAmazon) { socialLoginContainer.innerHTML += amazonLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasInstagram) { socialLoginContainer.innerHTML += instagramLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasMagicLink) { socialLoginContainer.innerHTML += magicLinkLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } if (hasMobileApp) { socialLoginContainer.innerHTML += mobileAppLoginHtml( popupAppearance.colorScheme || "match", popupAppearance.textColor ); } const googleLoginRef = socialLoginContainer.querySelector("#google-login"); const facebookLoginRef = socialLoginContainer.querySelector("#facebook-login"); const appleLoginRef = socialLoginContainer.querySelector("#apple-login"); const whatsappLoginRef = socialLoginContainer.querySelector("#whatsapp-login"); const microsoftLoginRef = socialLoginContainer.querySelector("#microsoft-login"); const twitterLoginRef = socialLoginContainer.querySelector("#twitter-login"); const amazonLoginRef = socialLoginContainer.querySelector("#amazon-login"); const instagramLoginRef = socialLoginContainer.querySelector("#instagram-login"); const magicLinkLoginRef = socialLoginContainer.querySelector("#magic-link-login"); const mobileAppLoginRef = socialLoginContainer.querySelector("#mobile-app-login"); if (appearance.format !== "wrapperFlexContainerOnlyLogo") { if (googleLoginRef) { googleLoginRef.innerHTML += `<p>${appearance.buttonList.google}</p>`; } if (facebookLoginRef) { facebookLoginRef.innerHTML += `<p>${appearance.buttonList.facebook}</p>`; } if (appleLoginRef) { appleLoginRef.innerHTML += `<p>${appearance.buttonList.apple}</p>`; } if (whatsappLoginRef) { whatsappLoginRef.innerHTML += `<p>${appearance.buttonList.whatsapp}</p>`; } if (microsoftLoginRef) { microsoftLoginRef.innerHTML += `<p>${appearance.buttonList.microsoft}</p>`; } if (twitterLoginRef) { twitterLoginRef.innerHTML += `<p>${appearance.buttonList.twitter.replace('Twitter', 'X')}</p>`; } if (amazonLoginRef) { amazonLoginRef.innerHTML += `<p>${appearance.buttonList.amazon}</p>`; } if (instagramLoginRef) { instagramLoginRef.innerHTML += `<p>${appearance.buttonList.instagram}</p>`; } if (magicLinkLoginRef) { magicLinkLoginRef.innerHTML += `<p>${appearance.buttonList.magic_link}</p>`; } if (mobileAppLoginRef) { mobileAppLoginRef.innerHTML += `<p>${appearance.buttonList.mobile_app}</p>`; } } addListener({ googleButton: googleLoginRef, facebookButton: facebookLoginRef, appleButton: appleLoginRef, whatsappButton: whatsappLoginRef, microsoftButton: microsoftLoginRef, twitterButton: twitterLoginRef, amazonButton: amazonLoginRef, instagramButton: instagramLoginRef, magicLinkButton: magicLinkLoginRef, mobileAppButton: mobileAppLoginRef, host, }); [ googleLoginRef, facebookLoginRef, appleLoginRef, whatsappLoginRef, microsoftLoginRef, twitterLoginRef, amazonLoginRef, instagramLoginRef, magicLinkLoginRef, mobileAppLoginRef ].forEach(button => { if (button) { updateElementStyle({ data: popupAppearance, dom: button, rootRef: socialLoginContainer }); } }); modalText.appendChild(socialLoginContainer); if (layoutPosition === "right") { modalContainer.appendChild(modalContent); modalContainer.appendChild(modalImageContainer); modalContainer.classList.add("rightLayout"); } else if (layoutPosition === "left") { modalContainer.appendChild(modalImageContainer); modalContainer.appendChild(modalContent); modalContainer.classList.add("leftLayout"); } else if (layoutPosition === "default") { modalContent.style.width = "100%"; modalContent.style.height = "100%"; modalContainer.style.display = "flex"; modalContainer.style.justifyContent = "center"; modalContainer.style.alignItems = "center"; modalContainer.style.aspectRatio = "1 / 1"; modalContainer.style.maxWidth = "300px"; modalContainer.style.maxHeight = "300px"; modalContainer.appendChild(modalContent); } popupModal.appendChild(modalContainer); document.body.appendChild(popupModal); const isLogin = ""; const currentPath = window.location.pathname; if(popupAppearance.enabled && isLogin !== "CustomerDrop" && currentPath !== "/account" && !currentPath.startsWith("/account/") && !sessionStorage.getItem("popupClosed")){ setTimeout(() => { popupModal.style.display = "flex"; }, 10000); } } async function initPopupVoucher(){ const domain = voucherAppearance.domain; const email = ``; if(!email) return; const voucherCode = await fetchVoucher(domain, email); if (!voucherCode) return; const isNew = await fetchCustomerData(domain, email); createVoucherPopup(voucherCode, isNew, domain, email); } async function fetchVoucher(domain, email) { try { const response = await fetch( `${apiUrl}/voucher?domain=${domain}&email=${email}`, ); const result = await response.json(); if (result) { return result.code; } else { return await generateVoucher(domain, email); } } catch (error) { console.error("Error fetching voucher:", error); return null; } } async function generateVoucher(domain, email) { try { const response = await fetch( `${apiUrl}/voucher`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ email, domain }), }, ); const result = await response.json(); return result.data ? result.data.code : null; } catch (error) { console.error("Error generating voucher:", error); return null; } } async function fetchCustomerData(domain, email) { try { const response = await fetch( `${apiUrl}/voucher/customer/${domain}/${email}` ); const result = await response.json(); return result.data?.isNew ?? false; } catch (error) { console.error("Error fetching customer data:", error); return false; } } async function updateCustomerStatus(domain, email) { try { await fetch(`${apiUrl}/voucher/customer`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ domain, email, isNew: false }), }); } catch (error) { console.error("Error updating customer status:", error); } } function createVoucherPopup(voucherCode, isNew, domain, email) { const maxLength = 23; const layoutPosition = voucherAppearance.layout; const popupModal = document.createElement("div"); popupModal.classList.add("modal-overlay"); popupModal.style.display = "none"; const modalContainer = document.createElement("div"); modalContainer.classList.add("modal-container"); const modalContent = document.createElement("div"); modalContent.classList.add("modal-content"); modalContent.style.background = voucherAppearance.backgroundTheme === "solid" ? voucherAppearance.backgroundColor : `linear-gradient(to bottom, ${voucherAppearance.backgroundColor}, ${voucherAppearance.gradientColor})`; const closeButton = document.createElement("button"); closeButton.classList.add("close-btn"); closeButton.innerText = "✖"; closeButton.addEventListener("click", async () => { popupModal.style.display = "none"; await updateCustomerStatus(domain, email); }); const modalTitle = document.createElement("h2"); modalTitle.classList.add("modal-title"); modalTitle.innerText = voucherAppearance.headingText; modalTitle.style.color = voucherAppearance.textColor; const modalText = document.createElement("div"); modalText.classList.add("modal-text"); modalText.innerHTML = voucherAppearance.bodyText; modalText.style.color = voucherAppearance.textColor; const voucherContainer = document.createElement("div"); voucherContainer.classList.add("voucher-container"); voucherContainer.style.borderRadius = getVoucherBorderRadius( voucherAppearance.style, ); let formattedVoucher = []; for (let i = 0; i < voucherCode.length; i += maxLength) { formattedVoucher.push(voucherCode.slice(i, i + maxLength)); } const voucherText = document.createElement("p"); voucherText.classList.add("voucher-text"); voucherText.innerHTML = formattedVoucher.join("<br>"); voucherText.style.color = "#000000"; voucherText.style.marginTop = getVoucherSize(voucherAppearance.size); voucherText.style.marginBottom = getVoucherSize(voucherAppearance.size); const divider = document.createElement("div"); divider.style.display = "block"; divider.classList.add("divider"); const iconWrapper = document.createElement("div"); iconWrapper.innerHTML = copyIcon(); iconWrapper.style.cursor = "pointer"; iconWrapper.style.display = "flex"; iconWrapper.style.alignItems = "center"; iconWrapper.addEventListener("click", () => { navigator.clipboard.writeText(voucherCode).then(() => { showToast("Voucher copied!"); }); }); voucherContainer.appendChild(voucherText); voucherContainer.appendChild(divider); voucherContainer.appendChild(iconWrapper); modalText.appendChild(voucherContainer); modalContent.appendChild(closeButton); modalContent.appendChild(modalTitle); modalContent.appendChild(modalText); const modalImageContainer = document.createElement("div"); modalImageContainer.classList.add("modal-image-container"); const modalImage = document.createElement("img"); modalImage.classList.add("modal-image"); modalImage.src = voucherAppearance.popupImage ? voucherAppearance.popupImage : "https://cdn1.bitbybit.studio/bitbybit/static/bitLogin/default-popup-image.png"; modalImage.alt = "Popup Image"; modalImageContainer.appendChild(modalImage); if (layoutPosition === "right") { modalContainer.appendChild(modalContent); modalContainer.appendChild(modalImageContainer); modalContainer.classList.add("rightLayout"); } else if (layoutPosition === "left") { modalContainer.appendChild(modalImageContainer); modalContainer.appendChild(modalContent); modalContainer.classList.add("leftLayout"); } else if (layoutPosition === "default") { modalContent.style.width = "100%"; modalContent.style.height = "100%"; modalContainer.style.display = "flex"; modalContainer.style.justifyContent = "center"; modalContainer.style.alignItems = "center"; modalContainer.style.aspectRatio = "1 / 1"; modalContainer.style.maxWidth = "300px"; modalContainer.style.maxHeight = "300px"; modalContainer.appendChild(modalContent); } popupModal.appendChild(modalContainer); document.body.appendChild(popupModal); const currentPath = window.location.pathname; if(isNew && currentPath !== "/account" && !currentPath.startsWith("/account/")){ setTimeout(() => { popupModal.style.display = "flex"; }, 2000); } } function showToast(message) { const toast = document.createElement("div"); toast.classList.add("toast-voucher"); toast.innerText = message; document.body.appendChild(toast); setTimeout(() => { toast.classList.add("show"); }, 100); setTimeout(() => { toast.classList.remove("show"); setTimeout(() => { toast.remove(); }, 300); }, 2000); } function getVoucherBorderRadius(style) { const borderRadiusMap = { square: "0", rounded: "0.75rem", fullRounded: "10rem", }; return borderRadiusMap[style] || borderRadiusMap.square; } function getVoucherSize(size) { const sizeMap = { small: "0.5rem", medium: "0.75rem", large: "1rem", }; return sizeMap[size] || sizeMap.medium; } </script> </div><div id="shopify-block-AR3cwMzc1Sk9GK0RGR__8813254906777318544" class="shopify-block shopify-app-block"><script> window.kaktusAppData = { customerId: null, customerTags: ''.split(',') || [], product: null } </script> <script async src="https://wishlist.kaktusapp.com/storage/js/kaktus_wishlist-58545f.myshopify.com.js?ver=1742508316&shop=58545f.myshopify.com"></script> </div></body> </html>