PageSourceSearch

https://www.revolutionmining.io/pages/contact

html revolutionmining.io collected 2026-10-04 21:23:55 UTC 147,456 bytes, 2,274 lines download raw bytes

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&region_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&region_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&region_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&#39; 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            &copy;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.