CINXE.COM
GraphQL Bow Tie – GraphQL Swag Shop
<!doctype html> <html class="no-js" lang="en"> <head> <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://store.graphql.org/products/graphql-bow-tie"> <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//store.graphql.org/cdn/shop/files/favicon.png?crop=center&height=32&v=1663263376&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> GraphQL Bow Tie – GraphQL Swag Shop</title> <meta property="og:site_name" content="GraphQL Swag Shop"> <meta property="og:url" content="https://store.graphql.org/products/graphql-bow-tie"> <meta property="og:title" content="GraphQL Bow Tie"> <meta property="og:type" content="product"> <meta property="og:description" content="GraphQL Swag Shop"><meta property="og:image" content="http://store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669"> <meta property="og:image:secure_url" content="https://store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669"> <meta property="og:image:width" content="720"> <meta property="og:image:height" content="900"><meta property="og:price:amount" content="40.00"> <meta property="og:price:currency" content="USD"><meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="GraphQL Bow Tie"> <meta name="twitter:description" content="GraphQL Swag Shop"> <script src="//store.graphql.org/cdn/shop/t/8/assets/global.js?v=24850326154503943211663253233" defer="defer"></script> <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/27733295197/digital_wallets/dialog"> <meta name="shopify-checkout-api-token" content="59437b88188e3fae52b85f8bd948a36c"> <link rel="alternate" type="application/json+oembed" href="https://store.graphql.org/products/graphql-bow-tie.oembed"> <script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script> <link rel="preconnect" href="https://shop.app" crossorigin="anonymous"> <script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=27733295197" crossorigin="anonymous"></script> <script id="apple-pay-shop-capabilities" type="application/json">{"shopId":27733295197,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/27733295197","merchantName":"GraphQL Swag Shop","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"GraphQL Swag Shop","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script> <script id="shopify-features" type="application/json">{"accessToken":"59437b88188e3fae52b85f8bd948a36c","betas":["rich-media-storefront-analytics"],"domain":"store.graphql.org","predictiveSearch":true,"shopId":27733295197,"smart_payment_buttons_url":"https:\/\/store.graphql.org\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/store.graphql.org\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script> <script>var Shopify = Shopify || {}; Shopify.shop = "store-graphql.myshopify.com"; Shopify.locale = "en"; Shopify.currency = {"active":"USD","rate":"1.0"}; Shopify.country = "US"; Shopify.theme = {"name":"Dawn","id":130134999207,"schema_name":"Dawn","schema_version":"6.0.2","theme_store_id":887,"role":"main"}; Shopify.theme.handle = "null"; Shopify.theme.style = {"id":null,"handle":null}; Shopify.cdnHost = "store.graphql.org/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>window.ShopifyPay = window.ShopifyPay || {}; window.ShopifyPay.apiHost = "shop.app\/pay";</script> <script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script> <script> window.Shopify = window.Shopify || {}; if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; window.Shopify.featureAssets['shop-js'] = {"login-button":["modules/client.login-button_PyB0yoLG.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"shop-pay-payment-request":["modules/client.shop-pay-payment-request_BSPYpBgE.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js","modules/chunk.shop-pay_DNi9j_X8.esm.js"],"payment-terms":["modules/client.payment-terms_BF5x7ymI.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"pay-button":["modules/client.pay-button_Cc3hmsbn.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"discount-app":["modules/client.discount-app_Dl148wJa.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"avatar":["modules/client.avatar_BTnouDA3.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/client.init-shop-for-new-customer-accounts_BXLde5-4.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/client.init-shop-email-lookup-coordinator_CSM1j0yH.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"init-customer-accounts-sign-up":["modules/client.init-customer-accounts-sign-up_BDGFEblG.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"init-customer-accounts":["modules/client.init-customer-accounts_Ztg3e7fA.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"]}; </script> <script>(function() { function asyncLoad() { var urls = ["https:\/\/easygdpr.b-cdn.net\/v\/1553540745\/gdpr.min.js?shop=store-graphql.myshopify.com","https:\/\/sizechart.zifyapp.com\/js\/frontend\/scripttag-v1.js?shop=store-graphql.myshopify.com","https:\/\/app.avada.io\/avada-sdk.min.js?shop=store-graphql.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":27733295197,"offset":-18000,"reqid":"4666d02b-cfec-444f-b7a7-8f3632d365ea-1732708371","pageurl":"store.graphql.org\/products\/graphql-bow-tie","u":"7de67cfe5b67","p":"product","rtyp":"product","rid":5601132216487};</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(',');function s(t,e,n=!1){try{const o=window.sessionStorage;for(const[n,c]of Object.entries(JSON.parse(o.getItem(e))))t.elements[n]&&(t.elements[n].value=c);n&&o.removeItem(e)}catch{}}const a='form_key',i=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response','password'],u=()=>{try{return window.sessionStorage}catch{return}},m=t=>t.elements[a],f='form_type',d='cptcha';function p(t){t.dataset[d]=!0}const l=window,h=l.document,_='Shopify',y='ce_forms',E='captcha';let v=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe','https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js',T={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=l[_][y],c=o.bindForm;if(c)return c(t,g,e,T).then(n);o.q.push([[t,g,e,T],n]),v||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js'})),v=!0)});var g,T;l[_]=l[_]||{},l[_][y]=l[_][y]||{},l[_][y].q=[],l[_][E]=l[_][E]||{},l[_][E].protect=function(t,e){n(t,void 0,e),p(t)},Object.freeze(l[_][E]),function(t,e,n,l,h,_){const[y,E,v,g]=function(t,e,n){const s=e?o:[],a=t?c:[],i=[...s,...a],u=[...o],m=r(i),f=r(s),d=n&&r(i.filter((([t,e])=>n.includes(e)))),p=r(u),l=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];return[l(m),l(f),l(d),l(p)]}(l,h,_),T=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},S=t=>y().includes(t);t.addEventListener('submit',(t=>{const e=T(t);if(!e)return;const n=S(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=m(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!u())return;!function(t){const e=u();if(!e)return;const n=m(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){m(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:a})),t.elements[a].value=e}(t,e),function(t,e){const n=u();if(!n)return;const o=[...t.querySelectorAll('input[type="password"]')].map((({name:t})=>t)),c=[...i,...o],r={};for(const[s,a]of new FormData(t).entries())c.includes(s)||(r[s]=a);n.setItem(e,JSON.stringify(r))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const w=(t,e)=>{t&&!t.dataset[d]&&(n(t,e.some((e=>e===t))),p(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=T(t);S(e)&&w(e,E())}));const A=e.get('form_key'),b=e.get(f),I=A&&b;t.addEventListener('DOMContentLoaded',(()=>{const t=E();if(I)for(const e of t)e.elements[f].value===b&&s(e,A);[...new Set([...v(),...y().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>w(e,t)))}))}(h,new URLSearchParams(l.location.search),n,!0,!0,['guest_login'])})()}();</script> <script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//store.graphql.org/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script> <script crossorigin="anonymous" defer="defer" src="//store.graphql.org/cdn/shopifycloud/shopify/assets/shopify_pay/storefront-80e528be853eac23af2454534897ca9536b1d3d04aa043b042f34879a3c111c8.js?v=20220906"></script> <script integrity="sha256-HAs5a9TQVLlKuuHrahvWuke+s1UlxXohfHeoYv8G2D8=" data-source-attribution="shopify.dynamic-checkout" defer="defer" src="//store.graphql.org/cdn/shopifycloud/shopify/assets/storefront/features-1c0b396bd4d054b94abae1eb6a1bd6ba47beb35525c57a217c77a862ff06d83f.js" crossorigin="anonymous"></script> <script id="sections-script" data-sections="header,footer" defer="defer" src="//store.graphql.org/cdn/shop/t/8/compiled_assets/scripts.js?333"></script> <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: 120px; } } </style><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script> <style data-shopify> @font-face { font-family: Montserrat; font-weight: 400; font-style: normal; font-display: swap; src: url("//store.graphql.org/cdn/fonts/montserrat/montserrat_n4.1d581f6d4bf1a97f4cbc0b88b933bc136d38d178.woff2?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=4c713f8679e9d10ae1cb6663e6598061bd415775aa1752d2fba08f802a3a47c0") format("woff2"), url("//store.graphql.org/cdn/fonts/montserrat/montserrat_n4.cfce41a967758ce5a9b7d48daeb5b028fd977a9b.woff?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=2813d32a8a518a57739131259dd1f1349846b9079e110e89ba3aecbd687a0752") format("woff"); } @font-face { font-family: Montserrat; font-weight: 700; font-style: normal; font-display: swap; src: url("//store.graphql.org/cdn/fonts/montserrat/montserrat_n7.c496e9cf2031deec4c4bca338faa81971c8631d4.woff2?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=e333247953c0f2e17ce05646d3f06cd2106e31d18bc68468327d19015a2fe665") format("woff2"), url("//store.graphql.org/cdn/fonts/montserrat/montserrat_n7.78b0223375c94b39ce1af7e09a0225f2bb3d05f7.woff?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=83117a3ae58510ab9aa0f0dcafdd935ebed196f4b9bb9b4b4d108bf2123675bc") format("woff"); } @font-face { font-family: Montserrat; font-weight: 400; font-style: italic; font-display: swap; src: url("//store.graphql.org/cdn/fonts/montserrat/montserrat_i4.ae02483b3d5e8777d0d4a4ccf396482c364d8955.woff2?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=3cb118411913617030d14217945d4599bca71c38eda8a76a1b4b7da1cacda1cc") format("woff2"), url("//store.graphql.org/cdn/fonts/montserrat/montserrat_i4.ba28d1a04ec09448de486d83c63235903dfc0af8.woff?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=331371c26a692af2f52c4c05744e9841cbf1568ff3a15b34691d4b1e2cb96156") format("woff"); } @font-face { font-family: Montserrat; font-weight: 700; font-style: italic; font-display: swap; src: url("//store.graphql.org/cdn/fonts/montserrat/montserrat_i7.83866c3eec90071fa974c17980ffb42977f9e667.woff2?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=66528a0b9b3d5abce5c93469912f65c70e117c22c49eb4f0b58461852227ba5e") format("woff2"), url("//store.graphql.org/cdn/fonts/montserrat/montserrat_i7.25524241b12d864609c85325613d60efcf1a87e3.woff?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=fe413a88f1bbc512d4da58e89b3d5b03a41e0224d55ebaefb29114b2bd38ed35") format("woff"); } @font-face { font-family: Montserrat; font-weight: 500; font-style: normal; font-display: swap; src: url("//store.graphql.org/cdn/fonts/montserrat/montserrat_n5.e72d00d31ae5399d260a80ec70322c62c1819762.woff2?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=609358f904af4ba68a7ee687e2230ec9375dd5c00bd2365cb1a4182a1894efde") format("woff2"), url("//store.graphql.org/cdn/fonts/montserrat/montserrat_n5.18a018b6c83e89030c5d70a6d4c02c969f228500.woff?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=f527936f17727b49b0a80c67d246ca6dff46c0549ca317e3fa303738db9961c1") format("woff"); } :root { --font-body-family: Montserrat, sans-serif; --font-body-style: normal; --font-body-weight: 400; --font-body-weight-bold: 700; --font-heading-family: Montserrat, sans-serif; --font-heading-style: normal; --font-heading-weight: 500; --font-body-scale: 1.0; --font-heading-scale: 1.0; --color-base-text: 18, 18, 18; --color-shadow: 18, 18, 18; --color-base-background-1: 255, 255, 255; --color-base-background-2: 245, 246, 248; --color-base-solid-button-labels: 255, 255, 255; --color-base-outline-button-labels: 18, 18, 18; --color-base-accent-1: 225, 0, 152; --color-base-accent-2: 43, 55, 70; --payment-terms-background-color: #ffffff; --gradient-base-background-1: #ffffff; --gradient-base-background-2: #f5f6f8; --gradient-base-accent-1: #e10098; --gradient-base-accent-2: #2b3746; --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: 120rem; --page-width-margin: 0rem; --card-image-padding: 0.6rem; --card-corner-radius: 0.0rem; --card-text-alignment: center; --card-border-width: 0.0rem; --card-border-opacity: 0.1; --card-shadow-opacity: 0.15; --card-shadow-visible: 1; --card-shadow-horizontal-offset: 0.2rem; --card-shadow-vertical-offset: 0.2rem; --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: 8px; --grid-desktop-horizontal-spacing: 8px; --grid-mobile-vertical-spacing: 4px; --grid-mobile-horizontal-spacing: 4px; --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="//store.graphql.org/cdn/shop/t/8/assets/base.css?v=19666067365360246481663253235" rel="stylesheet" type="text/css" media="all" /> <link rel="preload" as="font" href="//store.graphql.org/cdn/fonts/montserrat/montserrat_n4.1d581f6d4bf1a97f4cbc0b88b933bc136d38d178.woff2?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=4c713f8679e9d10ae1cb6663e6598061bd415775aa1752d2fba08f802a3a47c0" type="font/woff2" crossorigin><link rel="preload" as="font" href="//store.graphql.org/cdn/fonts/montserrat/montserrat_n5.e72d00d31ae5399d260a80ec70322c62c1819762.woff2?h1=c3RvcmUuZ3JhcGhxbC5vcmc&h2=c3RvcmUtZ3JhcGhxbC5hY2NvdW50Lm15c2hvcGlmeS5jb20&hmac=609358f904af4ba68a7ee687e2230ec9375dd5c00bd2365cb1a4182a1894efde" type="font/woff2" crossorigin><link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-predictive-search.css?v=165644661289088488651663253233" 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> <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: 27733295197,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "product"};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 d(d,e,r,a,n){var o,i,t,s,l=(i=(o={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:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-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:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-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+|)/}).modern,t=o.legacy,s=navigator.userAgent,i.test(s)?"modern":(t.test(s),"legacy"));window.Shopify=window.Shopify||{};var c=window.Shopify;c.analytics=c.analytics||{};var u=c.analytics;u.replayQueue=[],u.publish=function(d,e,r){return u.replayQueue.push([d,e,r]),!0};try{self.performance.mark("wpm:start")}catch(d){}var h=[r,"/wpm","/b",n,l.substring(0,1),".js"].join("");!function(d){var e=d.src,r=d.async,a=void 0===r||r,n=d.onload,o=d.onerror,i=document.createElement("script"),t=document.head,s=document.body;i.async=a,i.src=e,n&&i.addEventListener("load",n),o&&i.addEventListener("error",o),t?t.appendChild(i):s?s.appendChild(i):console.error("Did not find a head or body element to append the script")}({src:h,async:!0,onload:function(){var r=window.webPixelsManager.init(d);e(r);var a=window.Shopify.analytics;a.replayQueue.forEach((function(d){var e=d[0],a=d[1],n=d[2];r.publishCustomEvent(e,a,n)})),a.replayQueue=[],a.publish=r.publishCustomEvent,a.visitor=r.visitor},onerror:function(){var e=d.storefrontBaseUrl.replace(/\/$/,""),r="".concat(e,"/.well-known/shopify/monorail/unstable/produce_batch"),n=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:a||"latest",bundle_target:l,page_url:self.location.href,status:"failed",surface:d.surface,error_msg:"".concat(h," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(r,n))return!0}catch(d){}var o=new XMLHttpRequest;try{return o.open("POST",r,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(n),!0}catch(d){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1}})})({shopId: 27733295197,storefrontBaseUrl: "https://store.graphql.org",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"GraphQL Swag Shop","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"store-graphql.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/store.graphql.org"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":40.0,"currencyCode":"USD"},"product":{"title":"GraphQL Bow Tie","vendor":"store-graphql","id":"5601132216487","untranslatedTitle":"GraphQL Bow Tie","url":"\/products\/graphql-bow-tie","type":""},"id":"35639037853863","image":{"src":"\/\/store.graphql.org\/cdn\/shop\/products\/GQLbow-tie.png?v=1663254669"},"sku":"GQL-10001","title":"Default Title","untranslatedTitle":"Default Title"}],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});webPixelsManagerAPI.publish("product_viewed", {"productVariant":{"price":{"amount":40.0,"currencyCode":"USD"},"product":{"title":"GraphQL Bow Tie","vendor":"store-graphql","id":"5601132216487","untranslatedTitle":"GraphQL Bow Tie","url":"\/products\/graphql-bow-tie","type":""},"id":"35639037853863","image":{"src":"\/\/store.graphql.org\/cdn\/shop\/products\/GQLbow-tie.png?v=1663254669"},"sku":"GQL-10001","title":"Default Title","untranslatedTitle":"Default Title"}});},"https://store.graphql.org/cdn","1518c2ba4d2b3301a1e3cb6576947ef22edf7bb6","3c762e5aw5b983e43pc2dc4883m545d5a27",);</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {}; window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; window.ShopifyAnalytics.meta.currency = 'USD'; var meta = {"product":{"id":5601132216487,"gid":"gid:\/\/shopify\/Product\/5601132216487","vendor":"store-graphql","type":"","variants":[{"id":35639037853863,"price":4000,"name":"GraphQL Bow Tie","public_title":null,"sku":"GQL-10001"}]},"page":{"pageType":"product","resourceType":"product","resourceId":5601132216487}}; 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: 27733295197, theme_id: 130134999207, app_name: "storefront", context_url: window.location.href, source_url: "//store.graphql.org/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js"}); }; scriptFallback.async = true; scriptFallback.src = '//store.graphql.org/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(scriptFallback, first); }; script.async = true; script.src = '//store.graphql.org/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(script, first); }; trekkie.load( {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":27733295197,"isMerchantRequest":null,"themeId":130134999207,"themeCityHash":"4139676649921943304","contentLanguage":"en","currency":"USD"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"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":"product","resourceType":"product","resourceId":5601132216487}); var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) var token = match? match[1]: undefined; if (!hasLoggedConversion(token)) { setCookieIfConversion(token); window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":35639037853863,"productId":5601132216487,"productGid":"gid:\/\/shopify\/Product\/5601132216487","name":"GraphQL Bow Tie","price":"40.00","sku":"GQL-10001","brand":"store-graphql","variant":null,"category":"","nonInteraction":true}); window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"USD","variantId":35639037853863,"productId":5601132216487,"productGid":"gid:\/\/shopify\/Product\/5601132216487","name":"GraphQL Bow Tie","price":"40.00","sku":"GQL-10001","brand":"store-graphql","variant":null,"category":"","nonInteraction":true,"referer":"https:\/\/store.graphql.org\/products\/graphql-bow-tie"}); } }); var eventsListenerScript = document.createElement('script'); eventsListenerScript.async = true; eventsListenerScript.src = "//store.graphql.org/cdn/shopifycloud/shopify/assets/shop_events_listener-61fa9e0a912c675e178777d2b27f6cbd482f8912a6b0aa31fa3515985a8cd626.js"; document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); })();</script> <script class="boomerang"> (function () { window.BOOMR = window.BOOMR || {}; window.BOOMR.themeName = "Dawn"; window.BOOMR.themeVersion = "6.0.2"; window.BOOMR.shopId = 27733295197; window.BOOMR.themeId = 130134999207; })();</script> <script defer src="https://store.graphql.org/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.0.2.min.js" data-application="storefront-renderer" data-shop-id="27733295197" data-render-region="gcp-asia-southeast1" data-page-type="product" data-theme-instance-id="130134999207" 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><div id="shopify-section-announcement-bar" class="shopify-section"> </div> <div id="shopify-section-header" class="shopify-section section-header"><link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-list-menu.css?v=151968516119678728991663253234" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-search.css?v=96455689198851321781663253232" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-menu-drawer.css?v=182311192829367774911663253233" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-cart-notification.css?v=119852831333870967341663253232" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-cart-items.css?v=23917223812499722491663253235" media="print" onload="this.media='all'"><link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-price.css?v=112673864592427438181663253233" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-loading-overlay.css?v=167310470843593579841663253235" media="print" onload="this.media='all'"><noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-list-menu.css?v=151968516119678728991663253234" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-search.css?v=96455689198851321781663253232" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-menu-drawer.css?v=182311192829367774911663253233" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-cart-notification.css?v=119852831333870967341663253232" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-cart-items.css?v=23917223812499722491663253235" rel="stylesheet" type="text/css" media="all" /></noscript> <style> header-drawer { justify-self: start; margin-left: -1.2rem; } .header__heading-logo { max-width: 130px; } @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; } } </style><style data-shopify>.header { padding-top: 10px; padding-bottom: 10px; } .section-header { margin-bottom: 0px; } @media screen and (min-width: 750px) { .section-header { margin-bottom: 0px; } } @media screen and (min-width: 990px) { .header { padding-top: 20px; padding-bottom: 20px; } }</style><script src="//store.graphql.org/cdn/shop/t/8/assets/details-disclosure.js?v=153497636716254413831663253234" defer="defer"></script> <script src="//store.graphql.org/cdn/shop/t/8/assets/details-modal.js?v=4511761896672669691663253234" defer="defer"></script> <script src="//store.graphql.org/cdn/shop/t/8/assets/cart-notification.js?v=31179948596492670111663253233" 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-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 class="header-wrapper color-background-1 gradient header-wrapper--border-bottom"> <header class="header header--middle-left page-width header--has-menu"><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" role="presentation" 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" role="presentation" 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" tabindex="-1"> <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 href="/collections/all" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> Shop All </a></li><li><a href="/pages/about-us" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> FAQs </a></li></ul> </nav> <div class="menu-drawer__utility-links"><ul class="list list-social list-unstyled" role="list"></ul> </div> </div> </div> </div> </details> </header-drawer><a href="/" class="header__heading-link link link--text focus-inset"><img src="//store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428" alt="GraphQL Swag Shop" srcset="//store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=50 50w, //store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=100 100w, //store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=150 150w, //store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=200 200w, //store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=250 250w, //store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=300 300w, //store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=400 400w, //store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=500 500w" width="130" height="40.95" class="header__heading-logo"> </a><nav class="header__inline-menu"> <ul class="list-menu list-menu--inline" role="list"><li><a href="/collections/all" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset"> <span>Shop All</span> </a></li><li><a href="/pages/about-us" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset"> <span>FAQs</span> </a></li></ul> </nav><div class="header__icons"> <details-modal class="header__search"> <details> <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search"> <span> <svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false" role="presentation"> <use href="#icon-search"> </svg> <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false" role="presentation"> <use href="#icon-close"> </svg> </span> </summary> <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search"> <div class="modal-overlay"></div> <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form"> <div class="field"> <input class="search__input field__input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search"role="combobox" aria-expanded="false" aria-owns="predictive-search-results-list" aria-controls="predictive-search-results-list" aria-haspopup="listbox" aria-autocomplete="list" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false"> <label class="field__label" for="Search-In-Modal">Search</label> <input type="hidden" name="options[prefix]" value="last"> <button class="search__button field__button" aria-label="Search"> <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation"> <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" role="presentation" 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></predictive-search><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="Close"> <svg class="icon icon-close" aria-hidden="true" focusable="false" role="presentation"> <use href="#icon-close"> </svg> </button> </div> </div> </details> </details-modal><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><svg class="icon icon-cart-empty" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="none"> <path d="m15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33l-.78-11.61zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1 -9.5 0zm8.5 0h-7.5v.63a3.75 3.75 0 1 0 7.5 0z" fill="currentColor" fill-rule="evenodd"/> </svg> <span class="visually-hidden">Cart</span></a> </div> </header> </sticky-header> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "GraphQL Swag Shop", "logo": "https:\/\/store.graphql.org\/cdn\/shop\/files\/GraphQL-logo.png?v=1663253428\u0026width=600", "sameAs": [ "", "", "", "", "", "", "", "", "" ], "url": "https:\/\/store.graphql.org" } </script> </div> <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> <section id="shopify-section-template--15614220796071__main" class="shopify-section section"><section id="MainProduct-template--15614220796071__main" class="page-width section-template--15614220796071__main-padding" data-section="template--15614220796071__main"> <link href="//store.graphql.org/cdn/shop/t/8/assets/section-main-product.css?v=46268500185129980601663253232" rel="stylesheet" type="text/css" media="all" /> <link href="//store.graphql.org/cdn/shop/t/8/assets/component-accordion.css?v=180964204318874863811663253232" rel="stylesheet" type="text/css" media="all" /> <link href="//store.graphql.org/cdn/shop/t/8/assets/component-price.css?v=112673864592427438181663253233" rel="stylesheet" type="text/css" media="all" /> <link href="//store.graphql.org/cdn/shop/t/8/assets/component-rte.css?v=69919436638515329781663253234" rel="stylesheet" type="text/css" media="all" /> <link href="//store.graphql.org/cdn/shop/t/8/assets/component-slider.css?v=95971316053212773771663253233" rel="stylesheet" type="text/css" media="all" /> <link href="//store.graphql.org/cdn/shop/t/8/assets/component-rating.css?v=24573085263941240431663253234" rel="stylesheet" type="text/css" media="all" /> <link href="//store.graphql.org/cdn/shop/t/8/assets/component-loading-overlay.css?v=167310470843593579841663253235" rel="stylesheet" type="text/css" media="all" /> <link href="//store.graphql.org/cdn/shop/t/8/assets/component-deferred-media.css?v=105211437941697141201663253234" rel="stylesheet" type="text/css" media="all" /> <style data-shopify>.section-template--15614220796071__main-padding { padding-top: 27px; padding-bottom: 9px; } @media screen and (min-width: 750px) { .section-template--15614220796071__main-padding { padding-top: 36px; padding-bottom: 12px; } }</style><script src="//store.graphql.org/cdn/shop/t/8/assets/product-form.js?v=24702737604959294451663253232" defer="defer"></script><div class="product product--medium product--thumbnail grid grid--1-col grid--2-col-tablet"> <div class="grid__item product__media-wrapper"> <media-gallery id="MediaGallery-template--15614220796071__main" role="region" aria-label="Gallery Viewer" data-desktop-layout="thumbnail"> <div id="GalleryStatus-template--15614220796071__main" class="visually-hidden" role="status"></div> <slider-component id="GalleryViewer-template--15614220796071__main" class="slider-mobile-gutter"> <a class="skip-to-content-link button visually-hidden quick-add-hidden" href="#ProductInfo-template--15614220796071__main"> Skip to product information </a> <ul id="Slider-Gallery-template--15614220796071__main" class="product__media-list contains-media grid grid--peek list-unstyled slider slider--mobile" role="list"><li id="Slide-template--15614220796071__main-26492506308775" class="product__media-item grid__item slider__slide is-active" data-media-id="template--15614220796071__main-26492506308775"> <noscript><div class="product__media media gradient global-media-settings" style="padding-top: 125.0%;"> <img srcset="//store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=493 493w, //store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=600 600w, //store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=713 713w, //store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669 720w" src="//store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=1946" sizes="(min-width: 1200px) 605px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw - 4rem)" width="973" height="1217" alt="" > </div></noscript> <modal-opener class="product__modal-opener product__modal-opener--image no-js-hidden" data-modal="#ProductModal-template--15614220796071__main"> <span class="product__media-icon motion-reduce quick-add-hidden" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66724 7.93978C4.66655 7.66364 4.88984 7.43922 5.16598 7.43853L10.6996 7.42464C10.9758 7.42395 11.2002 7.64724 11.2009 7.92339C11.2016 8.19953 10.9783 8.42395 10.7021 8.42464L5.16849 8.43852C4.89235 8.43922 4.66793 8.21592 4.66724 7.93978Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.92576 4.66463C8.2019 4.66394 8.42632 4.88723 8.42702 5.16337L8.4409 10.697C8.44159 10.9732 8.2183 11.1976 7.94215 11.1983C7.66601 11.199 7.44159 10.9757 7.4409 10.6995L7.42702 5.16588C7.42633 4.88974 7.64962 4.66532 7.92576 4.66463Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8324 3.03011C10.1255 0.323296 5.73693 0.323296 3.03011 3.03011C0.323296 5.73693 0.323296 10.1256 3.03011 12.8324C5.73693 15.5392 10.1255 15.5392 12.8324 12.8324C15.5392 10.1256 15.5392 5.73693 12.8324 3.03011ZM2.32301 2.32301C5.42035 -0.774336 10.4421 -0.774336 13.5395 2.32301C16.6101 5.39361 16.6366 10.3556 13.619 13.4588L18.2473 18.0871C18.4426 18.2824 18.4426 18.599 18.2473 18.7943C18.0521 18.9895 17.7355 18.9895 17.5402 18.7943L12.8778 14.1318C9.76383 16.6223 5.20839 16.4249 2.32301 13.5395C-0.774335 10.4421 -0.774335 5.42035 2.32301 2.32301Z" fill="currentColor"/> </svg> </span> <div class="product__media media media--transparent gradient global-media-settings" style="padding-top: 125.0%;"> <img srcset="//store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=493 493w, //store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=600 600w, //store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=713 713w, //store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669 720w" src="//store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=1946" sizes="(min-width: 1200px) 605px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw - 4rem)" width="973" height="1217" alt="" > </div> <button class="product__media-toggle quick-add-hidden" type="button" aria-haspopup="dialog" data-media-id="26492506308775"> <span class="visually-hidden"> Open media 1 in modal </span> </button> </modal-opener></li></ul> <div class="slider-buttons no-js-hidden quick-add-hidden small-hide"> <button type="button" class="slider-button slider-button--prev" name="previous" aria-label="Slide left"><svg aria-hidden="true" focusable="false" role="presentation" 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 caption"> <span class="slider-counter--current">1</span> <span aria-hidden="true"> / </span> <span class="visually-hidden">of</span> <span class="slider-counter--total">1</span> </div> <button type="button" class="slider-button slider-button--next" name="next" aria-label="Slide right"><svg aria-hidden="true" focusable="false" role="presentation" 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> </slider-component></media-gallery> </div> <div class="product__info-wrapper grid__item"> <div id="ProductInfo-template--15614220796071__main" class="product__info-container"><div class="product__title" > <h1>GraphQL Bow Tie</h1> <a href="/products/graphql-bow-tie" class="product__title"> <h2 class="h1"> GraphQL Bow Tie </h2> </a> </div><p class="product__text subtitle" ></p><div class="no-js-hidden" id="price-template--15614220796071__main" role="status" > <div class="price price--large price--show-badge"> <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"> $40.00 USD </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"> $40.00 USD </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><span class="badge price__badge-sale color-accent-2"> Sale </span> <span class="badge price__badge-sold-out color-inverse"> Sold out </span></div> </div><div ><form method="post" action="/cart/add" id="product-form-installment-template--15614220796071__main" accept-charset="UTF-8" class="installment caption-large" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="35639037853863"> <input type="hidden" name="product-id" value="5601132216487" /><input type="hidden" name="section-id" value="template--15614220796071__main" /></form></div><noscript class="product-form__noscript-wrapper-template--15614220796071__main"> <div class="product-form__input hidden"> <label class="form__label" for="Variants-template--15614220796071__main">Product variants</label> <div class="select"> <select name="id" id="Variants-template--15614220796071__main" class="select__select" form="product-form-template--15614220796071__main"><option selected="selected" value="35639037853863" > Default Title - $40.00 </option></select> <svg aria-hidden="true" focusable="false" role="presentation" 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> </div> </div> </noscript><div class="product-form__input product-form__quantity" > <label class="form__label" for="Quantity-template--15614220796071__main"> Quantity </label> <quantity-input class="quantity"> <button class="quantity__button no-js-hidden" name="minus" type="button"> <span class="visually-hidden">Decrease quantity for GraphQL Bow Tie</span> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-minus" fill="none" viewBox="0 0 10 2"> <path fill-rule="evenodd" clip-rule="evenodd" d="M.5 1C.5.7.7.5 1 .5h8a.5.5 0 110 1H1A.5.5 0 01.5 1z" fill="currentColor"> </svg> </button> <input class="quantity__input" type="number" name="quantity" id="Quantity-template--15614220796071__main" min="1" value="1" form="product-form-template--15614220796071__main" > <button class="quantity__button no-js-hidden" name="plus" type="button"> <span class="visually-hidden">Increase quantity for GraphQL Bow Tie</span> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" fill="none" viewBox="0 0 10 10"> <path fill-rule="evenodd" clip-rule="evenodd" d="M1 4.51a.5.5 0 000 1h3.5l.01 3.5a.5.5 0 001-.01V5.5l3.5-.01a.5.5 0 00-.01-1H5.5L5.49.99a.5.5 0 00-1 .01v3.5l-3.5.01H1z" fill="currentColor"> </svg> </button> </quantity-input> </div><div > <product-form class="product-form"> <div class="product-form__error-message-wrapper" role="alert" hidden> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-error" viewBox="0 0 13 13"> <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"/> <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"/> <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"/> <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"> </svg> <span class="product-form__error-message"></span> </div><form method="post" action="/cart/add" id="product-form-template--15614220796071__main" 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="35639037853863" disabled> <div class="product-form__buttons"> <button type="submit" name="add" class="product-form__submit button button--full-width button--primary" > <span>Add to cart </span> <div class="loading-overlay__spinner hidden"> <svg aria-hidden="true" focusable="false" role="presentation" 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></div><input type="hidden" name="product-id" value="5601132216487" /><input type="hidden" name="section-id" value="template--15614220796071__main" /></form></product-form> <link href="//store.graphql.org/cdn/shop/t/8/assets/component-pickup-availability.css?v=23027427361927693261663253233" rel="stylesheet" type="text/css" media="all" /> <pickup-availability class="product__pickup-availabilities no-js-hidden quick-add-hidden" data-root-url="/" data-variant-id="35639037853863" data-has-only-default-variant="true" > <template> <pickup-availability-preview class="pickup-availability-preview"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-unavailable" fill="none" viewBox="0 0 20 20"> <path fill="#DE3618" stroke="#fff" d="M13.94 3.94L10 7.878l-3.94-3.94A1.499 1.499 0 103.94 6.06L7.88 10l-3.94 3.94a1.499 1.499 0 102.12 2.12L10 12.12l3.94 3.94a1.497 1.497 0 002.12 0 1.499 1.499 0 000-2.12L12.122 10l3.94-3.94a1.499 1.499 0 10-2.121-2.12z"/> </svg> <div class="pickup-availability-info"> <p class="caption-large">Couldn't load pickup availability</p> <button class="pickup-availability-button link link--text underlined-link">Refresh</button> </div> </pickup-availability-preview> </template> </pickup-availability> </div> <script src="//store.graphql.org/cdn/shop/t/8/assets/pickup-availability.js?v=95345216988985239631663253235" defer="defer"></script><share-button id="Share-template--15614220796071__main" class="share-button quick-add-hidden" > <button class="share-button__button hidden"> <svg width="13" height="12" viewBox="0 0 13 12" class="icon icon-share" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> <path d="M1.625 8.125V10.2917C1.625 10.579 1.73914 10.8545 1.9423 11.0577C2.14547 11.2609 2.42102 11.375 2.70833 11.375H10.2917C10.579 11.375 10.8545 11.2609 11.0577 11.0577C11.2609 10.8545 11.375 10.579 11.375 10.2917V8.125" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.14775 1.27137C6.34301 1.0761 6.65959 1.0761 6.85485 1.27137L9.56319 3.9797C9.75845 4.17496 9.75845 4.49154 9.56319 4.6868C9.36793 4.88207 9.05135 4.88207 8.85609 4.6868L6.5013 2.33203L4.14652 4.6868C3.95126 4.88207 3.63468 4.88207 3.43942 4.6868C3.24415 4.49154 3.24415 4.17496 3.43942 3.9797L6.14775 1.27137Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 1.125C6.77614 1.125 7 1.34886 7 1.625V8.125C7 8.40114 6.77614 8.625 6.5 8.625C6.22386 8.625 6 8.40114 6 8.125V1.625C6 1.34886 6.22386 1.125 6.5 1.125Z" fill="currentColor"/> </svg> Share </button> <details id="Details-share-template--15614220796071__main"> <summary class="share-button__button"> <svg width="13" height="12" viewBox="0 0 13 12" class="icon icon-share" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> <path d="M1.625 8.125V10.2917C1.625 10.579 1.73914 10.8545 1.9423 11.0577C2.14547 11.2609 2.42102 11.375 2.70833 11.375H10.2917C10.579 11.375 10.8545 11.2609 11.0577 11.0577C11.2609 10.8545 11.375 10.579 11.375 10.2917V8.125" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.14775 1.27137C6.34301 1.0761 6.65959 1.0761 6.85485 1.27137L9.56319 3.9797C9.75845 4.17496 9.75845 4.49154 9.56319 4.6868C9.36793 4.88207 9.05135 4.88207 8.85609 4.6868L6.5013 2.33203L4.14652 4.6868C3.95126 4.88207 3.63468 4.88207 3.43942 4.6868C3.24415 4.49154 3.24415 4.17496 3.43942 3.9797L6.14775 1.27137Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 1.125C6.77614 1.125 7 1.34886 7 1.625V8.125C7 8.40114 6.77614 8.625 6.5 8.625C6.22386 8.625 6 8.40114 6 8.125V1.625C6 1.34886 6.22386 1.125 6.5 1.125Z" fill="currentColor"/> </svg> Share </summary> <div id="Product-share-template--15614220796071__main" class="share-button__fallback motion-reduce"> <div class="field"> <span id="ShareMessage-template--15614220796071__main" class="share-button__message hidden" role="status"> </span> <input type="text" class="field__input" id="url" value="https://store.graphql.org/products/graphql-bow-tie" placeholder="Link" onclick="this.select();" readonly > <label class="field__label" for="url">Link</label> </div> <button class="share-button__close hidden no-js-hidden"> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" 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 class="visually-hidden">Close share</span> </button> <button class="share-button__copy no-js-hidden"> <svg class="icon icon-clipboard" width="11" height="13" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 11 13"> <path fill-rule="evenodd" clip-rule="evenodd" d="M2 1a1 1 0 011-1h7a1 1 0 011 1v9a1 1 0 01-1 1V1H2zM1 2a1 1 0 00-1 1v9a1 1 0 001 1h7a1 1 0 001-1V3a1 1 0 00-1-1H1zm0 10V3h7v9H1z" fill="currentColor"/> </svg> <span class="visually-hidden">Copy link</span> </button> </div> </details> </share-button> <script src="//store.graphql.org/cdn/shop/t/8/assets/share.js?v=23059556731731026671663253235" defer="defer"></script><a href="/products/graphql-bow-tie" class="link product__view-details animate-arrow"> View full details <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" 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> </a> </div> </div> </div> <product-modal id="ProductModal-template--15614220796071__main" class="product-media-modal media-modal"> <div class="product-media-modal__dialog" role="dialog" aria-label="Media gallery" aria-modal="true" tabindex="-1"> <button id="ModalClose-template--15614220796071__main" type="button" class="product-media-modal__toggle" aria-label="Close"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" 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 class="product-media-modal__content gradient" role="document" aria-label="Media gallery" tabindex="0"> <img class="global-media-settings global-media-settings--no-shadow" srcset="//store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=550 550w,//store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669 720w" sizes="(min-width: 750px) calc(100vw - 22rem), 1100px" src="//store.graphql.org/cdn/shop/products/GQLbow-tie.png?v=1663254669&width=1445" alt="GraphQL Bow Tie" loading="lazy" width="1100" height="1375" data-media-id="26492506308775" ></div> </div> </product-modal> <script src="//store.graphql.org/cdn/shop/t/8/assets/product-modal.js?v=50921580101160527761663253234" defer="defer"></script> <script src="//store.graphql.org/cdn/shop/t/8/assets/media-gallery.js?v=152902515749446478401663253233" defer="defer"></script><script> document.addEventListener('DOMContentLoaded', function() { function isIE() { const ua = window.navigator.userAgent; const msie = ua.indexOf('MSIE '); const trident = ua.indexOf('Trident/'); return (msie > 0 || trident > 0); } if (!isIE()) return; const hiddenInput = document.querySelector('#product-form-template--15614220796071__main input[name="id"]'); const noScriptInputWrapper = document.createElement('div'); const variantSwitcher = document.querySelector('variant-radios[data-section="template--15614220796071__main"]') || document.querySelector('variant-selects[data-section="template--15614220796071__main"]'); noScriptInputWrapper.innerHTML = document.querySelector('.product-form__noscript-wrapper-template--15614220796071__main').textContent; variantSwitcher.outerHTML = noScriptInputWrapper.outerHTML; document.querySelector('#Variants-template--15614220796071__main').addEventListener('change', function(event) { hiddenInput.value = event.currentTarget.value; }); }); </script><script type="application/ld+json"> { "@context": "http://schema.org/", "@type": "Product", "name": "GraphQL Bow Tie", "url": "https:\/\/store.graphql.org\/products\/graphql-bow-tie", "image": [ "https:\/\/store.graphql.org\/cdn\/shop\/products\/GQLbow-tie.png?v=1663254669\u0026width=720" ], "description": "", "sku": "GQL-10001", "brand": { "@type": "Brand", "name": "store-graphql" }, "offers": [{ "@type" : "Offer","sku": "GQL-10001","availability" : "http://schema.org/InStock", "price" : 40.0, "priceCurrency" : "USD", "url" : "https:\/\/store.graphql.org\/products\/graphql-bow-tie?variant=35639037853863" } ] } </script> </section> </section> </main> <div id="shopify-section-footer" class="shopify-section"> <link href="//store.graphql.org/cdn/shop/t/8/assets/section-footer.css?v=83777583229853969691663253235" rel="stylesheet" type="text/css" media="all" /> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-newsletter.css?v=103472482056003053551663253234" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-list-menu.css?v=151968516119678728991663253234" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-list-payment.css?v=69253961410771838501663253233" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-list-social.css?v=52211663153726659061663253232" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/component-rte.css?v=69919436638515329781663253234" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//store.graphql.org/cdn/shop/t/8/assets/disclosure.css?v=646595190999601341663253233" media="print" onload="this.media='all'"> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-newsletter.css?v=103472482056003053551663253234" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-list-menu.css?v=151968516119678728991663253234" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-list-payment.css?v=69253961410771838501663253233" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-list-social.css?v=52211663153726659061663253232" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/component-rte.css?v=69919436638515329781663253234" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//store.graphql.org/cdn/shop/t/8/assets/disclosure.css?v=646595190999601341663253233" rel="stylesheet" type="text/css" media="all" /></noscript><style data-shopify>.footer { margin-top: 36px; } .section-footer-padding { padding-top: 27px; padding-bottom: 27px; } @media screen and (min-width: 750px) { .footer { margin-top: 48px; } .section-footer-padding { padding-top: 36px; padding-bottom: 36px; } }</style><footer class="footer color-accent-2 gradient section-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" ><div class="footer-block__details-content footer-block-image "><img srcset= "//store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=145, //store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=290 2x" src="//store.graphql.org/cdn/shop/files/GraphQL-logo.png?v=1663253428&width=400" alt="" loading="lazy" width="600" height="189" style="max-width: min(100%, 145px);" ></div></div><div class="footer-block grid__item footer-block--menu" ><h2 class="footer-block__heading">Quick links</h2><ul class="footer-block__details-content list-unstyled"><li> <a href="https://graphql.org/" class="link link--text list-menu__item list-menu__item--link"> GraphQL </a> </li><li> <a href="/pages/contact-us" class="link link--text list-menu__item list-menu__item--link"> Contact Us </a> </li></ul></div><div class="footer-block grid__item footer-block--menu" ><h2 class="footer-block__heading">Info</h2><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"> FAQs </a> </li><li> <a href="/pages/return-policy" class="link link--text list-menu__item list-menu__item--link"> Return Policy </a> </li></ul></div></div><div class="footer-block--newsletter"></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 class="footer__copyright caption"> <small class="copyright__content">© 2024, <a href="/" title="">GraphQL Swag Shop</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> </footer> </div> <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://store.graphql.org'; 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`, } 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="//store.graphql.org/cdn/shop/t/8/assets/predictive-search.js?v=31278710863581584031663253233" defer="defer"></script></body> </html>