1<!doctype html> 2<html class="no-js" lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name='ir-site-verification-token' value='707875119'> 7 <meta name='ir-site-verification-token' value='709432819'> 8 <meta name="viewport" content="width=device-width,initial-scale=1"> 9 <meta name="theme-color" content=""> 10 <link rel="canonical" href="https://www.revolutionmining.io/pages/contact"> 11 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 12<meta name="google-site-verification" content="BXH4lyakLEjr-Y_VGaJjt_7J3-RTNw_k7V707zUaWe4" /><link rel="icon" type="image/png" href="//www.revolutionmining.io/cdn/shop/files/favicon_32x32.png?v=1680861373"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> 13 Contact 14</title> 15 16 17 18 19 20<meta property="og:site_name" content="Revolution Mining"> 21<meta property="og:url" content="https://www.revolutionmining.io/pages/contact"> 22<meta property="og:title" content="Contact"> 23<meta property="og:type" content="website"> 24<meta property="og:description" content="Supplying the latest Bitcoin ASIC mining equipment and professional hosting services."><meta property="og:image" content="http://www.revolutionmining.io/cdn/shop/files/facebook_profile_banner.png?v=1680320799"> 25 <meta property="og:image:secure_url" content="https://www.revolutionmining.io/cdn/shop/files/facebook_profile_banner.png?v=1680320799"> 26 <meta property="og:image:width" content="717"> 27 <meta property="og:image:height" content="327"><meta name="twitter:site" content="@RevolMining"><meta name="twitter:card" content="summary_large_image"> 28<meta name="twitter:title" content="Contact"> 29<meta name="twitter:description" content="Supplying the latest Bitcoin ASIC mining equipment and professional hosting services."> 30 31 32
32<script src="//www.revolutionmining.io/cdn/shop/t/15/assets/jquery.min.js?v=81049236547974671631685041301"></script>
32 33
33<script src="//www.revolutionmining.io/cdn/shop/t/15/assets/global.js?v=138538743538646859361685041301" defer="defer"></script>
33 34
34<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
34<meta name="facebook-domain-verification" content="4o50sx7qkrgqeosb9d6j37rugi8amh"> 35<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/56414502957/digital_wallets/dialog"> 36<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
36<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 36
36
37<script id="shopify-features" type="application/json">{"accessToken":"e5b5414fc8c4ef1175a4fc9fc5b49619","betas":["rich-media-storefront-analytics"],"domain":"www.revolutionmining.io","predictiveSearch":true,"shopId":56414502957,"locale":"en"}</script>
vendor: 1 bytes, line 37
37
38<script>var Shopify = Shopify || {}; 39Shopify.shop = "rev-mining.myshopify.com"; 40Shopify.locale = "en"; 41Shopify.currency = {"active":"USD","rate":"1.0"}; 42Shopify.country = "US"; 43Shopify.theme = {"name":"ed backup of Dawn (before robots.txt edit) 5-25-23","id":128376012845,"schema_name":"Dawn","schema_version":"2.5.0","theme_store_id":887,"role":"main"}; 44Shopify.theme.handle = "null"; 45Shopify.theme.style = {"id":null,"handle":null}; 46Shopify.cdnHost = "www.revolutionmining.io/cdn"; 47Shopify.routes = Shopify.routes || {}; 48Shopify.routes.root = "/"; 49Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 50Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 51Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 52Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 52
52
53<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 53
53
54<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 54
54
55<script> 56 window.Shopify = window.Shopify || {}; 57 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 58 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 59 window.Shopify.SignInWithShop.eligible = true; 60</script>
vendor: 1 bytes, line 60
60
61<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 61
61
62<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 62
62
63<script type="module"> 64 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 65 66 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 67 68</script>
vendor: 1 bytes, line 68
68
69<script> 70 window.Shopify = window.Shopify || {}; 71 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 72 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"]}; 73</script>
vendor: 1 bytes, line 73
73
74<script>(function() { 75 var isLoaded = false; 76 function asyncLoad() { 77 if (isLoaded) return; 78 isLoaded = true; 79 var urls = ["https:\/\/cdn-app.sealsubscriptions.com\/shopify\/public\/js\/sealsubscriptions.js?shop=rev-mining.myshopify.com","https:\/\/ecommplugins-scripts.trustpilot.com\/v2.1\/js\/header.min.js?settings=eyJrZXkiOiJPQklDRHA3Y1pIQ3AxemNnIiwicyI6Im5vbmUifQ==\u0026v=2.5\u0026shop=rev-mining.myshopify.com","https:\/\/ecommplugins-trustboxsettings.trustpilot.com\/rev-mining.myshopify.com.js?settings=1724778472278\u0026shop=rev-mining.myshopify.com"]; 80 for (var i = 0; i < urls.length; i++) { 81 var s = document.createElement('script'); 82 s.type = 'text/javascript'; 83 s.async = true; 84 s.src = urls[i]; 85 var x = document.getElementsByTagName('script')[0]; 86 x.parentNode.insertBefore(s, x); 87 } 88 }; 89 if(window.attachEvent) { 90 window.attachEvent('onload', asyncLoad); 91 } else { 92 window.addEventListener('load', asyncLoad, false); 93 } 94})();</script>
vendor: 1 bytes, line 94
94
95<script id="__st">var __st={"a":56414502957,"offset":-25200,"reqid":"1a04aefe-75ae-4d0b-a9dd-dd6f8c7d111a-1791149034","pageurl":"www.revolutionmining.io\/pages\/contact","s":"pages-82397986861","u":"cb23944de6e8","p":"page","rtyp":"page","rid":82397986861};</script>
vendor: 1 bytes, line 95
95
96<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 96
96
97<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 97
97
98<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.revolutionmining.io/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 98
98
99<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 = "//www.revolutionmining.io/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>
99<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 99
99
100<script> 101 window.Shopify = window.Shopify || {}; 102 window.Shopify.MCP = window.Shopify.MCP || {}; 103 window.Shopify.MCP.enabled = true; 104 window.Shopify.MCP.shop = "rev-mining.myshopify.com"; 105 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.revolutionmining.io\/api\/mcp"; 106 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?\"\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."}},"required":["query"]}}]; 107</script>
vendor: 1 bytes, line 107
107
108<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("\/\/www.revolutionmining.io\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 109</script>
vendor: 1 bytes, line 109
109
110<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://www.revolutionmining.io/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 111</script>
vendor: 1 bytes, line 111
111
112<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 113 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); 114</script>
vendor: 1 bytes, line 114
114
115<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})}})); 116</script>
116 117<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.revolutionmining.io/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 118<style id="shopify-accelerated-checkout-cart"> 119 #shopify-buyer-consent { 120 margin-top: 1em; 121 display: inline-block; 122 width: 100%; 123} 124 125#shopify-buyer-consent.hidden { 126 display: none; 127} 128 129#shopify-subscription-policy-button { 130 background: none; 131 border: none; 132 padding: 0; 133 text-decoration: underline; 134 font-size: inherit; 135 cursor: pointer; 136} 137 138#shopify-subscription-policy-button::before { 139 box-shadow: none; 140} 141 142 </style> 143
144<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
144 145 146
146<script src="//www.revolutionmining.io/cdn/shop/t/15/assets/bsub.js?v=158520562351594542841685041301" type="text/javascript"></script>
146 147<link href="//www.revolutionmining.io/cdn/shop/t/15/assets/bsub.scss.css?v=95412381906123361661685041301" rel="stylesheet" type="text/css" media="all" /> 148 149
150<script> 151 window.BOLD = window.BOLD || {}; 152 window.BOLD.options = window.BOLD.options || {}; 153 window.BOLD.options.settings = window.BOLD.options.settings || {}; 154 window.BOLD.options.settings.v1_variant_mode = window.BOLD.options.settings.v1_variant_mode || true; 155 window.BOLD.options.settings.hybrid_fix_auto_insert_inputs = 156 window.BOLD.options.settings.hybrid_fix_auto_insert_inputs || true; 157</script>
157 158
159<script>window.BOLD = window.BOLD || {}; 160 window.BOLD.common = window.BOLD.common || {}; 161 window.BOLD.common.Shopify = window.BOLD.common.Shopify || {}; 162 window.BOLD.common.Shopify.shop = { 163 domain: 'www.revolutionmining.io', 164 permanent_domain: 'rev-mining.myshopify.com', 165 url: 'https://www.revolutionmining.io', 166 secure_url: 'https://www.revolutionmining.io', 167 money_format: "${{amount_no_decimals}}", 168 currency: "USD" 169 }; 170 window.BOLD.common.Shopify.customer = { 171 id: null, 172 tags: null, 173 }; 174 window.BOLD.common.Shopify.cart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 175 window.BOLD.common.template = 'page';window.BOLD.common.Shopify.formatMoney = function(money, format) { 176 function n(t, e) { 177 return "undefined" == typeof t ? e : t 178 } 179 function r(t, e, r, i) { 180 if (e = n(e, 2), 181 r = n(r, ","), 182 i = n(i, "."), 183 isNaN(t) || null == t) 184 return 0; 185 t = (t / 100).toFixed(e); 186 var o = t.split(".") 187 , a = o[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + r) 188 , s = o[1] ? i + o[1] : ""; 189 return a + s 190 } 191 "string" == typeof money && (money = money.replace(".", "")); 192 var i = "" 193 , o = /\{\{\s*(\w+)\s*\}\}/ 194 , a = format || window.BOLD.common.Shopify.shop.money_format || window.Shopify.money_format || "$ {{ amount }}"; 195 switch (a.match(o)[1]) { 196 case "amount": 197 i = r(money, 2, ",", "."); 198 break; 199 case "amount_no_decimals": 200 i = r(money, 0, ",", "."); 201 break; 202 case "amount_with_comma_separator": 203 i = r(money, 2, ".", ","); 204 break; 205 case "amount_no_decimals_with_comma_separator": 206 i = r(money, 0, ".", ","); 207 break; 208 case "amount_with_space_separator": 209 i = r(money, 2, " ", ","); 210 break; 211 case "amount_no_decimals_with_space_separator": 212 i = r(money, 0, " ", ","); 213 break; 214 case "amount_with_apostrophe_separator": 215 i = r(money, 2, "'", "."); 216 break; 217 } 218 return a.replace(o, i); 219 }; 220 window.BOLD.common.Shopify.saveProduct = function (handle, product) { 221 if (typeof handle === 'string' && typeof window.BOLD.common.Shopify.products[handle] === 'undefined') { 222 if (typeof product === 'number') { 223 window.BOLD.common.Shopify.handles[product] = handle; 224 product = { id: product }; 225 } 226 window.BOLD.common.Shopify.products[handle] = product; 227 } 228 }; 229 window.BOLD.common.Shopify.saveVariant = function (variant_id, variant) { 230 if (typeof variant_id === 'number' && typeof window.BOLD.common.Shopify.variants[variant_id] === 'undefined') { 231 window.BOLD.common.Shopify.variants[variant_id] = variant; 232 } 233 };window.BOLD.common.Shopify.products = window.BOLD.common.Shopify.products || {}; 234 window.BOLD.common.Shopify.variants = window.BOLD.common.Shopify.variants || {}; 235 window.BOLD.common.Shopify.handles = window.BOLD.common.Shopify.handles || {};window.BOLD.common.Shopify.saveProduct(null, null);window.BOLD.apps_installed = {"Product Options":2,"Subscriptions":1} || {};window.BOLD.common.Shopify.metafields = window.BOLD.common.Shopify.metafields || {};window.BOLD.common.Shopify.metafields["bold_rp"] = {};window.BOLD.common.Shopify.metafields["bold_csp_defaults"] = {};window.BOLD.common.cacheParams = window.BOLD.common.cacheParams || {}; 236 window.BOLD.common.cacheParams.options = 1667976051; 237</script>
237 238
239<script> 240 window.BOLD.common.cacheParams.options = 1791134644; 241</script>
241 242<link href="//www.revolutionmining.io/cdn/shop/t/15/assets/bold-options.css?v=123160307633435409531685041301" rel="stylesheet" type="text/css" media="all" />
243<script src="https://option.boldapps.net/js/options.js" type="text/javascript"></script>
243 244 245 <style data-shopify> 246 @font-face { 247 font-family: Montserrat; 248 font-weight: 400; 249 font-style: normal; 250 font-display: swap; 251 src: url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2") format("woff2"), 252 url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_n4.a6c632ca7b62da89c3594789ba828388aac693fe.woff") format("woff"); 253} 254 255 @font-face { 256 font-family: Montserrat; 257 font-weight: 700; 258 font-style: normal; 259 font-display: swap; 260 src: url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_n7.3c434e22befd5c18a6b4afadb1e3d77c128c7939.woff2") format("woff2"), 261 url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_n7.5d9fa6e2cae713c8fb539a9876489d86207fe957.woff") format("woff"); 262} 263 264 @font-face { 265 font-family: Montserrat; 266 font-weight: 400; 267 font-style: italic; 268 font-display: swap; 269 src: url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_i4.5a4ea298b4789e064f62a29aafc18d41f09ae59b.woff2") format("woff2"), 270 url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_i4.072b5869c5e0ed5b9d2021e4c2af132e16681ad2.woff") format("woff"); 271} 272 273 @font-face { 274 font-family: Montserrat; 275 font-weight: 700; 276 font-style: italic; 277 font-display: swap; 278 src: url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_i7.a0d4a463df4f146567d871890ffb3c80408e7732.woff2") format("woff2"), 279 url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_i7.f6ec9f2a0681acc6f8152c40921d2a4d2e1a2c78.woff") format("woff"); 280} 281 282 @font-face { 283 font-family: Montserrat; 284 font-weight: 600; 285 font-style: normal; 286 font-display: swap; 287 src: url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_n6.1326b3e84230700ef15b3a29fb520639977513e0.woff2") format("woff2"), 288 url("//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_n6.652f051080eb14192330daceed8cd53dfdc5ead9.woff") format("woff"); 289} 290 291 292 :root { 293 --font-body-family: Montserrat, sans-serif; 294 --font-body-style: normal; 295 --font-body-weight: 400; 296 297 --font-heading-family: Montserrat, sans-serif; 298 --font-heading-style: normal; 299 --font-heading-weight: 600; 300 301 --font-body-scale: 1.0; 302 --font-heading-scale: 1.2; 303 304 --color-base-text: 237, 237, 237; 305 --color-base-background-1: 7, 7, 19; 306 --color-base-background-2: 216, 47, 150; 307 --color-base-solid-button-labels: 255, 255, 255; 308 --color-base-outline-button-labels: 255, 255, 255; 309 --color-base-accent-1: 27, 36, 91; 310 --color-base-accent-2: 51, 79, 180; 311 --payment-terms-background-color: #070713; 312 313 --gradient-base-background-1: #070713; 314 --gradient-base-background-2: linear-gradient(129deg, rgba(251, 51, 166, 1) 2%, rgba(69, 46, 226, 1) 10%, rgba(127, 72, 176, 1) 17%, rgba(51, 79, 180, 1) 76%); 315 --gradient-base-accent-1: linear-gradient(275deg, rgba(143, 166, 250, 1) 3%, rgba(51, 79, 180, 1) 15%, rgba(27, 36, 91, 1) 48%, rgba(220, 82, 137, 1) 95%, rgba(251, 51, 166, 1) 100%); 316 --gradient-base-accent-2: linear-gradient(0deg, rgba(29, 36, 96, 1) 1%, rgba(7, 7, 19, 1) 33%); 317 318 --page-width: 120rem; 319 --page-width-margin: 0rem; 320 } 321 322 *, 323 *::before, 324 *::after { 325 box-sizing: inherit; 326 } 327 328 html { 329 box-sizing: border-box; 330 font-size: calc(var(--font-body-scale) * 62.5%); 331 height: 100%; 332 } 333 334 body { 335 display: grid; 336 grid-template-rows: auto auto 1fr auto; 337 grid-template-columns: 100%; 338 min-height: 100%; 339 margin: 0; 340 font-size: 1.5rem; 341 letter-spacing: 0.06rem; 342 line-height: calc(1 + 0.8 / var(--font-body-scale)); 343 font-family: var(--font-body-family); 344 font-style: var(--font-body-style); 345 font-weight: var(--font-body-weight); 346 } 347 348 @media screen and (min-width: 750px) { 349 body { 350 font-size: 1.6rem; 351 } 352 } 353 </style> 354 355 <link href="//www.revolutionmining.io/cdn/shop/t/15/assets/base.css?v=40799918539077301021685041301" rel="stylesheet" type="text/css" media="all" /> 356 <link href="//www.revolutionmining.io/cdn/shop/t/15/assets/custom.css?v=120930190645236024351685041301" rel="stylesheet" type="text/css" media="all" /> 357<link rel="preload" as="font" href="//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//www.revolutionmining.io/cdn/fonts/montserrat/montserrat_n6.1326b3e84230700ef15b3a29fb520639977513e0.woff2" type="font/woff2" crossorigin>
357<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 358 if (Shopify.designMode) { 359 document.documentElement.classList.add('shopify-design-mode'); 360 } 361 </script>
361<script> 362 // empty script tag to work around a platform issue where attributes of first script in file are scrubbed 363</script>
363 364
365<script id="bold-subscriptions-script" type="text/javascript"> 366 window.BOLD = window.BOLD || {}; 367 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 368 window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {}; 369 window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {}; 370 window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200; 371 window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0; 372 window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200; 373 window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0; 374 window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {}; 375 window.BOLD.subscriptions.config.platform = 'shopify'; 376 window.BOLD.subscriptions.config.shopDomain = 'rev-mining.myshopify.com'; 377 window.BOLD.subscriptions.config.customDomain = 'rev-mining.myshopify.com'; 378 window.BOLD.subscriptions.config.shopIdentifier = '56414502957'; 379 window.BOLD.subscriptions.config.cashierUrl = 'https://cashier.boldcommerce.com'; 380 window.BOLD.subscriptions.config.boldAPIBase = 'https://api.boldcommerce.com/'; 381 window.BOLD.subscriptions.config.cashierApplicationUUID = '2e6a2bbc-b12b-4255-abdf-a02af85c0d4e'; 382 window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net'; 383 window.BOLD.subscriptions.config.currencyCode = 'USD'; 384 window.BOLD.subscriptions.config.checkoutType = 'shopify'; 385 window.BOLD.subscriptions.config.currencyFormat = "$\u0026#123;\u0026#123;amount_no_decimals}}"; 386 window.BOLD.subscriptions.config.shopCurrencies = []; 387 window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":true,"customer_can_change_next_order_date":true,"line_item_discount_policy":"inherit","customer_can_change_order_frequency":true,"customer_can_create_an_additional_order":false,"show_currency_code":true,"stored_payment_method_policy":"required"}; 388 389 // TODO: Remove the isset with BS2-4659_improve_large_group_selection 390 window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false; 391 if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) { 392 window.BOLD.subscriptions.config.waitForCheckoutLoader = true; 393 } 394 395 window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || []; 396 window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || []; 397 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || []; 398 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || []; 399 window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || []; 400 window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || []; 401 window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || []; 402 window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || []; 403 window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || []; 404 405 window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlags || ["BS2-1882-gen-settings-tz","BS2-3318-prepaid-import-recurrence-fix","BS2-4386-add-address-source-to-address-models","BS2-4177-enable-historical-report-datepicker","SUB-20-failing-transaction-report","SUB-320-showing-transaction-errors","bs2-1804-cancellation-management-page","BS2-3651-orderstream-webhook-source-validation","BS2-3727-improve-address-comparison","BS2-3660-delete-line-items-command","BS2-4377-filter-list-sub-orders-endpoint","SUB-249-send-emails-when-report-complete","SUB-356-parse-line-item-attributes","SUB-15-transactions-and-sales-report","SUB-407-ch
405ain-all-report-jobs","bs2-4792-react-widget-details","BS2-4795-unique-webhook-subscription","BS2-4815-woo-fix-get-variant-price"]; 406 window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60'; 407 window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true; 408 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 409 410 // Interval text markup template 411 window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || []; 412 window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList'); 413 window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>'; 414 window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">\:</dt><dd class="definitionList-value">\</dd>'; 415 416 // Discount text markup template 417 window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">\</div><div class="bold-subscriptions-discount__total">\</div></div>'; 418 419 420 // Constants in XMLHttpRequest are not reliable, so we will create our own 421 // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState 422 window.BOLD.subscriptions.config.XMLHttpRequest = { 423 UNSENT:0, // Client has been created. open() not called yet. 424 OPENED: 1, // open() has been called. 425 HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available. 426 LOADING: 3, // Downloading; responseText holds partial data. 427 DONE: 4 // The operation is complete. 428 }; 429 430 window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net'; 431 if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) { 432 window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl') 433 } 434 435 window.BOLD.subscriptions.data.subscriptionGroups = []; 436 if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) { 437 window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups')); 438 } else { 439 window.BOLD.subscriptions.data.subscriptionGroups = []; 440 } 441 442 window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) { 443 for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) { 444 if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){ 445 return true; 446 } 447 } 448 return false; 449 } 450 451 window.BOLD.subscriptions.logger = { 452 tag: "bold_subscriptions", 453 // the bold subscriptions log level 454 // 0 - errors (default) 455 // 1 - warnings + errors 456 // 2 - info + warnings + errors 457 // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level 458 levels: { 459 ERROR: 0, 460 WARN: 1, 461 INFO: 2, 462 }, 463 level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10), 464 _log: function(callArgs, level) { 465 if (!window.console) { 466 return null; 467 } 468 469 if (window.BOLD.subscriptions.logger.level < level) { 470 return; 471 } 472 473 var params = Array.prototype.slice.call(callArgs); 474 params.unshift(window.BOLD.subscriptions.logger.tag); 475 476 switch (level) { 477 case window.BOLD.subscriptions.logger.levels.INFO: 478 console.info.apply(null, params); 479 return; 480 case window.BOLD.subscriptions.logger.levels.WARN: 481 console.warn.apply(null, params); 482 return; 483 case window.BOLD.subscriptions.logger.levels.ERROR: 484 console.error.apply(null, params); 485 return; 486 default: 487 console.log.apply(null, params); 488 return; 489 } 490 }, 491 info: function() { 492 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO); 493 }, 494 warn: function() { 495 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN); 496 }, 497 error: function() { 498 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR); 499 } 500 } 501 502 window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() { 503 return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API']; 504 } 505 506 window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) { 507 var data = window.BOLD.subscriptions.data; 508 var foundGroup = null; 509 for (var i = 0; i < data.subscriptionGroups.length; i += 1) { 510 var subscriptionGroup = data.subscriptionGroups[i]; 511 for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) { 512 var selectionOption = subscriptionGroup.selection_options[j]; 513 if (selectionOption.platform_entity_id === productId.toString()) { 514 foundGroup = subscriptionGroup; 515 break; 516 } 517 } 518 if (foundGroup) { 519 break; 520 } 521 } 522 return foundGroup; 523 }; 524 525 window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) { 526 var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups; 527 528 for (var i = 0; i < subscriptionGroups.length; i += 1) { 529 var subGroup = subscriptionGroups[i]; 530 if (subGroup.id === subGroupId) { 531 return subGroup; 532 } 533 } 534 535 return null; 536 }; 537 538 window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) { 539 if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id)) 540 { 541 window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup); 542 } 543 } 544 545 window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) { 546 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId); 547 548 if ( 549 !subscriptionGroup 550 || !subscriptionGroup.prepaid_durations 551 || !subscriptionGroup.prepaid_durations.length 552 ) { 553 return null; 554 } 555 556 for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) { 557 var prepaidDuration = subscriptionGroup.prepaid_durations[i]; 558 if (prepaidDuration.id === prepaidDurationId) { 559 return prepaidDuration; 560 } 561 } 562 563 return null; 564 } 565 566 window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) { 567 for (var i = 0; i < subGroup.billing_rules.length; i += 1) { 568 var billingRule = subGroup.billing_rules[i]; 569 if (billingRule.id === billingRuleId) { 570 return billingRule; 571 } 572 } 573 574 return null; 575 }; 576 577 window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) { 578 var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(',')); 579 var disable = !!d; 580 for (var i = 0; i < addToCartForms.length; i++) { 581 var addToCartForm = addToCartForms[i]; 582 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
582addToCartForm); 583 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 584 585 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) { 586 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 587 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 588 for (var j = 0; j < addToCartButtons.length; j++) { 589 var addToCartButton = addToCartButtons[j]; 590 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 591 592 addToCartButton.disabled = disable; 593 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 594 } 595 } 596 } else { 597 if (subscriptionGroup) { 598 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 599 for (var j = 0; j < addToCartButtons.length; j++) { 600 var addToCartButton = addToCartButtons[j]; 601 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 602 603 addToCartButton.disabled = disable; 604 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 605 } 606 } 607 } 608 609 } 610 }; 611 612 window.BOLD.subscriptions.disableAddToCartButtons = function () { 613 // only disable the add to cart buttons if the app isn't loaded yet 614 if (!window.BOLD.subscriptions.app) { 615 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true); 616 } else { 617 window.BOLD.subscriptions.enableAddToCartButtons(); 618 } 619 }; 620 621 window.BOLD.subscriptions.enableAddToCartButtons = function () { 622 document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart); 623 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false); 624 }; 625 626 window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) { 627 var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')); 628 var disable = !!d; 629 for (var i = 0; i < checkoutButtons.length; i++) { 630 var checkoutButton = checkoutButtons[i]; 631 var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute; 632 633 checkoutButton.disabled = disable; 634 toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable); 635 } 636 } 637 638 window.BOLD.subscriptions.disableCheckoutButtons = function() { 639 // only disable the checkout buttons if the app isn't loaded yet 640 if (!window.BOLD.subscriptions.app) { 641 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true); 642 } else { 643 window.BOLD.subscriptions.enableCheckoutButtons(); 644 } 645 } 646 647 window.BOLD.subscriptions.enableCheckoutButtons = function() { 648 document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout); 649 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false); 650 } 651 652 window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() { 653 if (typeof(Storage) !== "undefined") { 654 var successfulAddToCarts = JSON.parse( 655 window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]' 656 ); 657 if (successfulAddToCarts.length > 0) { 658 return true; 659 } 660 } 661 662 return false; 663 } 664 665 window.BOLD.subscriptions.hasPendingAddToCarts = function() { 666 if (typeof(Storage) !== "undefined") { 667 var pendingAddToCarts = JSON.parse( 668 window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]' 669 ); 670 if (pendingAddToCarts.length > 0) { 671 return true; 672 } 673 } 674 675 return false;
676 } 677 678 window.BOLD.subscriptions.addJSAsset = function(src) { 679 var scriptTag = document.getElementById('bold-subscriptions-script'); 680 var jsElement = document.createElement('script'); 681 jsElement.type = 'text/javascript'; 682 jsElement.src = src; 683 scriptTag.parentNode.insertBefore(jsElement, scriptTag); 684 }; 685 686 window.BOLD.subscriptions.addCSSAsset = function(href) { 687 var scriptTag = document.getElementById('bold-subscriptions-script'); 688 var cssElement = document.createElement('link'); 689 cssElement.href = href; 690 cssElement.rel = 'stylesheet'; 691 scriptTag.parentNode.insertBefore(cssElement, scriptTag); 692 }; 693 694 window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() { 695 var assets = window.BOLD.subscriptions.config.assets; 696 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']); 697 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js']); 698 }; 699 700 window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() { 701 var assets = window.BOLD.subscriptions.config.assets; 702 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']); 703 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js']); 704 }; 705 706 window.BOLD.subscriptions.processManifest = function() { 707 if (!window.BOLD.subscriptions.processedManifest) { 708 window.BOLD.subscriptions.processedManifest = true; 709 window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText); 710 711 window.BOLD.subscriptions.loadCustomerPortalAssets(); 712 } 713 }; 714 715 window.BOLD.subscriptions.addInitialLoadingMessage = function() { 716 var customerPortalNode = document.getElementById('customer-portal-root'); 717 if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) { 718 customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>'; 719 } 720 } 721 722 window.BOLD.subscriptions.contentLoaded = function() { 723 window.BOLD.subscriptions.data.contentLoadedEventTriggered = true; 724 window.BOLD.subscriptions.addInitialLoadingMessage(); 725 }; 726 727 window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) { 728 if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) { 729 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form); 730 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 731 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection')) 732 { 733 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 734 // This code prevents products in subscription groups from being added to the cart before the 735 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 736 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 737 e.preventDefault(); 738 return false; 739 } 740 } else { 741 if (subscriptionGroup) { 742 // This code prevents products in subscription groups from being added to the cart before the 743 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 744 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 745 e.preventDefault(); 746 return false; 747 } 748 } 749 750 } 751 }; 752 753 window.BOLD.subscriptions.preventCheckout = function(e) { 754 if ( 755 e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')) 756 && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts()) 757 ) { 758 // This code prevents checkouts on the shop until the Subscriptions app fully loads. 759 // When the Subscriptions app is ready it will enable the checkout buttons itself. 760 // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually. 761 e.preventDefault(); 762 return false;
763 } 764 } 765 766 document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded); 767 768 if (!Element.prototype.matches) { 769 Element.prototype.matches = 770 Element.prototype.matchesSelector || 771 Element.prototype.mozMatchesSelector || 772 Element.prototype.msMatchesSelector || 773 Element.prototype.oMatchesSelector || 774 Element.prototype.webkitMatchesSelector || 775 function(s) { 776 var matches = (this.document || this.ownerDocument).querySelectorAll(s), 777 i = matches.length; 778 while (--i >= 0 && matches.item(i) !== this) {} 779 return i > -1; 780 }; 781 } 782 783 if (!Element.prototype.closest) { 784 Element.prototype.closest = function(s) { 785 var el = this; 786 787 do { 788 if (Element.prototype.matches.call(el, s)) return el; 789 el = el.parentElement || el.parentNode; 790 } while (el !== null && el.nodeType === 1); 791 return null; 792 }; 793 } 794 795 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) { 796 if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) { 797 return; 798 } 799 800 var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors; 801 802 for (var i = 0; i < selectors.length; i++) { 803 var elements = document.querySelectorAll(selectors[i]); 804 805 for (var j = 0; j < elements.length; j++) { 806 elements[j].style.display = isVisible ? 'block' : 'none'; 807 } 808 } 809 } 810 811 window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() { 812 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false); 813 }; 814 815 window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() { 816 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true); 817 }; 818 819 window.BOLD.subscriptions.enhanceMspUrls = function(data) { 820 var mspUrl = 'https://sub.boldapps.net/shop/13560/customer_portal'; 821 var elements = document.querySelectorAll("a[href='"+mspUrl+"']"); 822 823 if(!elements.length || !data.success) { 824 return; 825 } 826 827 for (var i = 0; i < elements.length; i++) { 828 elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId; 829 } 830 }; 831 832 window.addEventListener('load', function () { 833 window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls); 834 }); 835 836 // This will be called immediately 837 // Use this anonymous function to avoid polluting the global namespace 838 (function() { 839 var xhr = new XMLHttpRequest(); 840 xhr.addEventListener('load', window.BOLD.subscriptions.processManifest); 841 xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime()); 842 xhr.send(); 843 })() 844 845 window.BOLD.subscriptions.patches.patchCashier = function() { 846 if (window.BOLD && window.BOLD.checkout) { 847 window.BOLD.checkout.disable(); 848 window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn; 849 window.BOLD.checkout.enable(); 850 } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) { 851 window.BOLD.subscriptions.patches.currentCashierPatchAttempts++; 852 setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100); 853 } 854 }; 855 856 window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) { 857 window.BOLD.subscriptions.patches.currentCheckoutRetries++; 858 859 if (!window.BOLD.subscriptions.app 860 && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries 861 ) { 862 setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100); 863 return; 864 } else if (window.BOLD.subscriptions.app) { 865 window.BOLD.subscriptions.patches.currentCheckoutRetries = 0; 866 window.BOLD.subscriptions.app.addCartParams(form, cart); 867 } 868 869 var noSubscriptions = false;
870 if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0) 871 || !window.BOLD.subscriptions.app 872 ) { 873 noSubscriptions = true; 874 event.target.dataset.cashierConfirmedNoPlugins = true; 875 876 if (window.BOLD.subscriptions.setCashierFeatureToken) { 877 window.BOLD.subscriptions.setCashierFeatureToken(false); 878 } 879 } 880 881 if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode) 882 || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired()) 883 ) { 884 // send them to the original checkout when in plugin only mode 885 // and either BSUB is there but there are no subscription products 886 // or BSUB isn't there at all 887 if (form.dataset.old_form_action) { 888 form.action = form.dataset.old_form_action; 889 } 890 event.target.click(); 891 } else { 892 // sends them to Cashier since BSUB got a chance to add it's stuff 893 // and plugin only mode is not enabled 894 form.submit(); 895 } 896 }; 897</script>
897 898
899<script id="bold-subscriptions-platform-script" type="text/javascript"> 900 window.BOLD.subscriptions.config.shopPlatformId = '56414502957'; 901 window.BOLD.subscriptions.config.appSlug = 'subscriptions'; 902 903 window.BOLD = window.BOLD || {}; 904 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 905 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 906 window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {}; 907 window.BOLD.subscriptions.data.platform.customer = { id: '' }; 908 window.BOLD.subscriptions.data.platform.product = null; 909 window.BOLD.subscriptions.data.platform.products = []; 910 window.BOLD.subscriptions.data.platform.variantProductMap = {}; 911 912 window.BOLD.subscriptions.addCachedProductData = function(products) { 913 // ignore [], null, and undefined 914 if (!products) { 915 return 916 } 917 918 if (!Array.isArray(products)) { 919 window.BOLD.subscriptions.logger.warn('products must be an array') 920 return 921 } 922 923 window.BOLD.subscriptions.data.platform.products.concat(products) 924 925 for (var i = 0; i < products.length; i++) { 926 var product = products[i]; 927 for (var j = 0; j < product.variants.length; j++) { 928 var variant = product.variants[j]; 929 window.BOLD.subscriptions.data.platform.variantProductMap[variant.id] = product; 930 } 931 } 932 } 933 934 935 936 937 938 window.BOLD.subscriptions.config.addToCartFormSelectors.push( 939 '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)' 940 ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)' 941 ); 942 window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]'); 943 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]'); 944 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]'); 945 window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]'); 946 window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal'); 947 window.BOLD.subscriptions.config.checkoutButtonSelectors.push( 948 '[name="checkout"]', 949 '[href*="checkout"]:not([href*="tools/checkout"])', 950 '[onclick*="checkout"]:not([onclick*="tools/checkout"])', 951 ); 952 953 // Discount text markup template 954 // NOTE: @ on double curly, so blade doesn't interpret, and `raw` liquid tags so liquid doesn't interpret. 955 956 window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 957 958 959 window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) { 960 var idInput = addToCartForm.querySelector('[name="id"]'); 961 if (idInput === null) { 962 window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form â make sure your form has an input with [name="id"]') 963 return null; 964 } 965 966 var variantId = parseInt(idInput.value, 10); 967 if (isNaN(variantId)) { 968 window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input') 969 return null; 970 } 971 972 var product = window.BOLD.subscriptions.data.platform.variantProductMap[variantId]; 973 974 if (product === undefined) { 975 window.BOLD.subscriptions.logger.error('could not map variant id to cached product data â call window.BOLD.subscriptions.addCachedProductData(products) to add the product to the cache') 976 return null; 977 } 978 979 return product.id; 980 }; 981 982 window.BOLD.subscriptions.getAddToCartForms = function() { 983 var forms = []; 984 var idInputs = document.querySelectorAll('[name="id"]'); 985 986 for (var i = 0; i < idInputs.length; i++) { 987 var idInput = idInputs[i]; 988 var form = idInput.closest('form:not(.bold-subscriptions-no-widget)'); 989 if (form) { 990 forms.push(form); 991 } 992 } 993 994 return forms; 995 }; 996 997 window.BOLD.subscriptions.getJWT = function (callback) { 998 if(window.BOLD.subscriptions.data.platform.customer.id !== '') { 999 var shopPlatformId = '56414502957'; 1000 var appSlug = 'subscriptions'; 1001 var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id; 1002 var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt'; 1003 1004 var xmlhttp = new XMLHttpRequest(); 1005 1006 xmlhttp.onreadystatechange = function() { 1007 if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) { 1008 if (xmlhttp.status === 200) { 1009 var data = JSON.parse(xmlhttp.responseText); 1010 callback({ 1011 success: true, 1012 value: { 1013 jwt: data.bold_platform_jwt, 1014 customerId: window.BOLD.subscriptions.data.platform.customer.id, 1015 }, 1016 }); 1017 } else if (xmlhttp.status === 404) { 1018 callback({ 1019 success: false, 1020 error: 'not_logged_in', 1021 }); 1022 } else { 1023 callback({ 1024 success: false, 1025 error: 'unknown', 1026 }); 1027 } 1028 } 1029 }; 1030 1031 xmlhttp.open("GET", proxyPath, true); 1032 xmlhttp.setRequestHeader('Accept', 'application/liquid'); 1033 xmlhttp.send(); 1034 } else { 1035 callback({ 1036 success: false, 1037 error: 'not_logged_in', 1038 }); 1039 } 1040 }; 1041 1042 window.BOLD.subscriptions.setCashierFeatureToken = function(value) { 1043 if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) {
1044 window.BOLD.checkout_features_defaults.forEach(function(item) { 1045 if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) { 1046 item.require = value; 1047 } 1048 }); 1049 } 1050 }; 1051 1052 // Cashier patches 1053 window.BOLD.subscriptions.patches.cashierListenerFn = function(event) { 1054 if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) { 1055 window.BOLD.subscriptions.patches.pushToCashier(event); 1056 } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') { 1057 var request = new XMLHttpRequest(); 1058 request.open('HEAD', '/apps/checkout/isInstalled', false); 1059 request.send(null); 1060 1061 if(request.status >= 200 && request.status < 400) { 1062 window.BOLD.subscriptions.patches.pushToCashier(event); 1063 } else { 1064 window.cashier_installed_on_site = false; 1065 } 1066 } 1067 }; 1068 1069 window.BOLD.subscriptions.localTime = function() { 1070 var localDate = new Date(); 1071 return localDate.getTime(); 1072 }; 1073 1074 1075 window.BOLD.subscriptions.patches.pushToCashier = function(event) { 1076 event.preventDefault(); 1077 var form = window.BOLD.checkout.getForm(event.target); 1078 var formData = new FormData(form); 1079 var request = new XMLHttpRequest(); 1080 request.open('POST', '/cart/update.js?tmp=' + Date.now(), true); 1081 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 1082 1083 request.onload = function() { 1084 if (request.status >= 200 && request.status < 400) { 1085 // Success! 1086 var cart = JSON.parse(request.responseText); 1087 1088 // If items are empty redirect back to the cart 1089 if (cart.items.length === 0) { 1090 return window.location.href = '/cart'; 1091 } 1092 1093 cart.items.forEach(function(element) { 1094 delete element.product_description; 1095 }); 1096 1097 if (document.getElementById('CartSpecialInstructions')) { 1098 // If the cart note exists, grab its value 1099 cart.note = document.getElementById('CartSpecialInstructions').value; 1100 } 1101 1102 var cartObj = JSON.stringify(cart); 1103 1104 var form = window.BOLD.checkout.getForm(event.target); 1105 form.dataset.old_form_action = form.action; 1106 form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({}); 1107 var cartCookie = window.BOLD.checkout.getCookie('cart'); 1108 var element = document.createElement('INPUT'); 1109 element.type = 'HIDDEN'; 1110 element.name = 'cart_id'; 1111 element.value = cartCookie; 1112 form.appendChild(element); 1113 1114 var dateElement = document.createElement('INPUT'); 1115 dateElement.type = 'HIDDEN'; 1116 dateElement.name = 'checkout_local_time'; 1117 dateElement.value = window.BOLD.subscriptions.localTime(); 1118 form.appendChild(dateElement); 1119 1120 var cartElement = document.createElement('INPUT'); 1121 cartElement.type = 'HIDDEN'; 1122 cartElement.name = 'cart'; 1123 cartElement.value = cartObj; 1124 form.appendChild(cartElement); 1125 form.method = 'POST'; 1126 1127 if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') { 1128 var langInput = document.createElement('INPUT'); 1129 langInput.type = 'HIDDEN'; 1130 langInput.name = 'language_iso'; 1131 langInput.value = window.BOLD.checkout.languageIsoCode; 1132 form.appendChild(langInput); 1133 } 1134 1135 if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') { 1136 window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form}); 1137 } 1138 1139 window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); 1140 } 1141 }; 1142 1143 request.send(formData); 1144 }; 1145 1146 </script>
1146 1147 1148
1149<script src="https://shopifyorderlimits.s3.amazonaws.com/limits/rev-mining.myshopify.com?v=98b&r=20230315073318&shop=rev-mining.myshopify.com"></script>
1149 1150 1151 1152<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 1152-1153
1152 1153<script async src="https://www.googletagmanager.com/gtag/js?id=
1153AW-11149028770
vendor: 12 bytes, line 1153
1153"></script>
1154<script> 1155
vendor: 134 bytes, lines 1155-1159
1155window.dataLayer = window.dataLayer || []; 1156 function gtag(){dataLayer.push(arguments);} 1157 gtag('js', new Date()); 1158 1159 gtag('config', '
1159AW-11149028770
vendor: 4 bytes, line 1159
1159');
1160</script>
1160 1161 1162<!-- BEGIN app block: shopify://apps/seal-subscriptions/blocks/subscription-script-append/13b25004-a140-4ab7-b5fe-29918f759699 -->
1162<script defer="defer"> 1163 /** SealSubs loader,version number: 2.0 */ 1164 (function(){ 1165 var loadScript=function(a,b){var c=document.createElement("script");c.setAttribute("defer", "defer");c.type="text/javascript",c.readyState?c.onreadystatechange=function(){("loaded"==c.readyState||"complete"==c.readyState)&&(c.onreadystatechange=null,b())}:c.onload=function(){b()},c.src=a,document.getElementsByTagName("head")[0].appendChild(c)}; 1166 // Set variable to prevent the other loader from requesting the same resources 1167 window.seal_subs_app_block_loader = true; 1168 appendScriptUrl('rev-mining.myshopify.com'); 1169 1170 // get script url and append timestamp of last change 1171 function appendScriptUrl(shop) { 1172 var timeStamp = Math.floor(Date.now() / (1000*1*1)); 1173 var timestampUrl = 'https://app.sealsubscriptions.com/shopify/public/status/shop/'+shop+'.js?'+timeStamp; 1174 loadScript(timestampUrl, function() { 1175 // append app script 1176 if (typeof sealsubscriptions_settings_updated == 'undefined') { 1177 sealsubscriptions_settings_updated = 'default-by-script'; 1178 } 1179 1180 var locale = ''; 1181 if (typeof window !== 'undefined' && 1182 typeof window.Shopify !== 'undefined' && 1183 typeof window.Shopify.locale !== 'undefined' 1184 ) { 1185 locale = window.Shopify.locale; 1186 } 1187 1188 var scriptUrl = "https://cdn-app.sealsubscriptions.com/shopify/public/js/sealsubscriptions-main.js?shop="+shop+"&"+sealsubscriptions_settings_updated+`&locale=${locale}`; 1189 loadScript(scriptUrl, function(){}); 1190 }); 1191 } 1192 })(); 1193 1194 var SealSubsScriptAppended = true; 1195 1196</script>
1196 1197 1198<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1199<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: 56414502957,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};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 1199
1199
1200<script> 1201 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1202</script>
vendor: 1 bytes, line 1202
1202
1203<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}
1203).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: 56414502957,storefrontBaseUrl: "https://www.revolutionmining.io",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.revolutionmining.io/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1070661677","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1203,"dataSharingState":"unrestricted"},{"id":"167444525","configuration":"{\"pixel_id\":\"588702112755636\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"65372205","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"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":"Revolution Mining","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"rev-mining.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.revolutionmining.io"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.revolutionmining.io/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"128376012845","themeStoreId":"887","themePublished":"true","eventMetadataId":"727533ce-ff82-474c-8173-1ca63e485e50","pageType":"page","resourceId":"82397986861","shopId":"56414502957","storefrontBaseUrl":"https:\/\/www.revolutionmining.io","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1203<script> 1204 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1205 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1206 window.ShopifyAnalytics.meta.currency = 'USD'; 1207 var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":82397986861,"requestId":"1a04aefe-75ae-4d0b-a9dd-dd6f8c7d111a-1791149034"}}; 1208 for (var attr in meta) { 1209 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1210 } 1211</script>
vendor: 1 bytes, line 1211
1211
1212<script class="analytics"> 1213 (function () { 1214 var customDocumentWrite = function(content) { 1215 var jquery = null; 1216 1217 if (window.jQuery) { 1218 jquery = window.jQuery; 1219 } else if (window.Checkout && window.Checkout.$) { 1220 jquery = window.Checkout.$; 1221 } 1222 1223 if (jquery) { 1224 jquery('body').append(content); 1225 } 1226 }; 1227 1228 var hasLoggedConversion = function(token) { 1229 if (token) { 1230 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1231 } 1232 return false; 1233 } 1234 1235 var setCookieIfConversion = function(token) { 1236 if (token) { 1237 var twoMonthsFromNow = new Date(Date.now()); 1238 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1239 1240 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1241 } 1242 } 1243 1244 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1245 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1246 if (trekkie.integrations) { 1247 return; 1248 } 1249 trekkie.methods = [ 1250 'identify', 1251 'page', 1252 'ready', 1253 'track', 1254 'trackForm', 1255 'trackLink' 1256 ]; 1257 trekkie.factory = function(method) { 1258 return function() { 1259 var args = Array.prototype.slice.call(arguments); 1260 args.unshift(method); 1261 trekkie.push(args); 1262 if (method == 'track' || method == 'page') { 1263 var pageUrl; 1264 try { 1265 pageUrl = window.location.href; 1266 } catch (e) {} 1267 var pageReferrer; 1268 try { 1269 pageReferrer = document.referrer; 1270 } catch (e) {} 1271 try { 1272 if (window.__TREKKIE_SHIM_QUEUE == null) { 1273 window.__TREKKIE_SHIM_QUEUE = []; 1274 } 1275 window.__TREKKIE_SHIM_QUEUE.push({ 1276 from: 'trekkie-stub', 1277 method: method, 1278 args: args.slice(1), 1279 pageContext: { 1280 url: pageUrl, 1281 referrer: pageReferrer 1282 } 1283 }); 1284 } catch (e) { 1285 // no-op 1286 } 1287 } 1288 return trekkie; 1289 }; 1290 }; 1291 for (var i = 0; i < trekkie.methods.length; i++) { 1292 var key = trekkie.methods[i]; 1293 trekkie[key] = trekkie.factory(key); 1294 } 1295 trekkie.load = function(config) { 1296 trekkie.config = config || {}; 1297 trekkie.config.initialDocumentCookie = document.cookie; 1298 var first = document.getElementsByTagName('script')[0]; 1299var script = document.createElement('script'); 1300script.type = 'text/javascript'; 1301script.onerror = function(e) { 1302 var scriptFallback = document.createElement('script'); 1303 scriptFallback.type = 'text/javascript'; 1304 scriptFallback.onerror = function(error) { 1305 var Monorail = { 1306 produce: function produce(monorailDomain, schemaId, payload) { 1307 var currentMs = new Date().getTime(); 1308 var event = { 1309 schema_id: schemaId, 1310 payload: payload, 1311 metadata: { 1312 event_created_at_ms: currentMs, 1313 event_sent_at_ms: currentMs 1314 } 1315 }; 1316 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1317 }, 1318 sendRequest: function sendRequest(endpointUrl, payload) { 1319 // Try the sendBeacon API 1320 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1321 var blobData = new window.Blob([payload], { 1322 type: 'text/plain' 1323 }); 1324 1325 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1326 return true; 1327 } // sendBeacon was not successful 1328 1329 } // XHR beacon 1330 1331 var xhr = new XMLHttpRequest(); 1332 1333 try { 1334 xhr.open('POST', endpointUrl); 1335 xhr.setRequestHeader('Content-Type', 'text/plain'); 1336 xhr.send(payload); 1337 } catch (e) { 1338 console.log(e); 1339 } 1340 1341 return false; 1342 }, 1343 isIos12: function isIos12() { 1344 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1345 } 1346 }; 1347 Monorail.produce('monorail-edge.shopifysvc.com', 1348 'trekkie_storefront_load_errors/1.1', 1349 {shop_id: 56414502957, 1350 theme_id: 128376012845, 1351 app_name: "storefront", 1352 context_url: window.location.href, 1353 source_url: "//www.revolutionmining.io/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 1354 1355 }; 1356 scriptFallback.async = true; 1357 scriptFallback.src = '//www.revolutionmining.io/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1358 first.parentNode.insertBefore(scriptFallback, first); 1359}; 1360script.async = true; 1361script.src = '//www.revolutionmining.io/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1362first.parentNode.insertBefore(script, first); 1363 1364 }; 1365 trekkie.load( 1366 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":56414502957,"isMerchantRequest":null,"themeId":128376012845,"themeCityHash":"18312365526184174512","contentLanguage":"en","currency":"USD","eventMetadataId":"727533ce-ff82-474c-8173-1ca63e485e50"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1367 ); 1368 1369 var loaded = false;
1370 trekkie.ready(function() { 1371 if (loaded) return; 1372 loaded = true; 1373 1374 window.ShopifyAnalytics.lib = window.trekkie; 1375 1376 var originalDocumentWrite = document.write; 1377 document.write = customDocumentWrite; 1378 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1379 document.write = originalDocumentWrite; 1380 1381 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1382 var token = match? match[1]: undefined; 1383 if (!hasLoggedConversion(token)) { 1384 setCookieIfConversion(token); 1385 1386 } 1387 }); 1388 1389 window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":82397986861,"requestId":"1a04aefe-75ae-4d0b-a9dd-dd6f8c7d111a-1791149034","shopifyEmitted":true}); 1390 1391 var eventsListenerScript = document.createElement('script'); 1392 eventsListenerScript.async = true; 1393 eventsListenerScript.src = "//www.revolutionmining.io/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1394 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1395})();</script>
1395 1396
1396<script> 1397 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 1398 window.ga = function ga() { 1399 (window.ga.q = window.ga.q || []).push(arguments); 1400 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1401 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 1402 } 1403 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 1404 }; 1405 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1406 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 1407 } 1408 } 1409</script>
vendor: 1 bytes, line 1409
1409
1410<script 1411 defer 1412 src="https://www.revolutionmining.io/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 1413 data-application="storefront-renderer" 1414 data-shop-id="56414502957" 1415 data-render-region="gcp-us-central1" 1416 data-page-type="page" 1417 data-theme-instance-id="128376012845" 1418 data-theme-name="Dawn" 1419 data-theme-version="2.5.0" 1420 data-monorail-region="shop_domain" 1421 data-resource-timing-sampling-rate="10" 1422 data-shs="true" 1423 data-shs-beacon="true" 1424 data-shs-export-with-fetch="true" 1425 data-shs-logs-sample-rate="1" 1426 data-shs-beacon-endpoint="https://www.revolutionmining.io/api/collect" 1427></script>
1427 1428<meta name="shopify-y" content="da680c22-c2b2-44b5-abd4-23f72b9aa996" data-expiration="1822706634000"><meta name="shopify-s" content="308f0238-a74f-4fca-8453-01de10a0ef15" data-expiration="1791150834000"><meta name="new-cookie-storage-activated" content="t"> 1429</head> 1430 1431 <body class="gradient"> 1432 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 1433 Skip to content 1434 </a> 1435 1436 <div id="shopify-section-announcement-bar" class="shopify-section"><div class="announcement-bar color-accent-1 gradient" role="region" aria-label="Announcement" ><a href="/collections/hydro-partnership-bundle" class="announcement-bar__link link link--text focus-inset animate-arrow"><p class="announcement-bar__message h5"> 1437 New Hydro Bundles â Get power at just $0.052/kWh 1438<svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg"> 1439 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> 1440</svg> 1441 1442</p></a></div> 1443</div> 1444 <div id="shopify-section-header" class="shopify-section">
1444<script language="JavaScript"> 1445(function(i,s,o,g,r,a,m){i['TDConversionObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script', 'https://svht.tradedoubler.com/tr_sdk.js?org=2351175&prog=341762&dr=true&rand=' + Math.random(), 'tdconv'); 1446</script>
1446 1447 1448<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-list-menu.css?v=161614383810958508431685041301" media="print" onload="this.media='all'"> 1449<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-search.css?v=128662198121899399791685041301" media="print" onload="this.media='all'"> 1450<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-menu-drawer.css?v=25441607779389632351685041301" media="print" onload="this.media='all'"> 1451<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-cart-notification.css?v=143332083916815338471685041301" media="print" onload="this.media='all'"> 1452<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-cart-items.css?v=1363597068511230631685041301" media="print" onload="this.media='all'"><noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-list-menu.css?v=161614383810958508431685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1453<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-search.css?v=128662198121899399791685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1454<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-menu-drawer.css?v=25441607779389632351685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1455<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-cart-notification.css?v=143332083916815338471685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1456<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-cart-items.css?v=1363597068511230631685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1457 1458<style> 1459 header-drawer { 1460 justify-self: flex-end; 1461 margin-left: -1.2rem; 1462 } 1463 1464 @media screen and (min-width: 990px) { 1465 header-drawer { 1466 display: none; 1467 } 1468 } 1469 1470 .menu-drawer-container { 1471 display: flex; 1472 } 1473 1474 .list-menu { 1475 list-style: none; 1476 padding: 0; 1477 margin: 0; 1478 } 1479 1480 .list-menu--inline { 1481 display: inline-flex; 1482 flex-wrap: wrap; 1483 } 1484 1485 summary.list-menu__item { 1486 padding-right: 2.7rem; 1487 } 1488 1489 .list-menu__item { 1490 display: flex; 1491 align-items: center; 1492 line-height: calc(1 + 0.3 / var(--font-body-scale)); 1493 } 1494 1495 .list-menu__item--link { 1496 text-decoration: none; 1497 padding-bottom: 1rem; 1498 padding-top: 1rem; 1499 line-height: calc(1 + 0.8 / var(--font-body-scale)); 1500 } 1501 1502 @media screen and (min-width: 750px) { 1503 .list-menu__item--link { 1504 padding-bottom: 0.5rem; 1505 padding-top: 0.5rem; 1506 } 1507 } 1508</style> 1509
1510<script src="//www.revolutionmining.io/cdn/shop/t/15/assets/details-disclosure.js?v=118626640824924522881685041301" defer="defer"></script>
vendor: 1 bytes, line 1510
1510
1511<script src="//www.revolutionmining.io/cdn/shop/t/15/assets/details-modal.js?v=4511761896672669691685041301" defer="defer"></script>
vendor: 1 bytes, line 1511
1511
1512<script src="//www.revolutionmining.io/cdn/shop/t/15/assets/cart-notification.js?v=25591189075362882371685041301" defer="defer"></script>
1512 1513 1514<svg xmlns="http://www.w3.org/2000/svg" class="hidden"> 1515 <symbol id="icon-search" viewbox="0 0 18 19" fill="none"> 1516 <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/> 1517 </symbol> 1518 1519 <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17"> 1520 <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> 1521 </symbol> 1522</svg> 1523<sticky-header class="header-wrapper color-background-1 gradient header-wrapper--border-bottom"> 1524 <header class="header header--middle-left page-width header--has-menu"><header-drawer data-breakpoint="tablet"> 1525 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 1526 <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu"> 1527 <span> 1528 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" fill="none" viewBox="0 0 18 16"> 1529 <path d="M1 .5a.5.5 0 100 1h15.71a.5.5 0 000-1H1zM.5 8a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1A.5.5 0 01.5 8zm0 7a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1a.5.5 0 01-.5-.5z" fill="currentColor"> 1530</svg> 1531 1532 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" fill="none" viewBox="0 0 18 17"> 1533 <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> 1534</svg> 1535 1536 </span> 1537 </summary> 1538 <div id="menu-drawer" class="menu-drawer motion-reduce" tabindex="-1"> 1539 <div class="menu-drawer__inner-container"> 1540 <div class="menu-drawer__navigation-container"> 1541 <nav class="menu-drawer__navigation"> 1542 <ul class="menu-drawer__menu list-menu" role="list"><li><a href="/collections/specials" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 1543 Go Live in 24Hrs! 1544 </a></li><li><a href="/collections/hydro" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 1545 Hydro ASICS 1546 </a></li><li><a href="/collections/asics" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 1547 Air-Cooled ASICS 1548 </a></li><li><a href="/pages/hosting" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 1549 Hosting 1550 </a></li></ul> 1551 <div class="additional center"> 1552 1553 <a href="https://www.revolutionmining.io/customer_authentication/redirect?locale=en®ion_country=US" class="button button--primary" id="customer_login_link">Log in</a> 1554 1555 <a href="/pages/contact" class="button button--secondary">Contact us</a> 1556 </div> 1557 </nav> 1558 <div class="menu-drawer__utility-links"><a href="https://www.revolutionmining.io/customer_authentication/redirect?locale=en®ion_country=US" class="menu-drawer__account link focus-inset h5"> 1559 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" fill="none" viewBox="0 0 18 19"> 1560 <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.
15601-3.67-1.35-6.17-1.35z" fill="currentColor"> 1561</svg> 1562 1563Log in</a><ul class="list list-social list-unstyled" role="list"><li class="list-social__item"> 1564 <a href="https://twitter.com/RevolMining" class="list-social__link link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-twitter" viewBox="0 0 18 15"> 1565 <path fill="currentColor" d="M17.64 2.6a7.33 7.33 0 01-1.75 1.82c0 .05 0 .13.02.23l.02.23a9.97 9.97 0 01-1.69 5.54c-.57.85-1.24 1.62-2.02 2.28a9.09 9.09 0 01-2.82 1.6 10.23 10.23 0 01-8.9-.98c.34.02.61.04.83.04 1.64 0 3.1-.5 4.38-1.5a3.6 3.6 0 01-3.3-2.45A2.91 2.91 0 004 9.35a3.47 3.47 0 01-2.02-1.21 3.37 3.37 0 01-.8-2.22v-.03c.46.24.98.37 1.58.4a3.45 3.45 0 01-1.54-2.9c0-.61.14-1.2.45-1.79a9.68 9.68 0 003.2 2.6 10 10 0 004.08 1.07 3 3 0 01-.13-.8c0-.97.34-1.8 1.03-2.48A3.45 3.45 0 0112.4.96a3.49 3.49 0 012.54 1.1c.8-.15 1.54-.44 2.23-.85a3.4 3.4 0 01-1.54 1.94c.74-.1 1.4-.28 2.01-.54z"> 1566</svg> 1567<span class="visually-hidden">Twitter</span> 1568 </a> 1569 </li><li class="list-social__item"> 1570 <a href="https://www.facebook.com/RevolMining" class="list-social__link link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 18 18"> 1571 <path fill="currentColor" d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z"> 1572</svg> 1573<span class="visually-hidden">Facebook</span> 1574 </a> 1575 </li><li class="list-social__item"> 1576 <a href="https://www.instagram.com/revolutionmining" class="list-social__link link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 18 18"> 1577 <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/> 1578 <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z"> 1579</svg> 1580<span class="visually-hidden">Instagram</span> 1581 </a> 1582 </li></ul> 1583 </div> 1584 </div> 1585 </div> 1586 </div> 1587 </details> 1588 </header-drawer><a href="/" class="header__heading-link link link--text focus-inset"><img srcset="//www.revolutionmining.io/cdn/shop/files/Revolution_Mining_-_white_190
1588x.png?v=1679084013 1x, //www.revolutionmining.io/cdn/shop/files/[email protected]?v=1679084013 2x" 1589 src="//www.revolutionmining.io/cdn/shop/files/Revolution_Mining_-_white_190x.png?v=1679084013" 1590 loading="lazy" 1591 class="header__heading-logo" 1592 width="1005" 1593 height="191" 1594 alt="Revolution Mining" 1595 ></a><nav class="header__inline-menu"> 1596 <ul class="list-menu list-menu--inline" role="list"><li><a href="/collections/specials" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset"> 1597 <span>Go Live in 24Hrs!</span> 1598 </a></li><li><a href="/collections/hydro" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset"> 1599 <span>Hydro ASICS</span> 1600 </a></li><li><a href="/collections/asics" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset"> 1601 <span>Air-Cooled ASICS</span> 1602 </a></li><li><a href="/pages/hosting" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset"> 1603 <span>Hosting</span> 1604 </a></li></ul> 1605 </nav><div class="header__icons"> 1606 1607 1608 <a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><svg class="icon icon-cart-empty" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"> 1609 <path fill="currentColor" d="M551.991 64H129.28l-8.329-44.423C118.822 8.226 108.911 0 97.362 0H12C5.373 0 0 5.373 0 12v8c0 6.627 5.373 12 12 12h78.72l69.927 372.946C150.305 416.314 144 431.42 144 448c0 35.346 28.654 64 64 64s64-28.654 64-64a63.681 63.681 0 0 0-8.583-32h145.167a63.681 63.681 0 0 0-8.583 32c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-17.993-7.435-34.24-19.388-45.868C506.022 391.891 496.76 384 485.328 384H189.28l-12-64h331.381c11.368 0 21.177-7.976 23.496-19.105l43.331-208C578.592 77.991 567.215 64 551.991 64zM240 448c0 17.645-14.355 32-32 32s-32-14.355-32-32 14.355-32 32-32 32 14.355 32 32zm224 32c-17.645 0-32-14.355-32-32s14.355-32 32-32 32 14.355 32 32-14.355 32-32 32zm38.156-192H171.28l-36-192h406.876l-40 192z"></path> 1610</svg><span class="visually-hidden">Cart</span></a> 1611 <div class="header__right medium-hide small-hide"> 1612 1613 1614 <a href="https://www.revolutionmining.io/customer_authentication/redirect?locale=en®ion_country=US" class="button button--primary" id="customer_login_link">Log in</a> 1615 1616 1617 <a href="/pages/contact" class="button button--secondary">Contact us</a> 1618 1619 </div> 1620 </div> 1621 </header> 1622</sticky-header> 1623 1624<cart-notification> 1625 <div class="cart-notification-wrapper page-width color-background-1"> 1626 <div id="cart-notification" class="cart-notification focus-inset" aria-modal="true" aria-label="Item added to your cart" role="dialog" tabindex="-1"> 1627 <div class="cart-notification__header"> 1628 <h2 class="cart-notification__heading caption-large text-body"><svg class="icon icon-checkmark color-foreground-text" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 9" fill="none"> 1629 <path fill-rule="evenodd" clip-rule="evenodd" d="M11.35.643a.5.5 0 01.006.707l-6.77 6.886a.5.5 0 01-.719-.006L.638 4.845a.5.5 0 11.724-.69l2.872 3.011 6.41-6.517a.5.5 0 01.707-.006h-.001z" fill="currentColor"/> 1630</svg> 1631Item added to your cart</h2> 1632 <button type="button" class="cart-notification__close modal__close-button link link--text focus-inset" aria-label="Close"> 1633 <svg class="icon icon-close" aria-hidden="true" focusable="false"><use href="#icon-close"></svg> 1634 </button> 1635 </div> 1636 <div id="cart-notification-product" class="cart-notification-product"></div> 1637 <div class="cart-notification__links"> 1638 <a href="/cart" id="cart-notification-button" class="button button--secondary button--full-width"></a> 1639<!-- <form action="/cart" method="post" id="cart-notification-form"> 1640 <button class="button button--primary button--full-width" name="checkout">Check out</button> 1641 </form> --> 1642 <button type="button" class="link button-label">Continue shopping</button> 1643 </div> 1644 </div> 1645 </div> 1646</cart-notification> 1647<style data-shopify> 1648 .cart-notification { 1649 display: none; 1650 } 1651</style>
1652<script> 1653 class StickyHeader extends HTMLElement { 1654 constructor() { 1655 super(); 1656 } 1657 1658 connectedCallback() { 1659 this.header = document.getElementById('shopify-section-header'); 1660 this.headerBounds = {}; 1661 this.currentScrollTop = 0; 1662 this.preventReveal = false; 1663 this.predictiveSearch = this.querySelector('predictive-search'); 1664 1665 this.onScrollHandler = this.onScroll.bind(this); 1666 this.hideHeaderOnScrollUp = () => this.preventReveal = true; 1667 1668 this.addEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp); 1669 window.addEventListener('scroll', this.onScrollHandler, false); 1670 1671 this.createObserver(); 1672 } 1673 1674 disconnectedCallback() { 1675 this.removeEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp); 1676 window.removeEventListener('scroll', this.onScrollHandler); 1677 } 1678 1679 createObserver() { 1680 let observer = new IntersectionObserver((entries, observer) => { 1681 this.headerBounds = entries[0].intersectionRect; 1682 observer.disconnect(); 1683 }); 1684 1685 observer.observe(this.header); 1686 } 1687 1688 onScroll() { 1689 const scrollTop = window.pageYOffset || document.documentElement.scrollTop; 1690 1691 if (this.predictiveSearch && this.predictiveSearch.isOpen) return; 1692 1693 if (scrollTop > this.currentScrollTop && scrollTop > this.headerBounds.bottom) { 1694 requestAnimationFrame(this.hide.bind(this)); 1695 } else if (scrollTop < this.currentScrollTop && scrollTop > this.headerBounds.bottom) { 1696 if (!this.preventReveal) { 1697 requestAnimationFrame(this.reveal.bind(this)); 1698 } else { 1699 window.clearTimeout(this.isScrolling); 1700 1701 this.isScrolling = setTimeout(() => { 1702 this.preventReveal = false; 1703 }, 66); 1704 1705 requestAnimationFrame(this.hide.bind(this)); 1706 } 1707 } else if (scrollTop <= this.headerBounds.top) { 1708 requestAnimationFrame(this.reset.bind(this)); 1709 } 1710 1711 1712 this.currentScrollTop = scrollTop; 1713 } 1714 1715 hide() { 1716 this.header.classList.add('shopify-section-header-hidden', 'shopify-section-header-sticky'); 1717 this.closeMenuDisclosure(); 1718// this.closeSearchModal(); 1719 } 1720 1721 reveal() { 1722 this.header.classList.add('shopify-section-header-sticky', 'animate'); 1723 this.header.classList.remove('shopify-section-header-hidden'); 1724 } 1725 1726 reset() { 1727 this.header.classList.remove('shopify-section-header-hidden', 'shopify-section-header-sticky', 'animate'); 1728 } 1729 1730 closeMenuDisclosure() { 1731 this.disclosures = this.disclosures || this.header.querySelectorAll('details-disclosure'); 1732 this.disclosures.forEach(disclosure => disclosure.close()); 1733 } 1734 1735 closeSearchModal() { 1736 this.searchModal = this.searchModal || this.header.querySelector('details-modal'); 1737 this.searchModal.close(false); 1738 } 1739 } 1740 1741 customElements.define('sticky-header', StickyHeader); 1742</script>
1742 1743
1744<script type="application/ld+json"> 1745 { 1746 "@context": "http://schema.org", 1747 "@type": "Organization", 1748 "name": "Revolution Mining", 1749 1750 1751 "logo": "https:\/\/www.revolutionmining.io\/cdn\/shop\/files\/Revolution_Mining_-_white_1005x.png?v=1679084013", 1752 1753 "sameAs": [ 1754 "https:\/\/twitter.com\/RevolMining", 1755 "https:\/\/www.facebook.com\/RevolMining", 1756 "", 1757 "https:\/\/www.instagram.com\/revolutionmining", 1758 "", 1759 "", 1760 "", 1761 "", 1762 "" 1763 ], 1764 "url": "https:\/\/www.revolutionmining.io\/pages\/contact" 1765 } 1766</script>
1766 1767</div> 1768 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 1769 1770 <section id="shopify-section-template--15558538559533__5550441d-21b2-4b50-b7bc-34d6501738ab" class="shopify-section spaced-section spaced-section--full-width"><link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-rte.css?v=84043763465619332371685041301" media="print" onload="this.media='all'"> 1771<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/section-rich-text.css?v=43410417247505521801685041301" media="print" onload="this.media='all'"> 1772 1773<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-rte.css?v=84043763465619332371685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1774<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/section-rich-text.css?v=43410417247505521801685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1775 1776<div class=""> 1777 <div class="rich-text color-background-1 gradient rich-text--full-width"> 1778 <div class="rich-text__blocks"><h1 class="h3" ></h1><div class="rich-text__text rte" ><p>If you have any questions, comments, or feedback, please do not hesitate to contact us. We're committed to providing you with the best service possible and will respond to your inquiry as soon as possible.<br/><br/></p></div></div> 1779 </div> 1780</div> 1781 1782 1783</section><section id="shopify-section-template--15558538559533__1644471924d9912600" class="shopify-section spaced-section"><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/section-contact-us-form.css?v=181579623403881558621685041301" rel="stylesheet" type="text/css" media="all" /> 1784 1785 1786<style data-shopify> 1787 1788#shopify-section-template--15558538559533__1644471924d9912600 { 1789padding-top: 100px; 1790 } 1791</style> 1792<div class="page-width"> 1793 <div class="contact-us "> 1794 <div class="grid"> 1795 <div class="contact-form-wrapper grid__item"> 1796 <h2 class="h3">Send us a message</h2><form method="post" action="/contact#ContactForm" id="ContactForm" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="â" /><div class="contact__fields"> 1797 <div class="cfield"> 1798 <label class="form__label cfield__label" for="ContactForm-fname">First Name</label> 1799 <input class="field__input" autocomplete="first_name" type="text" id="ContactForm-fname" name="contact[first_name]" value="" placeholder="First Name"> 1800 </div> 1801 <div class="cfield"> 1802 <label class="form__label cfield__label" for="ContactForm-lname">Last Name</label> 1803 <input class="field__input" autocomplete="last_name" type="text" id="ContactForm-lname" name="contact[last_name]" value="" placeholder="Last Name"> 1804 </div> 1805 <div class="cfield field--with-error"> 1806 <label class="form__label cfield__label" for="ContactForm-email">Email Address <span aria-hidden="true">*</span></label> 1807 <input 1808 autocomplete="email" 1809 type="email" 1810 id="ContactForm-email" 1811 class="field__input" 1812 name="contact[email]" 1813 spellcheck="false" 1814 autocapitalize="off" 1815 value="" 1816 aria-required="true" 1817 1818 placeholder="Email" 1819 ></div> 1820 </div> 1821 <div class="cfield"> 1822 <label class="form__label cfield__label" for="ContactForm-body">Message</label> 1823 <textarea 1824 rows="1" 1825 id="ContactForm-body" 1826 class="text-area field__input" 1827 name="contact[Comment]" 1828 placeholder="Comment" 1829 ></textarea> 1830 </div> 1831 <div class="contact__button right"> 1832 <button type="submit" class="button"> 1833 Send message 1834 </button> 1835 </div></form></div> 1836 <div class="contact-info"> 1837 <h2 class="h3"></h2> 1838 <div class="contact-details"> 1839 <p><strong>Call or Text us at:</strong><br/>213-534-6525 </p><p><strong>Email us:</strong><br/>[email protected]</p><p><strong>Hours of Operation: </strong><br/>MonâFri: 8am-5pm PST <br/>Sat-Sun: Closed</p> 1840 </div> 1841 1842 <ul class="list-unstyled list-social" role="list"><li class="list-social__item"> 1843 <a href="https://twitter.com/RevolMining" class="link list-social__link" ><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-twitter" viewBox="0 0 18 15">
1844 <path fill="currentColor" d="M17.64 2.6a7.33 7.33 0 01-1.75 1.82c0 .05 0 .13.02.23l.02.23a9.97 9.97 0 01-1.69 5.54c-.57.85-1.24 1.62-2.02 2.28a9.09 9.09 0 01-2.82 1.6 10.23 10.23 0 01-8.9-.98c.34.02.61.04.83.04 1.64 0 3.1-.5 4.38-1.5a3.6 3.6 0 01-3.3-2.45A2.91 2.91 0 004 9.35a3.47 3.47 0 01-2.02-1.21 3.37 3.37 0 01-.8-2.22v-.03c.46.24.98.37 1.58.4a3.45 3.45 0 01-1.54-2.9c0-.61.14-1.2.45-1.79a9.68 9.68 0 003.2 2.6 10 10 0 004.08 1.07 3 3 0 01-.13-.8c0-.97.34-1.8 1.03-2.48A3.45 3.45 0 0112.4.96a3.49 3.49 0 012.54 1.1c.8-.15 1.54-.44 2.23-.85a3.4 3.4 0 01-1.54 1.94c.74-.1 1.4-.28 2.01-.54z"> 1845</svg> 1846<span class="visually-hidden">Twitter</span> 1847 </a> 1848 </li><li class="list-social__item"> 1849 <a href="https://www.facebook.com/RevolMining" class="link list-social__link" ><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 18 18"> 1850 <path fill="currentColor" d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z"> 1851</svg> 1852<span class="visually-hidden">Facebook</span> 1853 </a> 1854 </li><li class="list-social__item"> 1855 <a href="https://www.instagram.com/revolutionmining" class="link list-social__link" ><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 18 18"> 1856 <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/> 1857 <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z"> 1858</svg> 1859<span class="visually-hidden">Instagram</span> 1860 </a> 1861 </li><li class="list-social__item"> 1862 <a href="https://t.me/revolution_mining" class="link list-social__link" ><svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow" viewB
1862ox="0 0 12.537 10.562"> 1863 <defs> 1864 <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox"> 1865 <stop offset="0" stop-color="#352de8"/> 1866 <stop offset="1" stop-color="#79defc"/> 1867 </linearGradient> 1868 </defs> 1869 <path id="Tracciato_150" data-name="Tracciato 150" d="M96.724,588.765l-11.466,4.468a.418.418,0,0,0,.033.79l2.914.86,1.087,3.45a.5.5,0,0,0,.835.2L91.634,597l2.956,2.17a.617.617,0,0,0,.969-.371l1.958-9.359a.59.59,0,0,0-.792-.67Zm-1.437,2.077-5.326,4.71a.286.286,0,0,0-.095.182l-.2,1.823a.055.055,0,0,1-.108.01l-.844-2.718a.286.286,0,0,1,.123-.328l6.289-3.9a.139.139,0,0,1,.165.222Zm0,0" transform="translate(-84.992 -588.724)" fill="url(#linear-gradient)"/> 1870</svg><span class="visually-hidden">Telegram</span> 1871 </a> 1872 </li></ul> 1873 1874 </div> 1875 </div> 1876 </div> 1877</div> 1878 1879 1880</section><section id="shopify-section-template--15558538559533__rich_text_BmKUpH" class="shopify-section spaced-section spaced-section--full-width"><link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-rte.css?v=84043763465619332371685041301" media="print" onload="this.media='all'"> 1881<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/section-rich-text.css?v=43410417247505521801685041301" media="print" onload="this.media='all'"> 1882 1883<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-rte.css?v=84043763465619332371685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1884<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/section-rich-text.css?v=43410417247505521801685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1885 1886<div class=""> 1887 <div class="rich-text color-background-1 gradient rich-text--full-width"> 1888 <div class="rich-text__blocks"><h1 class="h3" >Meet with us face to face!</h1><div class="rich-text__text rte" ><p>Schedule a 30-min video call with the Revolution Mining Team.<br/>Get to know us and ask us any questions you like!</p></div></div> 1889 </div> 1890</div> 1891 1892 1893<style> #shopify-section-template--15558538559533__rich_text_BmKUpH {margin-bottom: 1px; margin-top: 150px;} </style></section><section id="shopify-section-template--15558538559533__custom_liquid_nmxwhT" class="shopify-section spaced-section"><!-- Calendly inline widget begin --> 1894<div class="calendly-inline-widget" data-url="https://calendly.com/revolutionmining/30min?hide_event_type_details=1&hide_gdpr_banner=1&background_color=171b26&text_color=ffffff&primary_color=8ca2f3" style="min-width:320px;height:630px;"></div>
1895<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js" async></script>
1895 1896<!-- Calendly inline widget end --> 1897 1898 1899<style> #shopify-section-template--15558538559533__custom_liquid_nmxwhT {margin-bottom: 1px; margin-top: -50px;} </style></section><section id="shopify-section-template--15558538559533__16444719284190ec70" class="shopify-section spaced-section spaced-section--full-width"><link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-slider.css?v=164911113917242421521685041301" media="print" onload="this.media='all'"> 1900<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-card.css?v=45295720295133690371685041301" media="print" onload="this.media='all'"> 1901<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-article-card.css?v=28263552231511277471685041301" media="print" onload="this.media='all'"> 1902<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/section-featured-blog.css?v=81271273366866440061685041301" media="print" onload="this.media='all'"> 1903 1904<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-slider.css?v=164911113917242421521685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1905<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-card.css?v=45295720295133690371685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1906<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-article-card.css?v=28263552231511277471685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 1907 1908<link href="//www.revolutionmining.io/cdn/shop/t/15/assets/section-featured-blog.css?v=81271273366866440061685041301" rel="stylesheet" type="text/css" media="all" /> 1909 1910<style data-shopify> 1911 1912#shopify-section-template--15558538559533__16444719284190ec70 { 1913padding-top: 50px; 1914padding-bottom: 100px; 1915 } 1916</style> 1917<div class="blog featured-blog-wrapper" 1918 style="background-image: url(//www.revolutionmining.io/cdn/shop/files/Purple_Mesh.png?v=1644328415);"> 1919 <div class="page-width-desktop"> 1920 <div class="title-wrapper-without-link title-wrapper--self-padded-tablet-down"> 1921 <h3 class="blog__title center">The Latest from Revolution</h3> 1922 </div><slider-component class="slider-mobile-gutter"> 1923 <ul id="Slider-template--15558538559533__16444719284190ec70" 1924 class="blog__posts articles-wrapper grid grid--peek grid--2-col-tablet grid--4-col-desktop slider slider--tablet" 1925 role="list" 1926 ><li id="Slide-template--15558538559533__16444719284190ec70-1" class="blog__post grid__item article slider__slide slider__slide--full-width"> 1927 1928 1929<article class="article-card" aria-labelledby="Article-561635426349"> 1930 <a href="/blogs/the-revolution-blog/clr-qualification" class="article-content motion-reduce"><div class="article-card__image-wrapper"> 1931 <div class="article-card__image media media--landscape" > 1932 <img 1933 srcset="//www.revolutionmining.io/cdn/shop/articles/obm_post2_e8a17f72-f6d1-484c-b69e-8e860332ecb2_165x.png?v=1758814350 165w,//www.revolutionmining.io/cdn/shop/articles/obm_post2_e8a17f72-f6d1-484c-b69e-8e860332ecb2_360x.png?v=1758814350 360w,//www.revolutionmining.io/cdn/shop/articles/obm_post2_e8a17f72-f6d1-484c-b69e-8e860332ecb2_533x.png?v=1758814350 533w,//www.revolutionmining.io/cdn/shop/articles/obm_post2_e8a17f72-f6d1-484c-b69e-8e860332ecb2_720x.png?v=1758814350 720w,//www.revolutionmining.io/cdn/shop/articles/obm_post2_e8a17f72-f6d1-484c-b69e-8e860332ecb2_1000x.png?v=1758814350 1000w,//www.revolutionmining.io/cdn/shop/articles/obm_post2_e8a17f72-f6d1-484c-b69e-8e860332ecb2_1500x.png?v=1758814350 1500w,//www.revolutionmining.io/cdn/shop/articles/obm_post2_e8a17f72-f6d1-484c-b69e-8e860332ecb2.png?v=1758814350 1500w" 1934 src="//www.revolutionmining.io/cdn/shop/articles/obm_post2_e8a17f72-f6d1-484c-b69e-8e860332ecb2_533x.png?v=1758814350" 1935 sizes="(min-width: 1200px) 550px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 1936 alt="Revolution Mining Passes ERCOT CLR - A Big Step Forward for Scalable, Grid-Responsive Mining in Texas" 1937 width="1500" 1938 height="844" 1939 loading="lazy" 1940 class="motion-reduce" 1941 > 1942 </div> 1943 </div><div class="article-card__info"> 1944 <header class="article-card__header"><span class="circle-divider caption-with-letter-spacing">09/24/2025</span><h2 class="article-card__title" id="Article-561635426349"> 1945 Revolution Mining Passes ERCOT CLR - A Big Step Forward for Scalable, Grid-Responsive Mining in Texas 1946 </h2> 1947 </header><p class="article-card__excerpt rte-width">Weâve officially passed ERCOTâs Controllable Load Resource (CLR) programâa rigorous grid-control milestone that unlocks capacity growth at our West Texas facility and sets a new bar for flexible load management.... 1948</p><div class="article-card__footer"></div> 1949 </div> 1950 </a> 1951</article> 1952 1953 </li><li id="Slide-template--15558538559533__16444719284190ec70-2" class="blog__post grid__item article slider__slide slider__slide--full-width"> 1954 1955 1956<article class="article-card" aria-labelledby="Article-561626808365"> 1957 <a href="/blogs/the-revolution-blog/bitcoin-mining-2025-what-actually-works" class="article-content motion-reduce"><div class="article-card__image-wrapper"> 1958 <div class="article-card__image media media--landscape" > 1959 <img 1960 srcset="//www.revolutionmining.io/cdn/shop/articles/2025-09-22_16-4
19600-14_165x.jpg?v=1758584619 165w,//www.revolutionmining.io/cdn/shop/articles/2025-09-22_16-40-14_360x.jpg?v=1758584619 360w,//www.revolutionmining.io/cdn/shop/articles/2025-09-22_16-40-14_533x.jpg?v=1758584619 533w,//www.revolutionmining.io/cdn/shop/articles/2025-09-22_16-40-14_720x.jpg?v=1758584619 720w,//www.revolutionmining.io/cdn/shop/articles/2025-09-22_16-40-14_1000x.jpg?v=1758584619 1000w,//www.revolutionmining.io/cdn/shop/articles/2025-09-22_16-40-14.jpg?v=1758584619 1100w" 1961 src="//www.revolutionmining.io/cdn/shop/articles/2025-09-22_16-40-14_533x.jpg?v=1758584619" 1962 sizes="(min-width: 1200px) 550px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 1963 alt="Bitcoin Mining 2025: What Actually Works" 1964 width="1100" 1965 height="733" 1966 loading="lazy" 1967 class="motion-reduce" 1968 > 1969 </div> 1970 </div><div class="article-card__info"> 1971 <header class="article-card__header"><span class="circle-divider caption-with-letter-spacing">09/22/2025</span><h2 class="article-card__title" id="Article-561626808365"> 1972 Bitcoin Mining 2025: What Actually Works 1973 </h2> 1974 </header><p class="article-card__excerpt rte-width">A clear, data-backed comparison of home mining, cloud contracts, and pro hosting. We break down electricity costs, noise, uptime, and scalabilityâwith an S21 Pro example and a simple checklist to... 1975</p><div class="article-card__footer"></div> 1976 </div> 1977 </a> 1978</article> 1979 1980 </li><li id="Slide-template--15558538559533__16444719284190ec70-3" class="blog__post grid__item article slider__slide slider__slide--full-width"> 1981 1982 1983<article class="article-card" aria-labelledby="Article-558332969005"> 1984 <a href="/blogs/the-revolution-blog/united-states-first-ever-bitcoin-enabled-real-estate-marketplace" class="article-content motion-reduce"><div class="article-card__image-wrapper"> 1985 <div class="article-card__image media media--landscape" > 1986 <img 1987 srcset="//www.revolutionmining.io/cdn/shop/articles/bitcoin_house_165x.jpg?v=1682271381 165w,//www.revolutionmining.io/cdn/shop/articles/bitcoin_house.jpg?v=1682271381 295w" 1988 src="//www.revolutionmining.io/cdn/shop/articles/bitcoin_house_533x.jpg?v=1682271381" 1989 sizes="(min-width: 1200px) 550px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 1990 alt="first ever bitcoin enabled real estate marketplace" 1991 width="295" 1992 height="171" 1993 loading="lazy" 1994 class="motion-reduce" 1995 > 1996 </div> 1997 </div><div class="article-card__info"> 1998 <header class="article-card__header"><span class="circle-divider caption-with-letter-spacing">04/21/2023</span><h2 class="article-card__title" id="Article-558332969005"> 1999 United States' First Ever Bitcoin Enabled Real Estate Marketplace 2000 </h2> 2001 </header><p class="article-card__excerpt rte-width">MyEListing, a leading commercial real estate marketplace, is gearing up to launch their ASAP (Accelerated Sale and Purchase) program, which will be the United States' first-ever bitcoin-enabled real estate marketplace,... 2002</p><div class="article-card__footer"></div> 2003 </div> 2004 </a> 2005</article> 2006 2007 </li></ul><div class="slider-buttons no-js-hidden"> 2008 <button type="button" class="slider-button slider-button--prev" name="previous" aria-label="Slide left"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret" viewBox="0 0 10 6"> 2009 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2010</svg> 2011</button> 2012 <div class="slider-counter caption"> 2013 <span class="slider-counter--current">1</span> 2014 <span aria-hidden="true"> / </span> 2015 <span class="visually-hidden">of</span> 2016 <span class="slider-counter--total">3</span> 2017 </div> 2018 <button type="button" class="slider-button slider-button--next" name="next" aria-label="Slide right"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret" viewBox="0 0 10 6"> 2019 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2020</svg> 2021</button> 2022 </div></slider-component><div class="blog__view-all center"> 2023 <a href="/blogs/the-revolution-blog" class="blog__button"> 2024 See all news <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg"> 2025 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> 2026</svg> 2027 2028 </a> 2029 </div></div> 2030</div> 2031 2032 2033</section> 2034 2035 </main> 2036 2037 <div id="shopify-section-footer" class="shopify-section"> 2038<link href="//www.revolutionmining.io/cdn/shop/t/15/assets/section-footer.css?v=121722443751496507361685041301" rel="stylesheet" type="text/css" media="all" /> 2039<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-newsletter.css?v=104428928238840112351685041301" media="print" onload="this.media='all'"> 2040<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-list-menu.css?v=161614383810958508431685041301" media="print" onload="this.media='all'"> 2041<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-list-payment.css?v=69253961410771838501685041301" media="print" onload="this.media='all'"> 2042<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-list-social.css?v=52211663153726659061685041301" media="print" onload="this.media='all'"> 2043<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-rte.css?v=84043763465619332371685041301" media="print" onload="this.media='all'"> 2044<link rel="stylesheet" href="//www.revolutionmining.io/cdn/shop/t/15/assets/disclosure.css?v=160129347545493074521685041301" media="print" onload="this.media='all'"> 2045 2046<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-newsletter.css?v=104428928238840112351685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 2047<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-list-menu.css?v=161614383810958508431685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 2048<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-list-payment.css?v=69253961410771838501685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 2049<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-list-social.css?v=52211663153726659061685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 2050<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/component-rte.css?v=84043763465619332371685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 2051<noscript><link href="//www.revolutionmining.io/cdn/shop/t/15/assets/disclosure.css?v=160129347545493074521685041301" rel="stylesheet" type="text/css" media="all" /></noscript> 2052 2053<footer class="footer color-accent-2 gradient">
2053<div class="footer__content-top page-width"><div class="footer__blocks-wrapper grid grid--1-col grid--2-col grid--4-col-tablet grid--3-col-tablet"><div class="footer-block grid__item" ><div class="footer-block__details-content footer-block-image "><img 2054 srcset= "//www.revolutionmining.io/cdn/shop/files/Revolution_Mining_-_white_200x.png?v=1679084013, //www.revolutionmining.io/cdn/shop/files/[email protected]?v=1679084013 2x" 2055 src="//www.revolutionmining.io/cdn/shop/files/Revolution_Mining_-_white_400x.png?v=1679084013" 2056 alt="" 2057 loading="lazy" 2058 width="1005" 2059 height="191" 2060 style="max-width: min(100%, 200px);" 2061 ></div></div><div class="footer-block grid__item" ><div class="footer-block__details-content rte"> 2062 2063 </div></div><div class="footer-block grid__item" ><div class="footer-block__details-content rte"> 2064 2065 </div></div><div class="footer-block grid__item" ><div class="footer-block__details-content rte"> 2066 <p><strong>Call or Text us:Â </strong>213-534-6525</p><p><strong>Email us:Â </strong>[email protected]</p><p><strong>Hours:</strong><br/>MonâFri: 8am-5pm PST<br/>Sat-Sun: Closed</p> 2067 </div></div><div class="footer-block grid__item" ><ul class="footer-block__details-content list-unstyled"><li> 2068 <a href="/pages/policy" class="link link--text list-menu__item list-menu__item--link"> 2069 Privacy Policy 2070 </a> 2071 </li><li> 2072 <a href="/policies/terms-of-service" class="link link--text list-menu__item list-menu__item--link"> 2073 Terms of Service 2074 </a> 2075 </li><li> 2076 <a href="/pages/hostingagreement" class="link link--text list-menu__item list-menu__item--link"> 2077 Hosting Agreement 2078 </a> 2079 </li><li> 2080 <a href="/pages/purchaseagreement" class="link link--text list-menu__item list-menu__item--link"> 2081 Purchase Agreement 2082 </a> 2083 </li><li> 2084 <a href="/policies/refund-policy" class="link link--text list-menu__item list-menu__item--link"> 2085 Refund Policy 2086 </a> 2087 </li></ul></div><div class="footer-block grid__item" ><ul class="footer__list-social list-unstyled list-social" role="list"><li class="list-social__item"> 2088 <a rel="nofollow" href="https://twitter.com/RevolMining" class="link list-social__link" ><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-twitter" viewBox="0 0 18 15"> 2089 <path fill="currentColor" d="M17.64 2.6a7.33 7.33 0 01-1.75 1.82c0 .05 0 .13.02.23l.02.23a9.97 9.97 0 01-1.69 5.54c-.57.85-1.24 1.62-2.02 2.28a9.09 9.09 0 01-2.82 1.6 10.23 10.23 0 01-8.9-.98c.34.02.61.04.83.04 1.64 0 3.1-.5 4.38-1.5a3.6 3.6 0 01-3.3-2.45A2.91 2.91 0 004 9.35a3.47 3.47 0 01-2.02-1.21 3.37 3.37 0 01-.8-2.22v-.03c.46.24.98.37 1.58.4a3.45 3.45 0 01-1.54-2.9c0-.61.14-1.2.45-1.79a9.68 9.68 0 003.2 2.6 10 10 0 004.08 1.07 3 3 0 01-.13-.8c0-.97.34-1.8 1.03-2.48A3.45 3.45 0 0112.4.96a3.49 3.49 0 012.54 1.1c.8-.15 1.54-.44 2.23-.85a3.4 3.4 0 01-1.54 1.94c.74-.1 1.4-.28 2.01-.54z"> 2090</svg> 2091<span class="visually-hidden1">Twitter</span> 2092 </a> 2093 </li><li class="list-social__item"> 2094 <a rel="nofollow" href="https://www.facebook.com/RevolMining" class="link list-social__link" ><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 18 18"> 2095 <path fill="currentColor" d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z"> 2096</svg> 2097<span class="visually-hidden1">Facebook</span> 2098 </a> 2099 </li><li class="list-social__item"> 2100 <a rel="nofollow" href="https://www.instagram.com/revolutionmining" class="link list-social__link" ><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 18 18">
2101 <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/> 2102 <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z"> 2103</svg> 2104<span class="visually-hidden1">Instagram</span> 2105 </a> 2106 </li><li class="list-social__item"> 2107 <a rel="nofollow" href="https://t.me/revolution_mining" class="link list-social__link" ><svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow" viewB
2107ox="0 0 12.537 10.562"> 2108 <defs> 2109 <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox"> 2110 <stop offset="0" stop-color="#352de8"/> 2111 <stop offset="1" stop-color="#79defc"/> 2112 </linearGradient> 2113 </defs> 2114 <path id="Tracciato_150" data-name="Tracciato 150" d="M96.724,588.765l-11.466,4.468a.418.418,0,0,0,.033.79l2.914.86,1.087,3.45a.5.5,0,0,0,.835.2L91.634,597l2.956,2.17a.617.617,0,0,0,.969-.371l1.958-9.359a.59.59,0,0,0-.792-.67Zm-1.437,2.077-5.326,4.71a.286.286,0,0,0-.095.182l-.2,1.823a.055.055,0,0,1-.108.01l-.844-2.718a.286.286,0,0,1,.123-.328l6.289-3.9a.139.139,0,0,1,.165.222Zm0,0" transform="translate(-84.992 -588.724)" fill="url(#linear-gradient)"/> 2115</svg><span class="visually-hidden1">Telegram</span> 2116 </a> 2117 </li></ul></div></div><div class="footer-block--newsletter"></div> 2118 </div><div class="footer__content-bottom"> 2119 <div class="footer__content-bottom-wrapper page-width"> 2120 <div class="footer__column footer__localization"></div> 2121 <div class="footer__column footer__column--info"><div class="footer__copyright caption"> 2122 <small class="copyright__content"> 2123 2124 ©Copyright 2026, All Right Reserved 2125 </small> 2126 2127 </div> 2128 </div> 2129 </div> 2130 </div> 2131</footer> 2132
2133<script> 2134 class LocalizationForm extends HTMLElement { 2135 constructor() { 2136 super(); 2137 this.elements = { 2138 input: this.querySelector('input[name="locale_code"], input[name="country_code"]'), 2139 button: this.querySelector('button'), 2140 panel: this.querySelector('ul'), 2141 }; 2142 this.elements.button.addEventListener('click', this.openSelector.bind(this)); 2143 this.elements.button.addEventListener('focusout', this.closeSelector.bind(this)); 2144 this.addEventListener('keyup', this.onContainerKeyUp.bind(this)); 2145 2146 this.querySelectorAll('a').forEach(item => item.addEventListener('click', this.onItemClick.bind(this))); 2147 } 2148 2149 hidePanel() { 2150 this.elements.button.setAttribute('aria-expanded', 'false'); 2151 this.elements.panel.setAttribute('hidden', true); 2152 } 2153 2154 onContainerKeyUp(event) { 2155 if (event.code.toUpperCase() !== 'ESCAPE') return; 2156 2157 this.hidePanel(); 2158 this.elements.button.focus(); 2159 } 2160 2161 onItemClick(event) { 2162 event.preventDefault(); 2163 const form = this.querySelector('form'); 2164 this.elements.input.value = event.currentTarget.dataset.value; 2165 if (form) form.submit(); 2166 } 2167 2168 openSelector() { 2169 this.elements.button.focus(); 2170 this.elements.panel.toggleAttribute('hidden'); 2171 this.elements.button.setAttribute('aria-expanded', (this.elements.button.getAttribute('aria-expanded') === 'false').toString()); 2172 } 2173 2174 closeSelector(event) { 2175 const shouldClose = event.relatedTarget && event.relatedTarget.nodeName === 'BUTTON'; 2176 if (event.relatedTarget === null || shouldClose) { 2177 this.hidePanel(); 2178 } 2179 } 2180 } 2181 2182 customElements.define('localization-form', LocalizationForm); 2183</script>
2183 2184 2185 2186</div> 2187 2188 <ul hidden> 2189 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 2190 </ul> 2191 2192
2192<script> 2193 window.shopUrl = 'https://www.revolutionmining.io'; 2194 window.routes = { 2195 cart_add_url: '/cart/add', 2196 cart_change_url: '/cart/change', 2197 cart_update_url: '/cart/update', 2198 predictive_search_url: '/search/suggest' 2199 }; 2200 2201 window.cartStrings = { 2202 error: `There was an error while updating your cart. Please try again.`, 2203 quantityError: `You can only add [quantity] of this item to your cart.` 2204 } 2205 2206 window.variantStrings = { 2207 addToCart: `Add to cart`, 2208 soldOut: `Sold out`, 2209 unavailable: `Unavailable`, 2210 } 2211 2212 window.accessibilityStrings = { 2213 imageAvailable: `Image [index] is now available in gallery view`, 2214 shareSuccess: `Link copied to clipboard`, 2215 pauseSlideshow: `Pause slideshow`, 2216 playSlideshow: `Play slideshow`, 2217 } 2218 </script>
2218 2219 2220
2220<script> 2221 var inputs = document.getElementsByClassName('my-input'); 2222 2223 for (var i = 0; i < inputs.length; i++) { 2224 inputs[i].addEventListener('change', function() { 2225 setTimeout(function() { 2226 window.location.reload(); 2227 }, 2400); // 2000 milliseconds = 2 seconds 2228 }); 2229 } 2230 2231 (function() { 2232 var REDIRECT_PATH = '/checkout'; 2233 2234 var selector = '#create_customer, form[action$="/account"][method="post"]', 2235 $form = document.querySelectorAll(selector)[0]; 2236 2237 if ($form) { 2238 $redirect = document.createElement('input'); 2239 $redirect.setAttribute('name', 'return_to'); 2240 $redirect.setAttribute('type', 'hidden'); 2241 $redirect.value = REDIRECT_PATH; 2242 $form.appendChild($redirect); 2243 } 2244 })(); 2245 </script>
2245<script> 2246 document.addEventListener('click', function(e) { 2247 if (e.target.closest('a') && e.target.closest('a').innerText.includes('View and Purchase Equipment')) { 2248 gtag('event', 'conversion', { 2249 'send_to': 'AW-11149028770/KpbRCP-TsZoYEKLbosQp' 2250 }); 2251 } 2252 if (e.target.closest('a') && e.target.closest('a').innerText.includes('Talk to Sales')) { 2253 gtag('event', 'conversion', { 2254 'send_to': 'AW-11149028770/pJ8CCKiosZoYEKLbosQp' 2255 }); 2256 } 2257 }); 2258 2259</script>
vendor: 1 bytes, line 2259
2259
2260<script> 2261 document.addEventListener('click', function(e) { 2262 if (e.target.closest('button') && e.target.innerText == "Buy & Host") { 2263 gtag('event', 'conversion', { 2264 'send_to': 'AW-11149028770/WZZ-CKPCtZoYEKLbosQp' 2265 }); 2266 } 2267 }, true); 2268 2269</script>
2269 2270 2271 2272
2272<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2272 2273</body> 2274</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.