1 2 3<!doctype html> 4<html class="supports-no-js site-footer--hidden" lang="en"> 5<head> 6 <meta charset="utf-8"> 7 8 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 9 <meta name="viewport" content="width=device-width,initial-scale=1"> 10 <meta name="theme-color" content="#4a4a4a"> 11 <link rel="canonical" href="https://twentyeighthdesign.com/search"> 12 13 14 <link rel="shortcut icon" href="//twentyeighthdesign.com/cdn/shop/files/twfaviconV2_32x32.png?v=1613524630" type="image/png"> 15 16 17 <title> 18 Search – Twenty-Eighth Design Studio, LLC 19 </title> 20 21 22 23 <!-- /snippets/social-meta-tags.liquid --> 24 25 26 27 28<meta property="og:site_name" content="Twenty-Eighth Design Studio, LLC"> 29<meta property="og:url" content="https://twentyeighthdesign.com/search"> 30<meta property="og:title" content="Search"> 31<meta property="og:type" content="website"> 32<meta property="og:description" content="Twenty-Eighth Design Studio, LLC"> 33 34<meta property="og:image" content="http://twentyeighthdesign.com/cdn/shop/files/TWENTYEIGHTH-BLACK-LG_1200x1200.png?v=1729209943"> 35<meta property="og:image:secure_url" content="https://twentyeighthdesign.com/cdn/shop/files/TWENTYEIGHTH-BLACK-LG_1200x1200.png?v=1729209943"> 36 37 38<meta name="twitter:card" content="summary_large_image"> 39<meta name="twitter:title" content="Search"> 40<meta name="twitter:description" content="Twenty-Eighth Design Studio, LLC"> 41 42 43
43<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
43<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/53753905346/digital_wallets/dialog"> 44<meta id="in-context-paypal-metadata" data-shop-id="53753905346" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 45<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
45<script async="async" src="/checkouts/internal/preloads.js?locale=en-AM"></script>
45 46<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
47<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-AM&shop_id=53753905346" crossorigin="anonymous"></script>
vendor: 1 bytes, line 47
47
48<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":53753905346,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/53753905346","merchantName":"Twenty-Eighth Design Studio, LLC","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Twenty-Eighth Design Studio, LLC","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 48
48
49<script id="shopify-features" type="application/json">{"accessToken":"d70203a9bd95fa9e4ee118f4b5a6b302","betas":["rich-media-storefront-analytics"],"domain":"twentyeighthdesign.com","predictiveSearch":true,"shopId":53753905346,"locale":"en"}</script>
vendor: 1 bytes, line 49
49
50<script>var Shopify = Shopify || {}; 51Shopify.shop = "twenty-eighth-design-studio.myshopify.com"; 52Shopify.locale = "en"; 53Shopify.currency = {"active":"USD","rate":"1.0"}; 54Shopify.country = "AM"; 55Shopify.theme = {"name":"Narrative","id":118999875778,"schema_name":"Narrative","schema_version":"10.2.4","theme_store_id":829,"role":"main"}; 56Shopify.theme.handle = "null"; 57Shopify.theme.style = {"id":null,"handle":null}; 58Shopify.cdnHost = "twentyeighthdesign.com/cdn"; 59Shopify.routes = Shopify.routes || {}; 60Shopify.routes.root = "/"; 61Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 62Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 63Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 64Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 64
64
65<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 65
65
66<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>
vendor: 1 bytes, line 66
66
67<script> 68 window.ShopifyPay = window.ShopifyPay || {}; 69 window.ShopifyPay.apiHost = "shop.app\/pay"; 70 window.ShopifyPay.redirectState = null; 71</script>
vendor: 1 bytes, line 71
71
72<script> 73 window.Shopify = window.Shopify || {}; 74 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 75 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 76 window.Shopify.SignInWithShop.eligible = true; 77</script>
vendor: 1 bytes, line 77
77
78<script id="shop-js-analytics" type="application/json">{"pageType":"search"}</script>
vendor: 1 bytes, line 78
78
79<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 79
79
80<script type="module"> 81 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 82 83 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 84 85</script>
vendor: 1 bytes, line 85
85
86<script> 87 window.Shopify = window.Shopify || {}; 88 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 89 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 90</script>
vendor: 1 bytes, line 90
90
91<script>(function() { 92 var isLoaded = false; 93 function asyncLoad() { 94 if (isLoaded) return; 95 isLoaded = true; 96 var urls = ["\/\/shopify.privy.com\/widget.js?shop=twenty-eighth-design-studio.myshopify.com","https:\/\/galleries.goodapps.io\/goodapps.js?domain=https:\/\/galleries.goodapps.io\/\u0026aws=https:\/\/s3-us-west-2.amazonaws.com\/goodapps-galleryp-1\/\u0026shop=twenty-eighth-design-studio.myshopify.com","https:\/\/formbuilder.hulkapps.com\/skeletopapp.js?shop=twenty-eighth-design-studio.myshopify.com","https:\/\/still-ridge-66846.herokuapp.com\/scripttag\/script_tag?shop=twenty-eighth-design-studio.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0537\/5390\/5346\/t\/2\/assets\/globo.formbuilder.init.js?v=1614367110\u0026shop=twenty-eighth-design-studio.myshopify.com","https:\/\/app.appointo.me\/scripttag\/script_tag?shop=twenty-eighth-design-studio.myshopify.com","https:\/\/cdn.nfcube.com\/7007ac5a3855828ae7337016df14964a.js?shop=twenty-eighth-design-studio.myshopify.com"]; 97 for (var i = 0; i < urls.length; i++) { 98 var s = document.createElement('script'); 99 s.type = 'text/javascript'; 100 s.async = true; 101 s.src = urls[i]; 102 var x = document.getElementsByTagName('script')[0]; 103 x.parentNode.insertBefore(s, x); 104 } 105 }; 106 if(window.attachEvent) { 107 window.attachEvent('onload', asyncLoad); 108 } else { 109 window.addEventListener('load', asyncLoad, false); 110 } 111})();</script>
vendor: 1 bytes, line 111
111
112<script id="__st">var __st={"a":53753905346,"offset":-25200,"reqid":"81adaa4a-dde8-4cb6-8a2d-12d5ec7d68f8-1791296387","pageurl":"twentyeighthdesign.com\/search","u":"e700b39527e2","p":"searchresults"};</script>
vendor: 1 bytes, line 112
112
113<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 113
113
114<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.3.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'])})(!0,!0)}();</script>
vendor: 1 bytes, line 114
114
115<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//twentyeighthdesign.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 115
115
116<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//twentyeighthdesign.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
116<script crossorigin="anonymous" defer="defer" src="//twentyeighthdesign.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 116
116
117<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 117
117
118<script> 119 window.Shopify = window.Shopify || {}; 120 window.Shopify.MCP = window.Shopify.MCP || {}; 121 window.Shopify.MCP.enabled = true; 122 window.Shopify.MCP.shop = "twenty-eighth-design-studio.myshopify.com"; 123 window.Shopify.MCP.mcpEndpoint = "https:\/\/twentyeighthdesign.com\/api\/mcp"; 124 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 125</script>
vendor: 1 bytes, line 125
125
126<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/twentyeighthdesign.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 127</script>
vendor: 1 bytes, line 127
127
128<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://twentyeighthdesign.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 129</script>
vendor: 1 bytes, line 129
129
130<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 131 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 132</script>
vendor: 1 bytes, line 132
132
133<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 134</script>
134 135<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://twentyeighthdesign.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 136<style id="shopify-accelerated-checkout-cart"> 137 #shopify-buyer-consent { 138 margin-top: 1em; 139 display: inline-block; 140 width: 100%; 141} 142 143#shopify-buyer-consent.hidden { 144 display: none; 145} 146 147#shopify-subscription-policy-button { 148 background: none; 149 border: none; 150 padding: 0; 151 text-decoration: underline; 152 font-size: inherit; 153 cursor: pointer; 154} 155 156#shopify-subscription-policy-button::before { 157 box-shadow: none; 158} 159 160 </style> 161
162<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
162 163 164 165 166 167 168<style>@font-face { 169 font-family: Archivo; 170 font-weight: 400; 171 font-style: normal; 172 src: url("//twentyeighthdesign.com/cdn/fonts/archivo/archivo_n4.dc8d917cc69af0a65ae04d01fd8eeab28a3573c9.woff2") format("woff2"), 173 url("//twentyeighthdesign.com/cdn/fonts/archivo/archivo_n4.bd6b9c34fdb81d7646836be8065ce3c80a2cc984.woff") format("woff"); 174} 175 176 @font-face { 177 font-family: Figtree; 178 font-weight: 400; 179 font-style: normal; 180 src: url("//twentyeighthdesign.com/cdn/fonts/figtree/figtree_n4.3c0838aba1701047e60be6a99a1b0a40ce9b8419.woff2") format("woff2"), 181 url("//twentyeighthdesign.com/cdn/fonts/figtree/figtree_n4.c0575d1db21fc3821f17fd6617d3dee552312137.woff") format("woff"); 182} 183 184/* ------------------------ Critical Helper Classes ------------------------- */ 185.critical-hide { 186 display: none; 187} 188 189.critical-clear { 190 opacity: 0; 191 visibility: hidden; 192} 193 194.drawer-cover { 195 opacity: 0; 196} 197 198.main-content .shopify-section { 199 display: none; 200} 201 202.main-content .shopify-section:first-child { 203 display: inherit; 204} 205 206body:not(.template-index) .main-content { 207 opacity: 0; 208} 209 210 211/* ----------------------------- Global Styles ------------------------------ */ 212*, *::before, *::after { 213 box-sizing: border-box; 214} 215 216html { 217 font-size: 50%; 218 background-color: #ffffff; 219} 220 221body { 222 margin: 0; 223 font-size: 1.6rem; 224 font-family: Figtree, sans-serif; 225 font-style: normal; 226 font-weight: 400; 227 color: #4a4a4a; 228 line-height: 1.625; 229} 230 231.page-width { 232 max-width: 980px; 233 padding: 0 20px; 234 margin: 0 auto; 235} 236 237/* ---------------------------- Helper Classes ------------------------------ */ 238.visually-hidden, 239.icon__fallback-text { 240 position: absolute !important; 241 overflow: hidden; 242 clip: rect(0 0 0 0); 243 height: 1px; 244 width: 1px; 245 padding: 0; 246 border: 0; 247} 248 249/* ----------------------------- Typography --------------------------------- */ 250body { 251 -webkit-font-smoothing: antialiased; 252 -webkit-text-size-adjust: 100%; 253} 254 255.h4 { 256 letter-spacing: inherit; 257 text-transform: inherit; 258 font-family: Archivo, sans-serif; 259 font-style: normal; 260 font-weight: 400; 261} 262 263 264.h4 a { 265 color: inherit; 266 text-decoration: none; 267 font-weight: inherit; 268} 269 270.h4 { 271 font-size: 2.2rem; 272} 273 274@media only screen and (min-width: 750px) { 275 .h4 { 276 font-size: 2.4rem; 277 line-height: 1.5; 278 } 279} 280 281/* ------------------------------ Buttons ----------------------------------- */ 282.btn, 283.btn--secondary { 284 -moz-user-select: "none"; 285 -ms-user-select: "none"; 286 -webkit-user-select: "none"; 287 user-select: "none"; 288 -webkit-appearance: none; 289 -moz-appearance: none; 290 appearance: none; 291 display: inline-block; 292 position: relative; 293 width: auto; 294 background-color: #4a4a4a; 295 border-radius: 0; 296 color: #ffffff; 297 border: 2px solid #4a4a4a; 298 font-size: 1.4rem; 299 font-weight: 700; 300 letter-spacing: 1.5px; 301 text-decoration: none; 302 text-align: center; 303 text-transform: uppercase; 304 padding: 10px 30px; 305 line-height: 2.2; 306 vertical-align: middle; 307 cursor: pointer; 308 transition: outline 0.1s linear; 309 box-sizing: border-box; 310} 311 312.btn--square { 313 width: 50px; 314 height: 50px; 315 padding: 0; 316 text-align: center; 317 line-height: 50px; 318} 319 320.btn--clear { 321 position: relative; 322 background-color: transparent; 323 border: 0; 324 color: #4a4a4a; 325 transition: 0.15s opacity ease-out; 326} 327 328.btn--clear:hover::after, 329.btn--clear::after { 330 outline: 0 !important; 331} 332 333.btn::after, 334.btn--secondary::after { 335 content: ''; 336 display: block; 337 position: absolute; 338 top: 0; 339 left: 0; 340 width: 100%; 341 height: 100%; 342 outline: 2px solid #4a4a4a; 343 transition: outline 0.1s linear; 344} 345 346/* -------------------------------- Icons ----------------------------------- */ 347.icon { 348 display: inline-block; 349 width: 20px; 350 height: 20px; 351 vertical-align: middle; 352} 353 354/* ----------------------------- Site Header -------------------------------- */ 355.site-header { 356 position: relative; 357 transition: transform 0.25s ease-out; 358 z-index: 10; 359} 360 361.site-header--transparent { 362 position: absolute; 363 top: 0; 364 left: 0; 365 right: 0; 366 z-index: 10; 367} 368 369.site-header__wrapper { 370 position: relative; 371 min-height: 60px; 372 width: 100%; 373 background-color: #fff; 374 z-index: 10; 375} 376
377.site-header--transparent .site-header__wrapper { 378 background-color: transparent; 379} 380 381.site-header__wrapper svg { 382 fill: #e1c9b4; 383} 384 385.site-header__wrapper--transitioning { 386 transition: background-color 0.25s ease-out, margin-top 0.25s ease-out; 387} 388 389.announcement-bar { 390 display: none; 391 text-align: center; 392 position: relative; 393 text-decoration: none; 394 z-index: 10; 395} 396 397.announcement-bar--visible { 398 display: block; 399} 400 401.announcement-bar__message { 402 font-size: 16px; 403 font-weight: 400; 404 padding: 10px 20px; 405 margin-bottom: 0; 406} 407 408.announcement-bar__message .icon { 409 fill: currentColor; 410} 411 412.announcement-bar__close { 413 position: absolute; 414 right: 20px; 415 padding: 0; 416 width: 30px; 417 height: 30px; 418 line-height: 100%; 419 top: 50%; 420 -ms-transform: translateY(-50%); 421 -webkit-transform: translateY(-50%); 422 transform: translateY(-50%); 423} 424 425.announcement-bar__close .icon { 426 width: 12px; 427 height: 12px; 428 fill: currentColor; 429} 430 431.site-header-sections { 432 display: -webkit-flex; 433 display: -ms-flexbox; 434 display: flex; 435 width: 100%; 436 -ms-flex-align: center; 437 -webkit-align-items: center; 438 -moz-align-items: center; 439 -ms-align-items: center; 440 -o-align-items: center; 441 align-items: center; 442 min-height: 60px; 443} 444 445.site-header__section--title { 446 display: -webkit-flex; 447 display: -ms-flexbox; 448 display: flex; 449 width: 100%; 450 -webkit-justify-content: center; 451 -ms-justify-content: center; 452 justify-content: center; 453} 454 455.site-header__logo-wrapper { 456 display: inline-block; 457 margin: 0; 458 padding: 10px 0; 459 text-align: center; 460 line-height: 1.2; 461} 462 463.site-header__logo { 464 display: block; 465} 466 467.site-header__logo-image { 468 display: block; 469 margin: 0 auto; 470} 471 472.site-header--transparent .site-header__logo-image { 473 display: none; 474} 475 476@media only screen and (max-width: 749px) { 477 .site-header__logo-image { 478 max-height: 30px; 479 } 480} 481 482.site-header__logo-image--transparent { 483 display: none; 484} 485 486.site-header--transparent .site-header__logo-image--transparent { 487 display: block; 488} 489 490.navigation-open .site-header__logo-image--transparent, 491html.supports-no-js .site-header__logo-image--transparent { 492 display: none; 493} 494 495.site-header__cart svg { 496 width: 22px; 497 height: 30px; 498 margin: -2px 0 0 -2px; 499} 500 501@media only screen and (min-width: 750px) { 502 .site-header__cart svg { 503 width: 26px; 504 } 505} 506 507.site-header__cart::after { 508 border-color: #4a4a4a; 509} 510 511.site-header__cart-bubble { 512 position: absolute; 513 top: 15px; 514 right: 10px; 515 width: 10px; 516 height: 10px; 517 background-color: #eb4f47; 518 border-radius: 50%; 519 opacity: 0; 520 transition: all 0.25s ease-out; 521 -ms-transform: scale(0); 522 -webkit-transform: scale(0); 523 transform: scale(0); 524} 525 526@media only screen and (min-width: 750px) { 527 .site-header__cart-bubble { 528 top:15px; 529 right: 9px; 530 } 531} 532 533.site-header__cart .site-header__cart-bubble { 534 top: 13px; 535} 536 537@media only screen and (min-width: 750px) { 538 .site-header__cart .site-header__cart-bubble { 539 top: 12px; 540 } 541} 542 543.site-header__cart-bubble--visible { 544 opacity: 1; 545 -ms-transform: scale(1); 546 -webkit-transform: scale(1); 547 transform: scale(1); 548} 549 550.burger-icon { 551 display: block; 552 height: 2px; 553 width: 16px; 554 left: 50%; 555 margin-left: -8px; 556 background: #e1c9b4; 557 position: absolute; 558 transition: all 0.25s ease-out; 559} 560 561@media only screen and (min-width: 750px) { 562 .burger-icon { 563 height:2px; 564 width: 24px; 565 left: 50%; 566 margin-left: -12px; 567 } 568} 569 570.burger-icon--top { 571 top: 18px; 572} 573 574@media only screen and (min-width: 750px) { 575 .burger-icon--top { 576 top: 16px; 577 } 578} 579 580.site-header__navigation--active .burger-icon--top { 581 top: 25px; 582 transform: rotate(45deg); 583} 584 585.burger-icon--mid { 586 top: 24px; 587} 588 589@media only screen and (min-width: 750px) { 590 .burger-icon--mid { 591 top: 24px; 592 } 593} 594 595.site-header__navigation--active .burger-icon--mid { 596 opacity: 0; 597} 598 599.burger-icon--bottom { 600 top: 30px; 601} 602 603@media only screen and (min-width: 750px) { 604 .burger-icon--bottom { 605 top: 32px; 606 } 607} 608 609.site-header__navigation--active .burger-icon--bottom { 610 top: 25px; 611 transform: rotate(-45deg); 612} 613 614.site-header__navigation { 615 position: relative; 616} 617 618.site-header__navigation svg {
619 width: 20px; 620 height: 30px; 621} 622 623.site-header__navigation::after { 624 border-color: #4a4a4a; 625} 626 627/* ----------------------------- Slideshow --------------------------------- */ 628.slideshow { 629 display: -webkit-flex; 630 display: -ms-flexbox; 631 display: flex; 632 width: 100%; 633 position: relative; 634 overflow: hidden; 635 min-height: 300px; 636 max-height: calc(100vh - 35px); 637 background-color: #d9d9d9; 638} 639 640.slideshow--full .slideshow { 641 height: calc(100vh - 35px); 642} 643 644@media only screen and (max-width: 749px) { 645 .slideshow--adapt .slideshow { 646 max-height: 125vw; 647 min-height: 75vw; 648 } 649} 650 651.slideshow__slides { 652 margin: 0; 653 padding: 0; 654 list-style: none; 655} 656 657.slideshow__slide { 658 position: absolute; 659 height: 100%; 660 width: 100%; 661 opacity: 0; 662 z-index: 0; 663 transition: all 0.5s cubic-bezier(0, 0, 0, 1); 664} 665 666.slideshow__slide--active { 667 transition: all 0.5s cubic-bezier(0, 0, 0, 1); 668 opacity: 1; 669 z-index: 2; 670} 671 672.slideshow__overlay::before { 673 content: ''; 674 position: absolute; 675 top: 0; 676 right: 0; 677 bottom: 0; 678 left: 0; 679 z-index: 3; 680} 681 682.slideshow__image { 683 height: 100%; 684 width: 100%; 685 object-fit: cover; 686 z-index: 1; 687 transition: opacity 0.8s cubic-bezier(0.44, 0.13, 0.48, 0.87),filter 400ms,-webkit-filter 400ms; 688 font-family: "object-fit: cover"; 689} 690 691.slideshow__image .placeholder-svg { 692 display: block; 693 fill: rgba(74,74,74,0.35); 694 background-color: #f1eee6; 695 position: absolute; 696 top: 50%; 697 left: 50%; 698 height: 100%; 699 width: auto; 700 max-height: none; 701 max-width: none; 702 -ms-transform: translate(-50%, -50%); 703 -webkit-transform: translate(-50%, -50%); 704 transform: translate(-50%, -50%); 705} 706 707.slideshow__image .placeholder-background { 708 background-color: #faf9f6; 709 position: absolute; 710 top: 0; 711 right: 0; 712 bottom: 0; 713 left: 0; 714} 715 716.slideshow__navigation { 717 margin: 0; 718 padding: 0; 719 list-style: none; 720} 721 722.slideshow__text-content-mobile, 723.slideshow__button-cta-single { 724 display: none; 725} 726 727.slideshow__indicators { 728 margin: 0; 729 padding: 0; 730 list-style: none; 731} 732</style> 733 734 735 736 737<link title="theme" rel="preload" href="//twentyeighthdesign.com/cdn/shop/t/2/assets/theme.scss.css?v=56844834559266442191774046073" as="style"> 738<noscript><link rel="stylesheet" href="//twentyeighthdesign.com/cdn/shop/t/2/assets/theme.scss.css?v=56844834559266442191774046073"></noscript> 739
740<script> 741/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ 742!function(a){"use strict";var b=function(b,c,d){function e(a){return h.body?a():void setTimeout(function(){e(a)})}function f(){i.addEventListener&&i.removeEventListener("load",f);if(!Shopify.designMode)i.media=d||"all"}var g,h=a.document,i=h.createElement("link");if(c)g=c;else{var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]}var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media=Shopify.designMode?d||"all":"only x",e(function(){g.parentNode.insertBefore(i,c?g:g.nextSibling)});var l=function(a){for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){l(a)})};return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i};"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b}("undefined"!=typeof global?global:this); 743/*! onloadCSS. (onload callback for loadCSS) [c]2017 Filament Group, Inc. MIT License */ 744function onloadCSS(a,b){function c(){!d&&b&&(d=!0,b.call(a))}var d;a.addEventListener&&a.addEventListener("load",c),a.attachEvent&&a.attachEvent("onload",c),"isApplicationInstalled"in navigator&&"onloadcssdefined"in a&&a.onloadcssdefined(c)} 745 746// Insert our stylesheet before our preload <link> tag 747var preload = document.querySelector('link[href="//twentyeighthdesign.com/cdn/shop/t/2/assets/theme.scss.css?v=56844834559266442191774046073"]'); 748var stylesheet = loadCSS('//twentyeighthdesign.com/cdn/shop/t/2/assets/theme.scss.css?v=56844834559266442191774046073', preload); 749// Create a property to easily detect if the stylesheet is done loading 750onloadCSS(stylesheet, function() { stylesheet.loaded = true; }); 751</script>
751 752 753
753<script> 754 var theme = { 755 stylesheet: "//twentyeighthdesign.com/cdn/shop/t/2/assets/theme.scss.css?v=56844834559266442191774046073", 756 modelViewerUiSprite: "//twentyeighthdesign.com/cdn/shop/t/2/assets/model-viewer-ui-sprite.svg?v=51012726060321609211613070064", 757 plyrSprite: "//twentyeighthdesign.com/cdn/shop/t/2/assets/plyr-sprite.svg?v=50389300931231853141613070065", 758 strings: { 759 addToCart: "Add to Cart", 760 soldOut: "Sold Out", 761 unavailable: "Unavailable", 762 addItemSuccess: "Item added to cart!", 763 viewCart: "View cart", 764 external: "Opens external website.", 765 newWindow: "Opens in a new window.", 766 newWindowExternal: "Opens external website in a new window.", 767 cartError: "There was an error while updating your cart. Please try again.", 768 cartQuantityError: "You can only add [quantity] [title] to your cart.", 769 regularPrice: "Regular price", 770 salePrice: "Sale price", 771 unitPrice: "Unit price", 772 unitPriceSeparator: "per", 773 newsletter: { 774 blankError: "Email can\u0026#39;t be blank.", 775 invalidError: "Please enter a valid email address." 776 }, 777 map: { 778 zeroResults: "No results for that address", 779 overQueryLimit: "You have exceeded the Google API usage limit. Consider upgrading to a \u003ca href=\"https:\/\/developers.google.com\/maps\/premium\/usage-limits\"\u003ePremium Plan\u003c\/a\u003e.", 780 authError: "There was a problem authenticating your Google Maps API Key.", 781 addressError: "Error looking up that address" 782 }, 783 slideshow: { 784 loadSlideA11yString: "Load slide [slide_number]", 785 activeSlideA11yString: "Slide [slide_number], current" 786 } 787 }, 788 isOnline: true, 789 moneyFormat: "${{amount}}", 790 mediaQuerySmall: 750, 791 mediaQueryMedium: 990 792 }; 793 794 795 796 document.documentElement.className = document.documentElement.className.replace('supports-no-js', ''); 797 </script>
797 798 799
799<script src="//twentyeighthdesign.com/cdn/shop/t/2/assets/lazysizes.min.js?v=41644173127543473891613070064" async="async"></script>
799 800
800<script src="//twentyeighthdesign.com/cdn/shop/t/2/assets/vendor.min.js?v=85821191610609335681613070067" defer="defer"></script>
800 801
801<script src="//twentyeighthdesign.com/cdn/shop/t/2/assets/theme.min.js?v=121463511954277975731613070066" defer="defer"></script>
801 802
802<script src="//twentyeighthdesign.com/cdn/shop/t/2/assets/custom.js?v=101612360477050417211613070062" defer="defer"></script>
802 803<link href="//twentyeighthdesign.com/cdn/shop/t/2/assets/ndnapps-easyfaqs.css?v=138253918344588568131613234200" rel="stylesheet" type="text/css" media="all" /> 804
804<script src="https://shopoe.net/app.js"></script>
804 805 806 807
808<script> 809 var Globo = Globo || {}; 810 Globo.FormBuilder = Globo.FormBuilder || {} 811 Globo.FormBuilder.url = "https://form.globosoftware.net" 812 Globo.FormBuilder.shop = { 813 settings : { 814 reCaptcha : { 815 siteKey : '' 816 }, 817 hideWaterMark : false 818 }, 819 pricing:{ 820 features:{ 821 fileUpload : 2, 822 removeCopyright : false 823 } 824 } 825 } 826 Globo.FormBuilder.forms = [] 827 828 Globo.FormBuilder.page = { 829 title : document.title, 830 href : window.location.href 831 } 832</script>
832 833
834<script type="text/template" id="globo-formbuilder-dynamicCSS"> 835 836 .globo-form-app{ 837 max-width: {{configs.appearance.width}}px; 838 width: -webkit-fill-available; 839 background-color:#FFF; 840 {% if configs.appearance.background == 'color' %} 841 background-color: {{configs.appearance.backgroundColor}}; 842 {% endif %} 843 {% if configs.appearance.background == 'image' %} 844 background-image : url('{{configs.appearance.backgroundImage}}'); 845 background-position: center {{configs.appearance.backgroundImageAlignment}};; 846 background-repeat:no-repeat; 847 background-size: cover; 848 {% endif %} 849} 850 851.globo-form-app .globo-heading{ 852 color: {{configs.appearance.headingColor}} 853} 854.globo-form-app .globo-description, 855.globo-form-app .header .globo-description{ 856 color: {{configs.appearance.descriptionColor}} 857} 858.globo-form-app .globo-label, 859.globo-form-app .globo-form-control label.globo-label, 860.globo-form-app .globo-form-control label.globo-label span.label-content{ 861 color: {{configs.appearance.labelColor}} 862} 863.globo-form-app .globo-form-control .help-text.globo-description{ 864 color: {{configs.appearance.descriptionColor}} 865} 866.globo-form-app .globo-form-control .checkbox-wrapper .globo-option, 867.globo-form-app .globo-form-control .radio-wrapper .globo-option 868{ 869 color: {{configs.appearance.optionColor}} 870} 871.globo-form-app .footer{ 872 text-align:{{configs.footer.submitAlignment}}; 873} 874.globo-form-app .footer button{ 875 border:1px solid {{configs.appearance.mainColor}}; 876 {% if configs.footer.submitFullWidth %} 877 width:100%; 878 {% endif %} 879} 880.globo-form-app .footer button.submit, 881.globo-form-app .footer button.action.loading .spinner{ 882 background-color: {{configs.appearance.mainColor}}; 883 color : {{ configs.appearance.mainColor | idealTextColor }}; 884} 885.globo-form-app .globo-form-control .star-rating>fieldset:not(:checked)>label:before { 886 content: url('data:image/svg+xml; utf8, <svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="star" class="svg-inline--fa fa-star fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="{{configs.appearance.mainColor | encodeHexColor }}" d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z"></path></svg>'); 887} 888.globo-form-app .globo-form-control .star-rating>fieldset>input:checked ~ label:before { 889 content: url('data:image/svg+xml; utf8, <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="star" class="svg-inline--fa fa-star fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="{{configs.appearance.mainColor | encodeHexColor }}" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"></path></svg>'); 890} 891.globo-form-app .globo-form-control .star-rating>fieldset:not(:checked)>label:hover:before, .globo-form-app .globo-form-control .star-rating>fieldset:not(:checked)>label:hover ~ label:before{ 892 content : url('data:image/svg+xml; utf8, <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="star" class="svg-inline--fa fa-star fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="{{configs.appearance.mainColor | encodeHexColor }}" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"></path></svg>') 893} 894.globo-form-app .globo-form-control .radio-wrapper .radio-input:checked ~ .radio-label:after { 895 background: {{configs.appearance.mainColor}}; 896 background: radial-gradient({{configs.appearance.mainColor}} 40%, #fff 45%); 897} 898.globo-form-app .globo-form-control .checkbox-wrapper .checkbox-input:checked ~ .checkbox-label:before { 899 border-color: {{configs.appearance.mainColor}}; 900 box-shadow: 0 4px 6px rgba(50,50,93,0.11), 0 1px 3px rgba(0,0,0,0.08); 901 background-color: {{configs.appearance.mainColor}}; 902} 903.globo-form-app .step.-completed .step__number, 904.globo-form-app .line.-progress, 905.globo-form-app .line.-start{ 906 background-color: {{configs.appearance.mainColor}}; 907} 908.globo-form-app .checkmark__check, 909.globo-form-app .checkmark__circle{ 910 stroke: {{configs.appearance.mainColor}}; 911} 912.globo-form .floating-button{ 913 background-color: {{configs.appearance.mainColor}}; 914} 915.globo-form-app .globo-form-control .checkbox-wrapper .checkbox-input ~ .checkbox-label:before, 916.globo-form-app .globo-form-control .radio-wrapper .radio-input ~ .radio-label:after{ 917 border-color : {{configs.appearance.mainColor}}; 918} 919.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay { 920 background: {{configs.appearance.mainColor}}; 921 border-color: {{configs.appearance.mainColor}}; 922} 923 924</script>
vendor: 1 bytes, line 924
924
925<script type="text/template" id="globo-formbuilder-template"> 926 927 <div class="globo-form {{configs.appearance.layout}}-form"> 928<style>{{ null | renderElement : dynamicCSS,configs }}</style> 929<div class="globo-form-app {{configs.appearance.layout}}-layout"> 930 <form class="g-container" novalidate action="{{Globo.FormBuilder.url}}/api/front/form/{{formId}}/send" method="POST" enctype="multipart/form-data" data-id={{formId}}> 931 {% if configs.header.active %} 932 <div class="header"> 933 <h3 class="title globo-heading">{{configs.header.title}}</h3> 934 {% if configs.header.description != '' and configs.header.description != '<p><br></p>' %} 935 <div class="description globo-description">{{configs.header.description}}</div> 936 {% endif %} 937 </div> 938 {% endif %} 939 {% if configs.isStepByStepForm %} 940 <div class="globo-formbuilder-wizard" data-id={{formId}}> 941 <div class="wizard__content"> 942 <header class="wizard__header"> 943 <div class="wizard__steps"> 944 <nav class="steps"> 945 {% for element in configs.elements %} 946 <div class="step"> 947 <div class="step__content"> 948 <p class="step__number"></p> 949 <svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"> 950 <circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/> 951 <path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/> 952 </svg> 953 <div class="lines"> 954 {% if forloop.first == true %} 955 <div class="line -start"></div> 956 {% endif %} 957 <div class="line -background"> 958 </div> 959 <div class="line -progress"> 960 </div> 961 </div> 962 </div> 963 </div> 964 {% endfor %} 965 </nav> 966 </div> 967 </header> 968 <div class="panels"> 969 {% for element in configs.elements %} 970 <div class="panel" data-id={{formId}}> 971 {% if element.type != "group" %} 972 {{ element | renderElement : partialElement , configs }} 973 {% else %} 974 {% for el in element.elements %} 975 {{ el | renderElement : partialElement , configs }} 976 {% endfor %} 977 {% endif %} 978 {% if forloop.last == true %} 979 {% if configs.reCaptcha.enable = true %} 980 <div class="globo-form-control"> 981 <div class="globo-g-recaptcha" data-sitekey="{{Globo.FormBuilder.shop.settings.reCaptcha.siteKey}}"></div> 982 <input type="hidden" name="reCaptcha" id="reCaptcha"> 983 <small class="messages"></small> 984 </div> 985 {% endif %} 986 {% endif %} 987 </div> 988 {% endfor %} 989 </div> 990 {% if Globo.FormBuilder.shop.pricing.features.removeCopyright == false and Globo.FormBuilder.shop.settings.hideWaterMark == false %} 991 <p style="text-align: right;font-size:small;" >Made by <a target="_blank" rel="nofollow" href="https://apps.shopify.com/form-builder
991-contact-form">Powerful Contact Form Builder</a> </p> 992 {% endif %} 993 <div class="message error" data-other-error="{{configs.errorMessage.otherError}}"> 994 <div class="content"></div> 995 <div class="dismiss" onclick="Globo.dismiss(this)"> 996 <svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg> 997 </div> 998 </div> 999 {% unless configs.afterSubmit.message == "" %} 1000 <div class="message success"> 1001 <div class="content">{{configs.afterSubmit.message}}</div> 1002 <div class="dismiss" onclick="Globo.dismiss(this)"> 1003 <svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg> 1004 </div> 1005 </div> 1006 {% endunless %} 1007 <div class="footer wizard__footer"> 1008 {% if configs.footer.description != '' and configs.footer.description != '<p><br></p>' %} 1009 <div class="description globo-description">{{configs.footer.description}}</div> 1010 {% endif %} 1011 <button type="button" class="action previous {{configs.appearance.style}}-button">{{configs.footer.previousText}}</button> 1012 <button type="button" class="action next submit {{configs.appearance.style}}-button" data-submitting-text="{{configs.footer.submittingText}}" data-submit-text='<span class="spinner"></span>{{configs.footer.submitText}}' data-next-text={{configs.footer.nextText}} ><span class="spinner"></span>{{configs.footer.nextText}}</button> 1013 <h1 class="wizard__congrats-message"></h1> 1014 </div> 1015 </div> 1016 </div> 1017 {% else %} 1018 <div class="content flex-wrap block-container" data-id={{formId}}> 1019 {% for element in configs.elements %} 1020 {% if element.type != "group" %} 1021 {{ element | renderElement : partialElement , configs }} 1022 {% else %} 1023 {% for el in element.elements %} 1024 {{ el | renderElement : partialElement , configs }} 1025 {% endfor %} 1026 {% endif %} 1027 {% endfor %} 1028 {% if configs.reCaptcha.enable = true %} 1029 <div class="globo-form-control"> 1030 <div class="globo-g-recaptcha" data-sitekey="{{Globo.FormBuilder.shop.settings.reCaptcha.siteKey}}"></div> 1031 <input type="hidden" name="reCaptcha" id="reCaptcha"> 1032 <small class="messages"></small> 1033 </div> 1034 {% endif %} 1035 </div> 1036 {% if Globo.FormBuilder.shop.pricing.features.removeCopyright == false and Globo.FormBuilder.shop.settings.hideWaterMark == false %} 1037 <p style="text-align: right;font-size:small;">Made by <a target="_blank" rel="nofollow" href="https://apps.shopify.com/form-builder-contact-form">Powerful Contact Form Builder</a> </p> 1038 {% endif %} 1039 <div class="message error" data-other-error="{{configs.errorMessage.otherError}}"> 1040 <div class="content"></div> 1041 <div class="dismiss" onclick="Globo.dismiss(this)"> 1042 <svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg> 1043 </div> 1044 </div> 1045 {% unless configs.afterSubmit.message == "" %} 1046 <div class="message success"> 1047 <div class="content">
1047{{configs.afterSubmit.message}}</div> 1048 <div class="dismiss" onclick="Globo.dismiss(this)"> 1049 <svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg> 1050 </div> 1051 </div> 1052 {% endunless %} 1053 <div class="footer"> 1054 {% if configs.footer.description != '' and configs.footer.description != '<p><br></p>' %} 1055 <div class="description globo-description">{{configs.footer.description}}</div> 1056 {% endif %} 1057 <button class="action submit {{configs.appearance.style}}-button"><span class="spinner"></span>{{configs.footer.submitText}}</button> 1058 </div> 1059 {% endif %} 1060 {% if Globo.FormBuilder.customer %} 1061 <input type="hidden" value="{{Globo.FormBuilder.customer.id}}" name="customer[id]"> 1062 <input type="hidden" value="{{Globo.FormBuilder.customer.email}}" name="customer[email]"> 1063 <input type="hidden" value="{{Globo.FormBuilder.customer.name}}" name="customer[name]"> 1064 {% endif %} 1065 <input type="hidden" value="{{Globo.FormBuilder.page.title}}" name="page[title]"> 1066 <input type="hidden" value="{{Globo.FormBuilder.page.href}}" name="page[href]"> 1067 1068 <input type="hidden" value="" name="_keyLabel"> 1069 </form> 1070 {% unless configs.afterSubmit.message == "" %} 1071 <div class="message success"> 1072 <div class="content">{{configs.afterSubmit.message}}</div> 1073 <div class="dismiss" onclick="Globo.dismiss(this)"> 1074 <svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg> 1075 </div> 1076 </div> 1077 {% endunless %} 1078</div> 1079{% if configs.appearance.layout == 'float' %} 1080{% if configs.appearance.floatingIcon != '' or configs.appearance.floatingText != '' %} 1081{% if configs.appearance.floatingText != '' and configs.appearance.floatingText != null %} 1082{% assign circle = '' %} 1083{% else %} 1084{% assign circle = 'circle' %} 1085{% endif %} 1086<div class="floating-button {{circle}} {{configs.appearance.position}}" onclick="Globo.FormBuilder.showFloatingForm(this)"> 1087 <div class="fabLabel"> 1088 {{configs.appearance.floatingIcon}} 1089 {{configs.appearance.floatingText}} 1090 </div> 1091</div> 1092{% endif %} 1093<div class="overlay" onclick="Globo.FormBuilder.hideFloatingForm(this)"></div> 1094{% endif %} 1095</div> 1096 1097</script>
vendor: 1 bytes, line 1097
1097
1098<script type="text/template" id="globo-formbuilder-element"> 1099 1100 {% assign columnWidth = element.columnWidth | parseInt %} 1101{% assign columnWidthClass = "layout-" | append : columnWidth | append : "-column" %} 1102{% assign attrInput = "" %} 1103 1104{% if element.conditionalField && element.onlyShowIf && element.onlyShowIf != false %} 1105{% assign columnWidthClass = columnWidthClass | append : " conditional-field" %} 1106{% assign escapeConnectedValue = element[element.onlyShowIf] | escapeHtml %} 1107{% assign attrInput = "disabled='disabled'" %} 1108{% assign dataAttr = dataAttr | append : " data-connected-id='" | append : element.onlyShowIf | append : "'" %} 1109{% assign dataAttr = dataAttr | append : " data-connected-value='" | append : escapeConnectedValue | append : "'" %} 1110{% endif %} 1111 1112{% case element.type %} 1113{% when "text" %} 1114<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1115 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1116 <input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} > 1117 {% if element.description != '' %} 1118 <small class="help-text globo-description">{{element.description}}</small> 1119 {% endif %} 1120 <small class="messages"></small> 1121</div> 1122{% when "name" %} 1123<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1124 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1125 <input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} > 1126 {% if element.description != '' %} 1127 <small class="help-text globo-description">{{element.description}}</small> 1128 {% endif %} 1129 <small class="messages"></small> 1130</div> 1131{% when "email" %} 1132<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1133 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1134 <input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} > 1135 {% if element.description != '' %} 1136 <small class="help-text globo-description">{{element.description}}</small> 1137 {% endif %} 1138 <small class="messages"></small> 1139</div> 1140{% when "textarea" %} 1141<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1142 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1143 <textarea id="{{element.id}}" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" rows="3" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} ></textarea> 1144 {% if element.description != '' %} 1145 <small class="help-text globo-description">{{element.description}}</small> 1146 {% endif %} 1147 <small class="messages"></small> 1148</div> 1149{% when "url" %} 1150<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1151 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1152 <input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}
1152-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} > 1153 {% if element.description != '' %} 1154 <small class="help-text globo-description">{{element.description}}</small> 1155 {% endif %} 1156 <small class="messages"></small> 1157</div> 1158{% when "phone" %} 1159<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1160 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1161 <input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} > 1162 {% if element.description != '' %} 1163 <small class="help-text globo-description">{{element.description}}</small> 1164 {% endif %} 1165 <small class="messages"></small> 1166</div> 1167{% when "number" %} 1168<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1169 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1170 <input type="number" {{attrInput}} class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} > 1171 {% if element.description != '' %} 1172 <small class="help-text globo-description">{{element.description}}</small> 1173 {% endif %} 1174 <small class="messages"></small> 1175</div> 1176{% when "password" %} 1177<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1178 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1179 <input type="password" data-type="{{element.type}}" {{attrInput}} class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" {% if element.validationRule %} data-validate-rule="{{element.validationRule}}" {% endif %} {% if element.validationRule == 'advancedValidateRule' %} data-advanced-validate-rule="{{element.advancedValidateRule}}" {% endif %} placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} > 1180 {% if element.description != '' %} 1181 <small class="help-text globo-description">{{element.description}}</small> 1182 {% endif %} 1183 <small class="messages"></small> 1184</div> 1185{% if element.hasConfirm %} 1186 <div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1187 <label for="{{element.id}}Confirm" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.labelConfirm}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1188 <input type="password" data-type="{{element.type}}" data-additional-type="confirm-{{element.type}}" data-connected-element="{{element.id}}" {% if element.validationRule %} data-validate-rule="{{element.validationRule}}" {% endif %} {% if element.validationRule == 'advancedValidateRule' %} data-advanced-validate-rule="{{element.advancedValidateRule}}" {% endif %} {{attrInput}} class="{{configs.appearance.style}}-input" id="{{element.id}}Confirm" name="{{element.id}}Confirm" placeholder="{{element.placeholderConfirm}}" {% if element.required %}presence{% endif %} > 1189 {% if element.descriptionConfirm != '' %} 1190 <small class="help-text globo-description">{{element.descriptionConfirm}}</small> 1191 {% endif %} 1192 <small class="messages"></small> 1193 </div> 1194{% endif %} 1195{% when "datetime" %} 1196<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1197 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1198 <input 1199 type="text" 1200 {{attrInput}} 1201 data-type="{{element.type}}" 1202 class="{{configs.appearance.style}}-input"
1203 id="{{element.id}}" 1204 name="{{element.id}}" 1205 placeholder="{{element.placeholder}}" 1206 {% if element.required %}presence{% endif %} 1207 data-format="{{element.format}}" 1208 {% if element.otherLang %} 1209 data-locale="{{element.localization}}" 1210 {% endif %} 1211 dataDateFormat="{{element.date-format}}" 1212 dataTimeFormat="{{element.time-format}}" 1213 {% if element.format == 'date' and element.isLimitDate %} 1214 limitDateType="{{element.limitDateType}}" 1215 {% if element.limitDateSpecificEnabled %} 1216 limitDateSpecificDates="{{element.limitDateSpecificDates}}" 1217 {% endif %} 1218 {% if element.limitDateRangeEnabled %} 1219 limitDateRangeDates="{{element.limitDateRangeDates}}" 1220 {% endif %} 1221 {% if element.limitDateDOWEnabled %} 1222 limitDateDOWDates="{{element.limitDateDOWDates}}" 1223 {% endif %} 1224 {% endif %} 1225 > 1226 {% if element.description != '' %} 1227 <small class="help-text globo-description">{{element.description}}</small> 1228 {% endif %} 1229 <small class="messages"></small> 1230</div> 1231{% when "file" %} 1232<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1233 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1234 <input type="file" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" {% if element.allowed-multiple %} multiple name="{{element.id}}[]" {% else %} name="{{element.id}}" {% endif %} 1235 placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} data-allowed-extensions="{{element.allowed-extensions | join : ',' }}"> 1236 {% if element.description != '' %} 1237 <small class="help-text globo-description">{{element.description}}</small> 1238 {% endif %} 1239 <small class="messages"></small> 1240</div> 1241{% when "checkbox" %} 1242<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1243 <legend class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</legend> 1244 {% assign options = element.options | optionsToArray %} 1245 <ul> 1246 {% for option in options %} 1247 <li> 1248 <div class="checkbox-wrapper"> 1249 <input class="checkbox-input" {{attrInput}} id="{{element.id}}-{{option}}-{{uniqueId}}" type="checkbox" data-type="{{element.type}}" name="{{element.id}}[]" {% if element.required %}presence{% endif %} value="{{option}}"> 1250 <label class="checkbox-label globo-option" for="{{element.id}}-{{option}}-{{uniqueId}}">{{option}}</label> 1251 </div> 1252 </li> 1253 1254 {% endfor %} 1255 </ul> 1256 {% if element.description != '' %} 1257 <small class="help-text globo-description">{{element.description}}</small> 1258 {% endif %} 1259 <small class="messages"></small> 1260</div> 1261{% when "radio" %} 1262<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1263 <legend class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</legend> 1264 {% assign options = element.options | optionsToArray %} 1265 <ul> 1266 {% for option in options %} 1267 <li> 1268 <div class="radio-wrapper"> 1269 <input class="radio-input" {{attrInput}} id="{{element.id}}-{{option}}-{{uniqueId}}" type="radio" data-type="{{element.type}}" name="{{element.id}}" {% if element.required %}presence{% endif %} value="{{option}}"> 1270 <label class="radio-label globo-option" for="{{element.id}}-{{option}}-{{uniqueId}}">{{option}}</label> 1271 </div> 1272 </li> 1273 {% endfor %} 1274 </ul> 1275 {% if element.description != '' %} 1276 <small class="help-text globo-description">{{element.description}}</small> 1277 {% endif %} 1278 <small class="messages"></small> 1279</div> 1280{% when "select" %} 1281<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
1282 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1283 {% assign options = element.options | optionsToArray %} 1284 <select name="{{element.id}}" {{attrInput}} id="{{element.id}}" class="{{configs.appearance.style}}-input" {% if element.required %}presence{% endif %}> 1285 <option selected="selected" value="" disabled="disabled">{{element.placeholder}}</option> 1286 {% for option in options %} 1287 <option value="{{option}}">{{option}}</option> 1288 {% endfor %} 1289 </select> 1290 {% if element.description != '' %} 1291 <small class="help-text globo-description">{{element.description}}</small> 1292 {% endif %} 1293 <small class="messages"></small> 1294</div> 1295{% when "country" %} 1296<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1297 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1298 {% assign options = element.options | optionsToArray %} 1299 <select name="{{element.id}}" {{attrInput}} id="{{element.id}}" class="{{configs.appearance.style}}-input" {% if element.required %}presence{% endif %}> 1300 <option selected="selected" value="" disabled="disabled">{{element.placeholder}}</option> 1301 {% for option in options %} 1302 <option value="{{option}}">{{option}}</option> 1303 {% endfor %} 1304 </select> 1305 {% if element.description != '' %} 1306 <small class="help-text globo-description">{{element.description}}</small> 1307 {% endif %} 1308 <small class="messages"></small> 1309</div> 1310{% when "heading" %} 1311<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1312 <h3 class="heading-title globo-heading">{{element.heading}}</h3> 1313 <p class="heading-caption">{{element.caption}}</p> 1314</div> 1315{% when "paragraph" %} 1316<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1317 <label for="{{element.id}}" class="{{configs.appearance.style}}-label"><span class="label-content">{{element.label}}</span></label> 1318 <div class="globo-paragraph">{{element.text}}</div> 1319</div> 1320{% when "rating-star" %} 1321<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}> 1322 <label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1323 <div class="star-rating"> 1324 <fieldset> 1325 <input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-5-stars" name="{{element.id}}" value="5" /><label for="{{element.id}}-5-stars" title="5 Stars">5 stars</label> 1326 <input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-4-stars" name="{{element.id}}" value="4" /><label for="{{element.id}}-4-stars" title="4 Stars">4 stars</label> 1327 <input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-3-stars" name="{{element.id}}" value="3" /><label for="{{element.id}}-3-stars" title="3 Stars">3 stars</label> 1328 <input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-2-stars" name="{{element.id}}" value="2" /><label for="{{element.id}}-2-stars" title="2 Stars">2 stars</label> 1329 <input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-1-star" name="{{element.id}}" value="1" /><label for="{{element.id}}-1-star" title="1 Star">1 star</label> 1330 </fieldset> 1331 </div> 1332 {% if element.description != '' %} 1333 <small class="help-text globo-description">{{element.description}}</small> 1334 {% endif %} 1335 <small class="messages"></small> 1336</div> 1337{% when "devider" %} 1338<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}} > 1339 <hr> 1340</div> 1341{% when "hidden" %} 1342<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}} style="display: none;visibility: hidden;">
1343 <label for="{{element.id}}" class="{{configs.appearance.style}}-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label> 1344 {% if element.dataType == 'fixed' %} 1345 <input type="hidden" data-type="{{element.dataType}}" id="{{element.id}}" name="{{element.id}}" value="{{element.fixedValue}}"> 1346 {% else %} 1347 <input type="hidden" data-type="{{element.dataType}}" id="{{element.id}}" name="{{element.id}}" data-default-value="{{element.defaultValue}}" value="{{element.defaultValue}}" > 1348 {% endif %} 1349</div> 1350{% else %} 1351 1352{% endcase %} 1353 1354</script>
1354 1355<link href="//twentyeighthdesign.com/cdn/shop/t/2/assets/globo.formbuilder.css?v=179250631008019707051614367108" rel="stylesheet" type="text/css" media="all" />
1355<script src="//twentyeighthdesign.com/cdn/shop/t/2/assets/globo.formbuilder.data.34350.js?v=164871994104562286021614627850" defer ></script>
vendor: 1 bytes, line 1355
1355
1356<script src="//twentyeighthdesign.com/cdn/shop/t/2/assets/globo.formbuilder.js?v=102282408301503865171614367109" defer ></script>
1356 1357<link href="//twentyeighthdesign.com/cdn/shop/t/2/assets/zify-gallery.css?v=159669679386876137931689737247" rel="stylesheet" type="text/css" media="all" /> 1358<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1359<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";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: 53753905346,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "search"};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>
vendor: 1 bytes, line 1359
1359
1360<script> 1361 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1362</script>
vendor: 1 bytes, line 1362
1362
1363<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={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:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-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:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-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,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1363).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 53753905346,storefrontBaseUrl: "https://twentyeighthdesign.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://twentyeighthdesign.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Twenty-Eighth Design Studio, LLC","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"twenty-eighth-design-studio.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/twentyeighthdesign.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://twentyeighthdesign.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"118999875778","themeStoreId":"829","themePublished":"true","eventMetadataId":"c8bc6100-3251-43e2-9ccc-3d62bef6ebb3","pageType":"searchresults","shopId":"53753905346","storefrontBaseUrl":"https:\/\/twentyeighthdesign.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"search_submitted\",{\"searchResult\":{\"query\":\"\",\"productVariants\":[]}}]]"});})();</script>
1363<script> 1364 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1365 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1366 window.ShopifyAnalytics.meta.currency = 'USD'; 1367 var meta = {"products":[],"page":{"pageType":"searchresults","requestId":"81adaa4a-dde8-4cb6-8a2d-12d5ec7d68f8-1791296387"}}; 1368 for (var attr in meta) { 1369 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1370 } 1371</script>
vendor: 1 bytes, line 1371
1371
1372<script class="analytics"> 1373 (function () { 1374 var customDocumentWrite = function(content) { 1375 var jquery = null; 1376 1377 if (window.jQuery) { 1378 jquery = window.jQuery; 1379 } else if (window.Checkout && window.Checkout.$) { 1380 jquery = window.Checkout.$; 1381 } 1382 1383 if (jquery) { 1384 jquery('body').append(content); 1385 } 1386 }; 1387 1388 var hasLoggedConversion = function(token) { 1389 if (token) { 1390 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1391 } 1392 return false; 1393 } 1394 1395 var setCookieIfConversion = function(token) { 1396 if (token) { 1397 var twoMonthsFromNow = new Date(Date.now()); 1398 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1399 1400 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1401 } 1402 } 1403 1404 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1405 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1406 if (trekkie.integrations) { 1407 return; 1408 } 1409 trekkie.methods = [ 1410 'identify', 1411 'page', 1412 'ready', 1413 'track', 1414 'trackForm', 1415 'trackLink' 1416 ]; 1417 trekkie.factory = function(method) { 1418 return function() { 1419 var args = Array.prototype.slice.call(arguments); 1420 args.unshift(method); 1421 trekkie.push(args); 1422 if (method == 'track' || method == 'page') { 1423 var pageUrl; 1424 try { 1425 pageUrl = window.location.href; 1426 } catch (e) {} 1427 var pageReferrer; 1428 try { 1429 pageReferrer = document.referrer; 1430 } catch (e) {} 1431 try { 1432 if (window.__TREKKIE_SHIM_QUEUE == null) { 1433 window.__TREKKIE_SHIM_QUEUE = []; 1434 } 1435 window.__TREKKIE_SHIM_QUEUE.push({ 1436 from: 'trekkie-stub', 1437 method: method, 1438 args: args.slice(1), 1439 pageContext: { 1440 url: pageUrl, 1441 referrer: pageReferrer 1442 } 1443 }); 1444 } catch (e) { 1445 // no-op 1446 } 1447 } 1448 return trekkie; 1449 }; 1450 }; 1451 for (var i = 0; i < trekkie.methods.length; i++) { 1452 var key = trekkie.methods[i]; 1453 trekkie[key] = trekkie.factory(key); 1454 } 1455 trekkie.load = function(config) { 1456 trekkie.config = config || {}; 1457 trekkie.config.initialDocumentCookie = document.cookie; 1458 var first = document.getElementsByTagName('script')[0]; 1459var script = document.createElement('script'); 1460script.type = 'text/javascript'; 1461script.onerror = function(e) { 1462 var scriptFallback = document.createElement('script'); 1463 scriptFallback.type = 'text/javascript'; 1464 scriptFallback.onerror = function(error) { 1465 var Monorail = { 1466 produce: function produce(monorailDomain, schemaId, payload) { 1467 var currentMs = new Date().getTime(); 1468 var event = { 1469 schema_id: schemaId, 1470 payload: payload, 1471 metadata: { 1472 event_created_at_ms: currentMs, 1473 event_sent_at_ms: currentMs 1474 } 1475 }; 1476 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1477 }, 1478 sendRequest: function sendRequest(endpointUrl, payload) { 1479 // Try the sendBeacon API 1480 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1481 var blobData = new window.Blob([payload], { 1482 type: 'text/plain' 1483 }); 1484 1485 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1486 return true; 1487 } // sendBeacon was not successful 1488 1489 } // XHR beacon 1490 1491 var xhr = new XMLHttpRequest(); 1492 1493 try { 1494 xhr.open('POST', endpointUrl); 1495 xhr.setRequestHeader('Content-Type', 'text/plain'); 1496 xhr.send(payload); 1497 } catch (e) { 1498 console.log(e); 1499 } 1500 1501 return false; 1502 }, 1503 isIos12: function isIos12() { 1504 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1505 } 1506 }; 1507 Monorail.produce('monorail-edge.shopifysvc.com', 1508 'trekkie_storefront_load_errors/1.1', 1509 {shop_id: 53753905346, 1510 theme_id: 118999875778, 1511 app_name: "storefront", 1512 context_url: window.location.href, 1513 source_url: "//twentyeighthdesign.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 1514 1515 }; 1516 scriptFallback.async = true; 1517 scriptFallback.src = '//twentyeighthdesign.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1518 first.parentNode.insertBefore(scriptFallback, first); 1519}; 1520script.async = true; 1521script.src = '//twentyeighthdesign.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1522first.parentNode.insertBefore(script, first); 1523 1524 }; 1525 trekkie.load( 1526 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":53753905346,"isMerchantRequest":null,"themeId":118999875778,"themeCityHash":"663155043384193141","contentLanguage":"en","currency":"USD","eventMetadataId":"c8bc6100-3251-43e2-9ccc-3d62bef6ebb3"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1527 ); 1528 1529 var loaded = false;
1530 trekkie.ready(function() { 1531 if (loaded) return; 1532 loaded = true; 1533 1534 window.ShopifyAnalytics.lib = window.trekkie; 1535 1536 var originalDocumentWrite = document.write; 1537 document.write = customDocumentWrite; 1538 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1539 document.write = originalDocumentWrite; 1540 1541 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1542 var token = match? match[1]: undefined; 1543 if (!hasLoggedConversion(token)) { 1544 setCookieIfConversion(token); 1545 window.ShopifyAnalytics.lib.track("Performed Search",{"query":null},undefined,undefined,{"shopifyEmitted":true}); 1546 } 1547 }); 1548 1549 window.ShopifyAnalytics.lib.page(null,{"pageType":"searchresults","requestId":"81adaa4a-dde8-4cb6-8a2d-12d5ec7d68f8-1791296387","shopifyEmitted":true}); 1550 1551 var eventsListenerScript = document.createElement('script'); 1552 eventsListenerScript.async = true; 1553 eventsListenerScript.src = "//twentyeighthdesign.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1554 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1555})();</script>
vendor: 1 bytes, line 1555
1555
1556<script 1557 defer 1558 src="https://twentyeighthdesign.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.5.min.js" 1559 data-application="storefront-renderer" 1560 data-shop-id="53753905346" 1561 data-render-region="gcp-europe-west1" 1562 data-page-type="search" 1563 data-theme-instance-id="118999875778" 1564 data-theme-name="Narrative" 1565 data-theme-version="10.2.4" 1566 data-monorail-region="shop_domain" 1567 data-resource-timing-sampling-rate="10" 1568 data-shs="true" 1569 data-shs-beacon="true" 1570 data-shs-export-with-fetch="true" 1571 data-shs-logs-sample-rate="1" 1572 data-shs-beacon-endpoint="https://twentyeighthdesign.com/api/collect" 1573></script>
1573 1574<meta name="shopify-y" content="800b6aa4-ea62-47f5-b647-a0b45b7e0381" data-expiration="1822853987000"><meta name="shopify-s" content="d6e92488-9258-4850-9273-f9e212cfb57b" data-expiration="1791298187000"><meta name="new-cookie-storage-activated" content="t"> 1575</head> 1576 1577<body id="search" class="template-search data-animations"> 1578 1579 <a class="visually-hidden skip-link" href="#MainContent">Skip to content</a> 1580 1581 <div id="shopify-section-header" class="shopify-section"> 1582<div class="site-header" data-section-id="header" data-section-type="header-section" data-drawer-push > 1583 <header class="site-header__wrapper" role="banner"> 1584 1585 1586 <div class="site-header-sections page-width"> 1587 <nav class="site-header__section site-header__section--button" 1588 data-site-navigation role="navigation" 1589 > 1590 <button class="site-header__navigation btn btn--clear btn--square" 1591 aria-expanded="false" 1592 data-navigation-button 1593 > 1594 <span class="burger-icon burger-icon--top"></span> 1595 <span class="burger-icon burger-icon--mid"></span> 1596 <span class="burger-icon burger-icon--bottom"></span> 1597 <span class="icon__fallback-text">Menu</span> 1598 </button> 1599 <div class="navigation supports-no-js critical-hide" data-section-id="header" data-section-type="navigation" aria-hidden=true> 1600 <div class="navigation__container"> 1601 <ul class="navigation__links"> 1602 1603 1604 1605 <li class="navigation__link navigation__entrance-animation"> 1606 <a href="/">Home</a> 1607 </li> 1608 1609 1610 1611 1612 <li class="navigation__link navigation__entrance-animation"> 1613 <a href="/pages/services">Services</a> 1614 </li> 1615 1616 1617 1618 1619 <li class="navigation__link navigation__entrance-animation"> 1620 <a href="/pages/work">Portfolio</a> 1621 </li> 1622 1623 1624 1625 1626 <li class="navigation__link navigation__entrance-animation"> 1627 <a href="/pages/contact">Contact Us</a> 1628 </li> 1629 1630 1631 1632 1633 <li class="navigation__link navigation__entrance-animation"> 1634 <a href="/pages/studio">About</a> 1635 </li> 1636 1637 1638 1639 1640 <li class="navigation__link navigation__entrance-animation"> 1641 <a href="/pages/media">Press</a> 1642 </li> 1643 1644 1645 </ul> 1646 1647 <ul class="navigation__links"> 1648 1649 1650 <li class="navigation__link navigation__link--secondary navigation__entrance-animation"> 1651 <a href="https://twentyeighthdesign.com/customer_authentication/redirect?locale=en®ion_country=AM">Log in</a> 1652 </li> 1653 <li class="navigation__link navigation__link--secondary navigation__entrance-animation"> 1654 <a href="https://shopify.com/53753905346/account?locale=en®ion_country=AM&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ0d2VudHktZWlnaHRoLWRlc2lnbi1zdHVkaW8ubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkxOTAxMTg3LCJuYmYiOjE3OTEyOTYzODd9.FtpqOV6xTCo9102Woc0bKZekXk6oxqA3sxLXD4KZ7iI">Create account</a> 1655 </li> 1656 1657 1658 1659 <li class="navigation__link navigation__link--secondary navigation__entrance-animation navigation__link--active"> 1660 <a href="/search">Search</a> 1661 </li> 1662 1663 </ul> 1664 1665 1666 <div class="navigation__social-sharing navigation__entrance-animation"> 1667 <div class="social-links social-links--large"><ul class="list--inline"> 1668 1669 1670 1671 1672 1673 <li class="social-links__icon"> 1674 <a target="_blank" href="https://facebook.com/twentyeighthdesign" title="Twenty-Eighth Design Studio, LLC on Facebook" tabindex="-1"> 1675 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewB
1675ox="0 0 8.4 20.6"><path fill="#444" d="M8.4 6H5.6V4.1c0-.7.5-.9.8-.9h2V0H5.6C2.5 0 1.8 2.4 1.8 3.9V6H0v3.3h1.8v9.3h3.8V9.3h2.5L8.4 6z"/></svg> 1676 <span class="icon__fallback-text">Facebook</span> 1677 </a> 1678 </li> 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 <li class="social-links__icon"> 1693 <a target="_blank" href="https://www.pinterest.com/twentyeighthdesignstudio/_saved/" title="Twenty-Eighth Design Studio, LLC on Pinterest" tabindex="-1"> 1694 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pinterest" viewBox="0 0 20 20"><path fill="#444" d="M9.958.811q1.903 0 3.635.744t2.988 2 2 2.988.744 3.635q0 2.537-1.256 4.696t-3.415 3.415-4.696 1.256q-1.39 0-2.659-.366.707-1.147.951-2.025l.659-2.561q.244.463.903.817t1.39.354q1.464 0 2.622-.842t1.793-2.305.634-3.293q0-2.171-1.671-3.769t-4.257-1.598q-1.586 0-2.903.537T5.298 5.897 4.066 7.775t-.427 2.037q0 1.268.476 2.22t1.427 1.342q.171.073.293.012t.171-.232q.171-.61.195-.756.098-.268-.122-.512-.634-.707-.634-1.83 0-1.854 1.281-3.183t3.354-1.329q1.83 0 2.854 1t1.025 2.61q0 1.342-.366 2.476t-1.049 1.817-1.561.683q-.732 0-1.195-.537t-.293-1.269q.098-.342.256-.878t.268-.915.207-.817.098-.732q0-.61-.317-1t-.927-.39q-.756 0-1.269.695t-.512 1.744q0 .39.061.756t.134.537l.073.171q-1 4.342-1.22 5.098-.195.927-.146 2.171-2.513-1.122-4.062-3.44T.59 10.177q0-3.879 2.744-6.623T9.957.81z"/></svg> 1695 <span class="icon__fallback-text">Pinterest</span> 1696 </a> 1697 </li> 1698 1699 1700 1701 1702 1703 1704 1705 <li class="social-links__icon"> 1706 <a target="_blank" href="http://instagram.com/twentyeighthdesign" title="Twenty-Eighth Design Studio, LLC on Instagram" tabindex="-1"> 1707 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 512 512"><path d="M256 49.5c67.3 0 75.2.3 101.8 1.5 24.6 1.1 37.9 5.2 46.8 8.7 11.8 4.6 20.2 10 29 18.8s14.3 17.2 18.8 29c3.4 8.9 7.6 22.2 8.7 46.8 1.2 26.6 1.5 34.5 1.5 101.8s-.3 75.2-1.5 101.8c-1.1 24.6-5.2 37.9-8.7 46.8-4.6 11.8-10 20.2-18.8 29s-17.2 14.3-29 18.8c-8.9 3.4-22.2 7.6-46.8 8.7-26.6 1.2-34.5 1.5-101.8 1.5s-75.2-.3-101.8-1.5c-24.6-1.1-37.9-5.2-46.8-8.7-11.8-4.6-20.2-10-29-18.8s-14.3-17.2-18.8-29c-3.4-8.9-7.6-22.2-8.7-46.8-1.2-26.6-1.5-34.5-1.5-101.8s.3-75.2 1.5-101.8c1.1-24.6 5.2-37.9 8.7-46.8 4.6-11.8 10-20.2 18.8-29s17.2-14.3 29-18.8c8.9-3.4 22.2-7.6 46.8-8.7 26.6-1.3 34.5-1.5 101.8-1.5m0-45.4c-68.4 0-77 .3-103.9 1.5C125.3 6.8 107 11.1 91 17.3c-16.6 6.4-30.6 15.1-44.6 29.1-14 14-22.6 28.1-29.1 44.6-6.2 16-10.5 34.3-11.7 61.2C4.4 179 4.1 187.6 4.1 256s.3 77 1.5 103.9c1.2 26.8 5.5 45.1 11.7 61.2 6.4 16.6 15.1 30.6 29.1 44.6 14 14 28.1 22.6 44.6 29.1 16 6.2 34.3 10.5 61.2 11.7 26.9 1.2 35.4 1.5 103.9 1.5s77-.3 103.9-1.5c26.8-1.2 45.1-5.5 61.2-11.7 16.6-6.4 30.6-15.1 44.6-29.1 14-14 22.6-28.1 29.1-44.6 6.2-16 10.5-34.3 11.7-61.2 1.2-26.9 1.5-35.4 1.5-103.9s-.3-77-1.5-103.9c-1.2-26.8-5.5-45.1-11.7-61.2-6.4-16.6-15.1-30.6-29.1-44.6-14-14-28.1-22.6-44.6-29.1-16-6.2-34.3-10.5-61.2-11.7-27-1.1-35.6-1.4-104-1.4z"/><path d="M256 126.6c-71.4 0-129.4 57.9-129.4 129.4s58 129.4 129.4 129.4 129.4-58 129.4-129.4-58-129.4-129.4-129.4zm0 213.4c-46.4 0-84-37.6-84-84s37.6-84 84-84 84 37.6 84 84-37.6 84-84 84z"/><circle cx="390.5" cy="121.5" r="30.2"/></svg> 1708 <span class="icon__fallback-text">Instagram</span> 1709 </a> 1710 </li> 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 <li class="social-links__icon"> 1731 <a target="_blank" href="https://www.youtube.com/@chrissyoftwentyeighth" title="Twenty-Eighth Design Studio, LLC on YouTube" tabindex="-1"> 1732 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 21 20"><path fill="#444" d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"/></svg>
1733 <span class="icon__fallback-text">YouTube</span> 1734 </a> 1735 </li> 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 </ul> 1746</div> 1747 1748 </div> 1749 1750 1751 <div class="navigation__search navigation__entrance-animation"> 1752 <form action="/search" method="get" role="search"> 1753 <div class="input-group--underline"> 1754 <input class="input-group__field" type="search" name="q" value="" placeholder="Search" aria-label="Search" tabindex="-1"> 1755 <div class="input-group__btn"> 1756 <button type="submit" class="btn btn--clear btn--square" tabindex="-1"> 1757 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 21.4 21.4"><path fill="#444" d="M13.4 0c-4.4 0-8 3.6-8 8 0 1.8.6 3.5 1.7 4.9L0 20l1.4 1.4 7.1-7.1c1.4 1.1 3.1 1.7 4.9 1.7 4.4 0 8-3.6 8-8s-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z"/></svg> 1758 <span class="icon__fallback-text">Search again</span> 1759 </button> 1760 </div> 1761 </div> 1762 </form> 1763</div> 1764 1765 </div> 1766 </div> 1767 </nav> 1768 <div class="site-header__section site-header__section--title"> 1769 1770 1771 <div class="site-header__logo-wrapper h4" itemscope itemtype="http://schema.org/Organization"> 1772 1773 1774 <a href="/" itemprop="url" class="site-header__logo"> 1775 <style> 1776 .site-header__logo-image { 1777 height: 60px; 1778 } 1779 </style> 1780 1781 <img class="site-header__logo-image" src="//twentyeighthdesign.com/cdn/shop/files/TWENTYEIGHTH-BLACK-LG_x60.png?v=1729209943" srcset="//twentyeighthdesign.com/cdn/shop/files/TWENTYEIGHTH-BLACK-LG_x60.png?v=1729209943 1x, //twentyeighthdesign.com/cdn/shop/files/[email protected]?v=1729209943 2x" alt="Twenty-Eighth Design Studio, LLC" itemprop="logo"> 1782 1783 1784 1785 </a> 1786 1787 1788 </div> 1789 1790 </div> 1791 <div class="site-header__section site-header__section--button"> 1792 <a href="/cart" class="btn btn--clear btn--square btn--hover-scale site-header__cart ajax-cart__toggle" aria-expanded="false"> 1793 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-header-bag" viewBox="0 0 27.2 27"><path d="M19.6 9c-.2-5.1-2.7-9-6-9s-5.8 3.9-6 9h-4v18h20V9h-4zm-6-7c2.1 0 3.8 3.2 4 7h-8c.2-3.8 1.9-7 4-7zm-8 23V11h11v14h-11zm16 0h-3V11h3v14z"/></svg> 1794 <span class="icon__fallback-text">View cart</span> 1795 <span class="site-header__cart-bubble"></span> 1796 </a> 1797 </div> 1798 </div> 1799 </header> 1800</div> 1801 1802 1803</div> 1804 1805 <div class="main-content" data-drawer-push> 1806 <div class="main-content__wrapper"> 1807 <main class="content-for-layout" id="MainContent" role="main"> 1808 1809 1810<div id="shopify-section-search-template" class="shopify-section"> 1811 1812<div class="page-width" data-section-id="search-template" data-section-type="search-template"> 1813 <header class="section-header section-header--small text-center"> 1814 1815 <h1 class="section-header__title h2">Search our site</h1> 1816 <div class="search-template__search-bar"> 1817 <div class="navigation__search"> 1818 <form action="/search" method="get" role="search"> 1819 <div class="input-group--underline"> 1820 <input class="input-group__field" type="search" name="q" value="" placeholder="Search" aria-label="Search"> 1821 <div class="input-group__btn"> 1822 <button type="submit" class="btn btn--clear btn--square"> 1823 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 21.4 21.4"><path fill="#444" d="M13.4 0c-4.4 0-8 3.6-8 8 0 1.8.6 3.5 1.7 4.9L0 20l1.4 1.4 7.1-7.1c1.4 1.1 3.1 1.7 4.9 1.7 4.4 0 8-3.6 8-8s-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z"/></svg> 1824 <span class="icon__fallback-text">Search again</span> 1825 </button> 1826 </div> 1827 </div> 1828 </form> 1829</div> 1830 1831 </div> 1832 1833 </header> 1834 1835 1836</div> 1837 1838 1839 1840 1841</div> 1842 1843 </main> 1844 1845 <div id="shopify-section-footer" class="shopify-section"> 1846<footer class="site-footer" role="contentinfo" data-section-type="footer" data-section-id="footer" data-section-id="footer" data-section-type="footer"> 1847 <div class="page-width"> 1848 1849 <div class="flex-footer"> 1850 1851 <div class="flex-footer__item flex-footer__item--menu" > 1852 1853<ul class="site-footer__linklist"> 1854 1855 <li class="site-footer__linklist-item h6"> 1856 <a href="/pages/services">About Us</a> 1857 </li> 1858 1859 <li class="site-footer__linklist-item h6"> 1860 <a href="/pages/contact">Contact Us</a> 1861 </li> 1862 1863 <li class="site-footer__linklist-item h6"> 1864 <a href="/pages/media">Press & Media</a> 1865 </li> 1866 1867 <li class="site-footer__linklist-item h6"> 1868 <a href="/search">Search</a> 1869 </li> 1870 1871 </ul> 1872 1873 </div> 1874 1875 1876 1877 <div class="flex-footer__item flex-footer__item--newsletter"> 1878 <div class="site-footer__newsletter"> 1879 <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 1880 <input type="hidden" name="contact[tags]" value="newsletter"> 1881 <label for="NewsletterEmail" class="site-footer__newsletter-label">KEEP in touch</label> 1882 <div class="site-footer__newsletter-subheading"><p>Subscribe to our newsletter to get the latest updates.</p></div> 1883 <div class="input-group--underline"> 1884 <input type="email" value="" placeholder="My email address" name="contact[email]" id="NewsletterEmail" class="input-group__field site-footer__newsletter-input" aria-label="My email address" autocorrect="off" autocapitalize="off"> 1885 <div class="input-group__btn input-group__btn--newsletter"> 1886 <button type="submit" class="btn--newsletter__submit"> 1887 Subscribe 1888 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-right" viewBox="0 0 4 7"><path fill="#444" d="M4 3.5L0 7V0z"/></svg> 1889 </button> 1890 </div> 1891 </div> 1892 <div class="site-footer__newsletter-message" aria-role="alert"> 1893 1894 </div> 1895 </form> 1896 </div> 1897 </div> 1898 1899 </div> 1900 1901 1902 <div class="site-footer__bottom"> 1903 1904 <div class="site-footer__social-icons flex-footer__item--one-third"> 1905 <div class="social-links"><ul class="list--inline"> 1906 1907 1908 1909 1910 1911 <li class="social-links__icon"> 1912 <a target="_blank" href="https://facebook.com/twentyeighthdesign" title="Twenty-Eighth Design Studio, LLC on Facebook" tabindex="-1"> 1913 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewB
1913ox="0 0 8.4 20.6"><path fill="#444" d="M8.4 6H5.6V4.1c0-.7.5-.9.8-.9h2V0H5.6C2.5 0 1.8 2.4 1.8 3.9V6H0v3.3h1.8v9.3h3.8V9.3h2.5L8.4 6z"/></svg> 1914 <span class="icon__fallback-text">Facebook</span> 1915 </a> 1916 </li> 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 <li class="social-links__icon"> 1931 <a target="_blank" href="https://www.pinterest.com/twentyeighthdesignstudio/_saved/" title="Twenty-Eighth Design Studio, LLC on Pinterest" tabindex="-1"> 1932 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pinterest" viewBox="0 0 20 20"><path fill="#444" d="M9.958.811q1.903 0 3.635.744t2.988 2 2 2.988.744 3.635q0 2.537-1.256 4.696t-3.415 3.415-4.696 1.256q-1.39 0-2.659-.366.707-1.147.951-2.025l.659-2.561q.244.463.903.817t1.39.354q1.464 0 2.622-.842t1.793-2.305.634-3.293q0-2.171-1.671-3.769t-4.257-1.598q-1.586 0-2.903.537T5.298 5.897 4.066 7.775t-.427 2.037q0 1.268.476 2.22t1.427 1.342q.171.073.293.012t.171-.232q.171-.61.195-.756.098-.268-.122-.512-.634-.707-.634-1.83 0-1.854 1.281-3.183t3.354-1.329q1.83 0 2.854 1t1.025 2.61q0 1.342-.366 2.476t-1.049 1.817-1.561.683q-.732 0-1.195-.537t-.293-1.269q.098-.342.256-.878t.268-.915.207-.817.098-.732q0-.61-.317-1t-.927-.39q-.756 0-1.269.695t-.512 1.744q0 .39.061.756t.134.537l.073.171q-1 4.342-1.22 5.098-.195.927-.146 2.171-2.513-1.122-4.062-3.44T.59 10.177q0-3.879 2.744-6.623T9.957.81z"/></svg> 1933 <span class="icon__fallback-text">Pinterest</span> 1934 </a> 1935 </li> 1936 1937 1938 1939 1940 1941 1942 1943 <li class="social-links__icon"> 1944 <a target="_blank" href="http://instagram.com/twentyeighthdesign" title="Twenty-Eighth Design Studio, LLC on Instagram" tabindex="-1"> 1945 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 512 512"><path d="M256 49.5c67.3 0 75.2.3 101.8 1.5 24.6 1.1 37.9 5.2 46.8 8.7 11.8 4.6 20.2 10 29 18.8s14.3 17.2 18.8 29c3.4 8.9 7.6 22.2 8.7 46.8 1.2 26.6 1.5 34.5 1.5 101.8s-.3 75.2-1.5 101.8c-1.1 24.6-5.2 37.9-8.7 46.8-4.6 11.8-10 20.2-18.8 29s-17.2 14.3-29 18.8c-8.9 3.4-22.2 7.6-46.8 8.7-26.6 1.2-34.5 1.5-101.8 1.5s-75.2-.3-101.8-1.5c-24.6-1.1-37.9-5.2-46.8-8.7-11.8-4.6-20.2-10-29-18.8s-14.3-17.2-18.8-29c-3.4-8.9-7.6-22.2-8.7-46.8-1.2-26.6-1.5-34.5-1.5-101.8s.3-75.2 1.5-101.8c1.1-24.6 5.2-37.9 8.7-46.8 4.6-11.8 10-20.2 18.8-29s17.2-14.3 29-18.8c8.9-3.4 22.2-7.6 46.8-8.7 26.6-1.3 34.5-1.5 101.8-1.5m0-45.4c-68.4 0-77 .3-103.9 1.5C125.3 6.8 107 11.1 91 17.3c-16.6 6.4-30.6 15.1-44.6 29.1-14 14-22.6 28.1-29.1 44.6-6.2 16-10.5 34.3-11.7 61.2C4.4 179 4.1 187.6 4.1 256s.3 77 1.5 103.9c1.2 26.8 5.5 45.1 11.7 61.2 6.4 16.6 15.1 30.6 29.1 44.6 14 14 28.1 22.6 44.6 29.1 16 6.2 34.3 10.5 61.2 11.7 26.9 1.2 35.4 1.5 103.9 1.5s77-.3 103.9-1.5c26.8-1.2 45.1-5.5 61.2-11.7 16.6-6.4 30.6-15.1 44.6-29.1 14-14 22.6-28.1 29.1-44.6 6.2-16 10.5-34.3 11.7-61.2 1.2-26.9 1.5-35.4 1.5-103.9s-.3-77-1.5-103.9c-1.2-26.8-5.5-45.1-11.7-61.2-6.4-16.6-15.1-30.6-29.1-44.6-14-14-28.1-22.6-44.6-29.1-16-6.2-34.3-10.5-61.2-11.7-27-1.1-35.6-1.4-104-1.4z"/><path d="M256 126.6c-71.4 0-129.4 57.9-129.4 129.4s58 129.4 129.4 129.4 129.4-58 129.4-129.4-58-129.4-129.4-129.4zm0 213.4c-46.4 0-84-37.6-84-84s37.6-84 84-84 84 37.6 84 84-37.6 84-84 84z"/><circle cx="390.5" cy="121.5" r="30.2"/></svg> 1946 <span class="icon__fallback-text">Instagram</span> 1947 </a> 1948 </li> 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 <li class="social-links__icon"> 1969 <a target="_blank" href="https://www.youtube.com/@chrissyoftwentyeighth" title="Twenty-Eighth Design Studio, LLC on YouTube" tabindex="-1"> 1970 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 21 20"><path fill="#444" d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"/></svg>
1971 <span class="icon__fallback-text">YouTube</span> 1972 </a> 1973 </li> 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 </ul> 1984</div> 1985 1986 </div> 1987 1988 1989 <div class="site-footer__copyright flex-footer__item--one-third"> 1990 <small>Copyright © 2026, <a href="/" title="">Twenty-Eighth Design Studio, LLC</a>.</small> 1991 <small class="site-footer__powered-by"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore"> </a></small> 1992 </div></div> 1993 </div> 1994 1995 1996</footer> 1997 1998 1999</div> 2000 </div> 2001 </div> 2002 2003 2004<div class="drawer-cover"></div> 2005<div class="drawer critical-hide" tabindex="-1" data-section-id="cart-drawer" data-section-type="cart-drawer" data-cart-token="" data-drawer-push aria-hidden="true"> 2006 2007 <form action="/cart" method="post" novalidate class="cart-drawer cart-drawer--empty"> 2008 2009 <div class="cart-drawer__header"> 2010 <div class="cart-drawer__header-container"> 2011 <button type="button" class="cart-drawer__close-button btn btn--clear btn--square"> 2012 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 16.8 16.8"><path fill="#444" d="M16.8 1.5L15.4.1 8.4 7l-7-7L0 1.4l7 7-7 7 1.4 1.4 7-7 7 7 1.4-1.4-7-7z"/></svg> 2013 <span class="icon__fallback-text">Close Cart</span> 2014 </button> 2015 <p class="cart-drawer__header-title text-title text-center">Shopping Cart</p> 2016 </div> 2017 </div> 2018 2019 <div class="cart-drawer__content"> 2020 <div class="cart-drawer__content-container"> 2021 2022 2023 <div class="cart-drawer__empty-text"> 2024 <p class="text-center">Your cart is currently empty.</p> 2025 </div> 2026 2027 2028 <div class="cart-drawer__no-cookies"> 2029 <p class="text-center">Enable cookies to use the shopping cart</p> 2030 </div> 2031 2032 <div class="cart-drawer__item-list" data-cart-item-list> 2033 2034 2035 2036 2037 <div class="cart-drawer__item ajax-cart__template" data-cart-item data-cart-item-id="" data-cart-item-line-number="1" aria-live="polite"> 2038 2039 2040 2041 <a href="" class="cart-drawer__item-image" style="background-image: none;" data-cart-item-background-image data-cart-item-href></a> 2042 2043 <div class="cart-drawer__item-content"> 2044 <a href="" class="h4 cart-drawer__item-title" data-cart-item-href data-cart-item-title></a> 2045 <p class="cart-drawer__item-subtitle" data-cart-item-variant-title> 2046 2047 2048 2049 </p> 2050 2051 <ul class="cart-drawer__item-properties" data-cart-item-details-list> 2052 2053 <li 2054 class="cart-drawer__item-property 2055 visually-hidden " 2056 data-cart-item-selling-plan-name 2057 > 2058 2059 </li> 2060 2061 2062 2063 2064 2065 2066 2067 <li class="cart-drawer__item-property ajax-cart__template" data-cart-item-property> 2068 t: 2069 2070 2071 2072 e 2073 2074 </li> 2075 2076 2077 </ul> 2078 2079 <p class="cart-drawer__item-price-container" data-cart-item-price-container><span class="cart-item__original-price cart-item__price"></span></p> 2080 2081 2082 2083 2084 <ul class="order-discount order-discount--list order-discount--title order-discount--cart" aria-label="Discount" data-cart-item-discount-list><li class="order-discount__item ajax-cart__template" data-cart-item-discount><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-saletag"><path d="M10 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3H7a1 1 0 0 0-.71.29l-6 6a1 1 0 0 0 0 1.42l4 4a1 1 0 0 0 1.42 0c.19-.2 5.8-5.81 6-6A1 1 0 0 0 12 5V2a2 2 0 0 0-2-2z" fill="#231F20"/></svg><span data-cart-item-discount-title></span> (-<span data-cart-item-discount-amount></span>) 2085 </li></ul> 2086 2087 <button class="cart-drawer__item-delete btn-link" type="button" data-cart-item-delete>Remove</button> 2088 2089 <label for="quantity_" class="label--hidden" data-cart-item-label-quantity>Item Quantity</label> 2090 <input id="quantity_" class="cart-drawer__item-quantity" value="" type="number" pattern="\d*" min="1" aria-label="Item Quantity" data-cart-item-input-quantity> 2091 2092 </div> 2093 <p class="cart-item__message text-center" aria-hidden="true" data-item-message></p> 2094 </div> 2095 2096 2097 2098 </div> 2099 </div> 2100 </div> 2101 2102 2103 <div class="cart-drawer__footer"> 2104 <div class="cart-drawer__footer-container"> 2105 <div class="cart-drawer__message-container"> 2106 <div class="cart-drawer__message" data-cart-message></div> 2107 </div> 2108 2109 2110 2111 2112 <div data-cart-discount-container><div class="order-discount-cart-drawer-wrapper ajax-cart__template" data-cart-discount>
2113 <span class="order-discount order-discount--title order-discount--cart-title"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-saletag"><path d="M10 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3H7a1 1 0 0 0-.71.29l-6 6a1 1 0 0 0 0 1.42l4 4a1 1 0 0 0 1.42 0c.19-.2 5.8-5.81 6-6A1 1 0 0 0 12 5V2a2 2 0 0 0-2-2z" fill="#231F20"/></svg><span class="visually-hidden">Discount:</span><span data-cart-discount-title></span> 2114 </span> 2115 <span class="order-discount order-discount--cart-price">-<span data-cart-discount-amount></span></span> 2116 </div></div> 2117 2118 <div class="cart-drawer__subtotal" aria-live="polite"> 2119 <div class="cart-drawer__subtotal-label"> 2120 <span class="h4">Subtotal</span> 2121 </div> 2122 <div class="cart-drawer__subtotal-price"> 2123 <span class="cart-drawer__subtotal-number" data-cart-subtotal>$0.00</span> 2124 </div> 2125 </div><p class="cart-drawer__disclaimer rte">Taxes and shipping calculated at checkout 2126</p> 2127 2128 <button type="submit" class="btn btn--loader cart-drawer__checkout" name="checkout" data-cart-submit disabled> 2129 Checkout 2130 <span class="btn--loader-balls"></span> 2131 </button> 2132 </div> 2133 </div> 2134 2135 </form> 2136</div> 2137 2138 2139 <ul hidden> 2140 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 2141 <li id="a11y-selection-message">Press the space key then arrow keys to make a selection.</li> 2142 </ul>
2143<script src='//twentyeighthdesign.com/cdn/shop/t/2/assets/ndnapps-easyfaqs.js?v=136936878645187548291613622528' defer='defer'></script>
2143 2144 2145<!-- BeeAppContactForm --> 2146<div id="bap-cot-fm-wp" style="float: left; clear: both; width: 100%"></div>
2146<script> 2147 (function() { 2148 setTimeout(function () { 2149 var checkReady = function(callback) { 2150 if (window.jQuery) { 2151 callback(jQuery); 2152 } else { 2153 window.setTimeout(function() { 2154 checkReady(callback); 2155 }, 100); 2156 } 2157 }; 2158 2159 var runCode = function($) { 2160 //Code here 2161 $(document).ready(function() { 2162 setTimeout(function () { 2163 $.ajax({ 2164 url: 'https://beeapp.me/contactform/ajaxLoadContactForm?shop=twenty-eighth-design-studio.myshopify.com', 2165 type: 'post', 2166 data: { 'shop': 'twenty-eighth-design-studio.myshopify.com', 'shop_id': '76799'}, 2167 success: function(content){ 2168 $('#bap-cot-fm-wp').html(content); 2169 }, 2170 error: function(){ 2171 2172 } 2173 }); 2174 2175 }, 100); 2176 }); 2177 }; 2178 2179 if (typeof jQuery == "undefined") { 2180 var script = document.createElement("SCRIPT"); 2181 script.src = 'https://code.jquery.com/jquery-1.12.4.min.js'; 2182 script.type = 'text/javascript'; 2183 document.getElementsByTagName("head")[0].appendChild(script); 2184 2185 setTimeout(function () { 2186 var scriptBootstrap = document.createElement("SCRIPT"); 2187 scriptBootstrap.src = 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js'; 2188 scriptBootstrap.type = 'text/javascript'; 2189 document.getElementsByTagName("head")[0].appendChild(scriptBootstrap); 2190 }, 200); 2191 2192 checkReady(function($) { 2193 runCode($); 2194 }); 2195 } else { 2196 runCode(jQuery); 2197 2198 setTimeout(function () { 2199 var scriptBootstrap = document.createElement("SCRIPT"); 2200 scriptBootstrap.src = 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js'; 2201 scriptBootstrap.type = 'text/javascript'; 2202 document.getElementsByTagName("head")[0].appendChild(scriptBootstrap); 2203 }, 200); 2204 } 2205 }, 750); 2206 })(); 2207 2208 2209</script>
2209 2210<!--Code injected by VW Custom Product Tabs--><!--Code injected by VW Custom Product Tabs-->
2210<script id="vw-custom-product-tabs-components-1" type="application/json">{"components": [{"uuid": "6e5e6b07-1b23-4582-886f-b3ad274466f0", "data": "{\"items\":[{\"tabTitle\":\"DISCOVERY CALL & QUESTIONNAIRE\",\"html\":\"<p style=\\\"margin-bottom: 20px; color: rgb(43, 43, 43); font-family: "Avenir Next", sans-serif; font-size: 16px;\\\"><b style=\\\"font-weight: bold;\\\">Discovery Call: </b>With the start of every virtual project, a discovery call, <a href=\\\"https://twentyeighthdesign.com/pages/questionnaire\\\" style=\\\"touch-action: manipulation; color: rgb(51, 51, 51);\\\">design questionnaire</a> and consultation are conducted to help us understand your project. It also allows you to have the opportunity to get to know how a professional interior design company carries out a project, start to finish.</p><p style=\\\"margin-bottom: 20px; color: rgb(43, 43, 43); font-family: "Avenir Next", sans-serif; font-size: 16px;\\\">During the discovery call, we talk about your timeline, as well as project expectations as you embark on this new, and very important journey. Once we've discovered that we are the right fit for each other, we schedule the start of your virtual project.</p><p style=\\\"margin-bottom: 20px; color: rgb(43, 43, 43); font-family: "Avenir Next", sans-serif; font-size: 16px;\\\"><a href=\\\"https://calendly.com/book28th/15min?month=2022-09\\\" style=\\\"background-color: rgb(255, 255, 255); touch-action: manipulation; color: rgb(51, 51, 51);\\\">Book Discovery Call</a></p>\",\"enabled\":true,\"uuid\":\"15437928-3088-44e0-b05b-edcbd4a290bc\",\"contentType\":\"static\"},{\"tabTitle\":\"PHASE I (week 1)\",\"html\":\"<p>WELCOME<br><span style=\\\"font-size: 1em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\\\">At the start of each virtual project, you receive a digital agreement to be signed and welcome packet which outlines how we will work together for the next few weeks. </span></p><p>COLLABORATION & CONSULTATION<br><span class=\\\"S1PPyQ\\\">In this step, we are able to solidify the needs of each space and discuss concept ideas based on gathered information from Pinterest or other platforms.</span><br></p>\",\"enabled\":true,\"uuid\":\"382bfb6e-299f-4df1-8aa0-d77e948f9db7\",\"contentType\":\"static\"},{\"tabTitle\":\"PHASE II (week 2-3)\",\"html\":\"<p>DESIGN CONCEPT <br><span style=\\\"font-size: 1em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\\\">Although we see the vision, it's important that you are able to see the vision as well. During the concept stage, we gather the measurements and create a well thought-out concept of your design scheme.</span></p><p>KEY SELECTIONS & SOURCING<br><span style=\\\"font-size: 1em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\\\">During this phase, we select key pieces that will bring your space together </span><span style=\\\"font-size: 1em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\\\">to prepare for the master list.</span></p><p>SPACE PLANNING<br><span style=\\\"font-size: 1em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\\\">The most important step is knowing how it will all map out. Now that we've selected key pieces and have planned your design direction, a space plan is created to help guide you through installation.</span></p>\",\"enabled\":true,\"uuid\":\"3ed26cd0-c091-4146-a6c0-b032468646dd\",\"contentType\":\"static\"},{\"tabTitle\":\"PHASE III (week 3-4)\",\"html\":\"<p>DESIGN DELIVERY<br><span style=\\\"font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 1em;\\\">In the final stage, and the most exciting part of the design process is the virtual reveal. In this last phase, we provide you with your mood board, space plan, and a master list of the key pieces we selected for you. </span></p>\",\"enabled\":true,\"uuid\":\"36a81fb2-59e2-4b59-85aa-67fd50197fd0\",\"contentType\":\"static\"}],\"theme\":{\"style\":\"normal\",\"desktopType\":\"accordion\",\"mobileType\":\"accordion\",\"iconType\":\"plus\",\"iconDefaultColor\":{\"r\":150,\"g\":150,\"b\":150,\"a\":1},\"iconActiveColor\":{\"r\":103,\"g\":103,\"b\":103,\"a\":1},\"defaultColor\":{\"r\":150,\"g\":150,\"b\":150,\"a\":1},\"defaultBgColor\":{\"r\":236,\"g\":236,\"b\":236,\"a\":1},\"defaultFontWeight\":\"normal\",\"activeColor\":{\"r\":103,\"g\":103,\"b\":103,\"a\":1},\"activeBgColor\":{\"r\":255,\"g\":255,\"b\":255,\"a\":1},\"activeFontWeight\":\"bold\",\"strokeColor\":{\"r\":230,\"g\":230,\"b\":230,\"a\":1},\"bgColor\":{\"r\":255,\"g\":255,\"b\":255,\"a\":1},\"textColor\":{\"r\":43,\"g\":43,\"b\":43,\"a\":1},\"accordionDefaultCollapsed\":true,\"accordionAllowMultipleExpand\":true,\"accordionDefaultExpandAll\":false}}", "type": "tabs", "name": "VIRTUAL DESIGN PROCESS", "page_tabs_published": true}]}</script>
2210<!--End of Code--><!--Code injected by VW Custom Product Tabs-->
2210<script id="vw-custom-product-tabs-components-2" type="application/json">{"components": [{"uuid": "9e442beb-d251-4b0d-9d38-94f08f96f67d", "data": "{\"theme\":{\"style\":\"normal\",\"desktopType\":\"accordion\",\"mobileType\":\"accordion\",\"iconType\":\"plus\",\"iconDefaultColor\":{\"r\":150,\"g\":150,\"b\":150,\"a\":1},\"iconActiveColor\":{\"r\":103,\"g\":103,\"b\":103,\"a\":1},\"defaultColor\":{\"r\":150,\"g\":150,\"b\":150,\"a\":1},\"defaultBgColor\":{\"r\":236,\"g\":236,\"b\":236,\"a\":1},\"defaultFontWeight\":\"normal\",\"activeColor\":{\"r\":103,\"g\":103,\"b\":103,\"a\":1},\"activeBgColor\":{\"r\":255,\"g\":255,\"b\":255,\"a\":1},\"activeFontWeight\":\"bold\",\"strokeColor\":{\"r\":230,\"g\":230,\"b\":230,\"a\":1},\"bgColor\":{\"r\":255,\"g\":255,\"b\":255,\"a\":1},\"textColor\":{\"r\":43,\"g\":43,\"b\":43,\"a\":1},\"accordionDefaultCollapsed\":true,\"accordionAllowMultipleExpand\":true,\"accordionDefaultExpandAll\":false},\"items\":[{\"tabTitle\":\"I want more information about your services and an estimate on my project.\",\"html\":\"<p><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\">For more information about our services, we highly recommend reading through our </span><a href=\\\"https://twentyeighthdesign.com/pages/studio\\\" target=\\\"_blank\\\" style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);\\\">'Studio' page</a><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\">, to learn more about us and our full service design process. Prior to working with you, and to get a better scope of your project, we ask that all potential clients fill out </span><a href=\\\"https://twentyeighthdesign.com/pages/questionnaire\\\" target=\\\"_blank\\\" style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);\\\">our design questionnaire</a><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\"> and </span><a href=\\\"https://calendly.com/book28th/15min\\\" target=\\\"_blank\\\" style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);\\\">book a 15 minute disco</a><font color=\\\"#222222\\\" face=\\\"Arial, Helvetica, sans-serif\\\" size=\\\"2\\\">very call with Chrissy Jones. Estimate investments are established further in the process, once we've seen the space and have a better idea of what the space needs. Please note that Twenty-Eighth has a project minimum of 10,000. This amount is the minimum amount that can be accepted to retain us as your interior designer. The funds will be applied to furniture, fixtures, decor and accessories. For remodel and construction projects we provide a project management fee structure. </font><br></p>\",\"enabled\":true,\"uuid\":\"6d4d0bfb-7cf7-44d1-9cdd-844997885674\",\"contentType\":\"static\"},{\"tabTitle\":\"I want to work on my design project virtually, do you provide virtual services only?\",\"html\":\"<p><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\">Yes. We do provide interior design services virtually. As a potential virtual client, we require that you fill out </span><a href=\\\"https://twentyeighthdesign.com/pages/questionnaire\\\" target=\\\"_blank\\\" style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);\\\">our design questionnaire</a><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\"> and </span><a href=\\\"https://calendly.com/book28th/15min?month=2022-12\\\" target=\\\"_blank\\\" style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);\\\">book a discovery call.</a><font color=\\\"#222222\\\" face=\\\"Arial, Helvetica, sans-serif\\\" size=\\\"2\\\"> Our virtual service is best for those who are ok and willing to 'DIY' the installation part of the design process, but still would like guidance and a plan on how to achieve the Twenty-Eighth Design Studio signature aesthetic.</font><br></p>\",\"enabled\":true,\"uuid\":\"55be36dd-e647-4a82-9c90-077583853e78\",\"contentType\":\"static\"},{\"tabTitle\":\"I need a quick-turnaround project, how fast can you design my space?\",\"html\":\"<p><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\">It depends on the needs of the space. In general, a full service (tailored experience) project needing furnishings only can take a few months - factoring all items are sourced as 'in stock' only and minimal cosmetic updates. If a renovation is involved, and other tradespeople such as wallpaper hangers, painters, or electricians are needed, the project can be extended up to 6 months. However, If you are need of a few weeks turnaround, and are wanting to order, track and DIY the installation, our virtual design package will be done in a shorter time frame and can take up to 4 weeks.</span><br></p>\",\"enabled\":true,\"uuid\":\"21d0a60b-754d-43a9-b3c4-aa42c0a18d3e\",\"contentType\":\"static\"},{\"tabTitle\":\"How much should I plan to invest in a fully designed room?\",\"html\":\"<p><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\">This really depends on the room you are designing. Does it need cosmetic updates or renovation? Are you looking to style and furnish only, this can decrease your expenses than a full remodel. The square footage is a factor as well. All these things are taken into consideration when our firm takes on your project, which is why it's important for us to conduct an in person home review consultation. Twenty-Eighth has a project minimum of 10,000, which are funds reserved for purchasing furniture, fixtures, rugs, decor and accessories for the agreed upon designed spaces, and does not include our retainer fee. At the start of every project, we ask that all potential clients fill out </span><a href=\\\"https://twentyeighthdesign.com/pages/questionnaire\\\" target=\\\"_blank\\\" style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);\\\">our design questionnaire</a><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\"> and </span><a href=\\\"https://calendly.com/book28th/15min\\\" target=\\\"_blank\\\" style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);\\\">book a 15 minute disco</a><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\">very call with Chrissy Jones so that you can get an accurate investment estimate. </span><br></p>\",\"enabled\":true,\"uuid\":\"4dad2e2e-1e69-4fa9-88e0-61ad9328487d\",\"contentType\":\"static\"},{\"tabTitle\":\"I am a brand, business, or editor seeking information about Twenty-Eighth or Chrissy Jones.\",\"html\":\"<p><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\">Please email </span><a href=\\\"mailto:[email protected]\\\" target=\\\"_blank\\\" style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);\\\">[email protected]</a><span style=\\\"color: rgb(34, 34, 34); font-family: Arial, Helvetica, sans-serif; font-size: small;\\\">.</span><br></p>\",\"enabled\":true,\"uuid\":\"2ca4193c-8992-4aa9-8c79-fe3639fbe934\",\"contentType\":\"static\"},{\"tabTitle\":\"Do you do in-person consultations only?\",\"html\":\"<p>We provide in-person consultations for clients that are seriously considering hiring us for a full design services. However, if you are in need of ideas and design advice, Chrissy Jones can help you on a virtual call where you can ask all your design needs. <a href=\\\"https://calendly.com/book28th/60min?month=2022-12\\\">Book here for a virtual consultation.</a></p>\",\"enabled\":true,\"uuid\":\"294d2495-ac50-4b47-878c-5cc60f2e3a56\",\"contentType\":\"static\"}]}", "type": "tabs", "name": "Our Top FAQs", "page_tabs_published": true}]}</script>
2210<!--End of Code--><!--Code injected by VW Custom Product Tabs-->
2210<script id="vw-custom-product-tabs-components-3" type="application/json">{"components": [{"uuid": "182a6e14-bcbf-4c49-aa71-530735b02132", "data": "{\"items\":[{\"tabTitle\":\"DISCOVERY CALL & CONSULTATION\",\"html\":\"<p><b>Discovery Call: </b>With the start of every project, a discovery call, <a href=\\\"https://twentyeighthdesign.com/pages/questionnaire\\\">design questionnaire</a> and consultation are conducted to help us understand your project. It also allows you to have the opportunity to get to know how a professional interior design company carries out a project, start to finish.</p><p>During the discovery call, we talk about your timeline, project location, building phase, as well as project expectations as you embark on this new, and very important journey. Once we've discovered that we are the right fit for each other, we schedule an in-person consultation.</p><p><a href=\\\"https://calendly.com/book28th/15min?month=2022-09\\\" style=\\\"background-color: rgb(255, 255, 255);\\\">Book Discovery Call</a><br></p><p> </p><p><b>In-person Consultation: </b>The consultation ($350 hr.) acts as an introduction and working session, where we walk-thru the space(s) and discuss how it\u2019s used, your <span style=\\\"font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 1em;\\\">lifestyle or business use/needs and how you'd like to function in the space. We also help to clarify your potential style and share preliminary ideas on a design approach. We also share an in depth overview of our process and what next several months will look like.</span></p><p>After the consultation, we gather consultation notes and submit a summary of our meeting including the submission of the interior design project proposal and agreement for signing.</p>\",\"enabled\":true,\"uuid\":\"270ecc8c-a9a7-4290-b5ad-535f84096c13\",\"contentType\":\"static\"},{\"tabTitle\":\"PHASE I\",\"html\":\"<p>INTRODUCTION & DESIGN LAUNCH</p><p>This is an exciting and new beginning of a very important journey. That said, the introduction and design launch phase is an important step in our process because it dictates how we will work together for the next several months. </p><p>During this phase, our initial in-person introduction and site visit has already been completed. As we collaborate about design direction, our team collects inspiration and detailed measurements are taken to help prepare us for schematics - a complete description of building systems (structural, mechanical, HVAC, plumbing and electrical), interior and exterior finishes and the building phase.</p>\",\"enabled\":true,\"uuid\":\"1251d03a-373f-4072-8125-6fea79fcf094\",\"contentType\":\"static\"},{\"tabTitle\":\"PHASE II\",\"html\":\"<p>DESIGN CONCEPT, PRESENTATION & INVESTMENTS</p><p>We've done extensive research, and have a general idea of the vision and needs of the space. Now it's time to attend to the details!</p><p>During this phase, our team source for material samples and inspirational images for each space and collaborated with other trades to help prepare a detailed scheme, visual aesthetic and design direction. </p><p>Once all the pieces are put together, we present the entire design concept and the projected investment it would take to complete the design. We also use this time to get approval, and talk through the design direction and any potential revisions. </p>\",\"enabled\":true,\"uuid\":\"b87dc161-e888-48d1-ad28-ca9a0465d008\",\"contentType\":\"static\"},{\"tabTitle\":\"PHASE III\",\"html\":\"<p>SOURCING, PROCUREMENT & PROJECT MANAGEMENT</p><p>Now that we have effectively expressed our design direction and have received approval, the intensive work begins.</p><p>We begin our behind-the-scenes work which includes contruction or renovation phase, conduct site visits with contractors, manage the purchasing of furnishing and fixture selections, custom or pre-sourced items and serve as the project managers of all purchases and fabrication production.</p><p>We then collaborate with our warehouse to track all purchases and lead times, who then inspects for damages prepare and hold for an easy installation day.</p>\",\"enabled\":true,\"uuid\":\"c835de46-a1c1-46ab-b91f-712d10b27527\",\"contentType\":\"static\"},{\"tabTitle\":\"PHASE IV\",\"html\":\"<p>INSTALLATION & PROJECT FINISH</p><p>The most anticipated day has arrived! The delivery and reveal of the new designed space!</p><p>During installation, our team carries out furnishing arrangement, and accessory placement. Once revealed, we do a final walk through and discuss any other items. </p>\",\"enabled\":true,\"uuid\":\"485ed4c9-a637-429d-ac35-240c8244df5c\",\"contentType\":\"static\"}],\"theme\":{\"style\":\"normal\",\"desktopType\":\"accordion\",\"mobileType\":\"accordion\",\"iconType\":\"arrow\",\"iconDefaultColor\":{\"r\":150,\"g\":150,\"b\":150,\"a\":1},\"iconActiveColor\":{\"r\":103,\"g\":103,\"b\":103,\"a\":1},\"defaultColor\":{\"r\":150,\"g\":150,\"b\":150,\"a\":1},\"defaultBgColor\":{\"r\":236,\"g\":236,\"b\":236,\"a\":1},\"defaultFontWeight\":\"normal\",\"activeColor\":{\"r\":103,\"g\":103,\"b\":103,\"a\":1},\"activeBgColor\":{\"r\":255,\"g\":255,\"b\":255,\"a\":1},\"activeFontWeight\":\"bold\",\"strokeColor\":{\"r\":230,\"g\":230,\"b\":230,\"a\":1},\"bgColor\":{\"r\":255,\"g\":255,\"b\":255,\"a\":1},\"textColor\":{\"r\":43,\"g\":43,\"b\":43,\"a\":1},\"accordionDefaultCollapsed\":true,\"accordionAllowMultipleExpand\":true,\"accordionDefaultExpandAll\":false}}", "type": "tabs", "name": "DESIGN PROCESS", "page_tabs_published": true}]}</script>
2210<!--End of Code--><link href="https://dvjimc2bmh7lo.cloudfront.net/assets/bundle.css?t=1684350992" rel="stylesheet" type="text/css"/><style>.vw-page-tabs { display:none; }</style><!--End of Code-->
2210<script src='//twentyeighthdesign.com/cdn/shop/t/2/assets/zify-gallery.js?v=167731618991575476111690387864' defer='defer'></script>
vendor: 1 bytes, line 2210
2210
2211<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2211 2212</body> 2213</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.