PageSourceSearch

https://www.firehousesubs.com/

html firehousesubs.com collected 2026-10-02 02:56:35 UTC 6,649 bytes, 182 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3  <head>
4    <meta charset="utf-8" />
5    <meta httpEquiv="X-UA-Compatible" content="IE=edge" />
6    <meta
7      name="viewport"
8      content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"
9    />
10    <title>Firehouse Subs</title>
11    <style>
12      /**
13       * Extend the react-native-web reset:
14       * https://github.com/necolas/react-native-web/blob/master/packages/react-native-web/src/exports/StyleSheet/initialRules.js
15       */
16      html,
17      body,
18      #root {
19        width: 100%;
20        /* To smooth any scrolling behavior */
21        -webkit-overflow-scrolling: touch;
22        margin: 0px;
23        padding: 0px;
24        /* Allows content to fill the viewport and go beyond the bottom */
25        min-height: 100%;
26      }
27      #root {
28        flex-shrink: 0;
29        flex-basis: auto;
30        flex-grow: 1;
31        display: flex;
32        flex: 1;
33      }
34
35      html {
36        scroll-behavior: smooth;
37        /* Prevent text size change on orientation change https://gist.github.com/tfausak/2222823#file-ios-8-web-app-html-L138 */
38        -webkit-text-size-adjust: 100%;
39        height: calc(100% + env(safe-area-inset-top));
40      }
41
42      body {
43        display: flex;
44        /* Allows you to scroll below the viewport; default value is visible */
45        overflow-y: auto;
46        overscroll-behavior-y: none;
47        text-rendering: optimizeLegibility;
48        -webkit-font-smoothing: antialiased;
49        -moz-osx-font-smoothing: grayscale;
50        -ms-overflow-style: scrollbar;
51      }
52
53      input,
54      textarea {
55        border: none;
56        outline: none;
57        background: transparent;
58        -webkit-appearance: none;
59        appearance: none;
60        box-shadow: none;
61      }
62
63      input:focus-visible,
64      textarea:focus-visible {
65        outline: transparent;
66        outline-offset: -2px;
67      }
68      /* Enable for apps that support dark-theme */
69      /*@media (prefers-color-scheme: dark) {
70        body {
71          background-color: black;
72        }
73      }*/
74    </style>
75    
75<script src="https://cdn.bc0a.com/autopilot/f00000000030803/autopilot_sdk.js"></script>
75
76    
76<script async src="https://pay.google.com/gp/p/js/pay.js"></script>
76
77    
77<script async src="https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js"></script>
77
78  <meta name="theme-color" content="#ffffff">
79<link rel="icon" href="/favicon.ico" /></head>
80
81  <body>
82    <!-- WCAG 4.1.2: name third-party dialogs; label SDK inputs appended as body > input -->
83    
83<script>
84      (function () {
85        function labelSdkBodyInput(input) {
86          if (!(input instanceof HTMLInputElement) || input.parentElement !== document.body) return;
87          if (input.type === 'hidden' || input.getAttribute('aria-label') || input.getAttribute('aria-labelledby')) return;
88          var s = getComputedStyle(input);
89          // Stealth SDK inputs are often 1–8px; real fields are much larger. A 4×2px
90          // pixel tracker was skipped when the max was 2px, which failed axe “label”.
91          if (parseFloat(s.width) > 48 || parseFloat(s.height) > 48 || parseFloat(s.opacity) > 0.05) return;
92          if (s.position !== 'absolute') return;
93          input.setAttribute('aria-label', 'Internal application field');
94          input.setAttribute('tabindex', '-1');
95        }
96
97        function labelUnnamedThirdPartyDialog(el) {
98          if (el.getAttribute('aria-label')) return;
99          var refId = el.getAttribute('aria-labelledby');
100          var refEl = refId ? document.getElementById(refId) : null;
101          if (refEl && refEl.textContent.trim()) return;
102          var label = 'Dialog';
103          if (el.id === 'dialog-section') label = 'Apple Pay';
104          else if (el.classList.contains('Outro') || el.classList.contains('Outro_module_outro')) label = 'Notification';
105          else if (el.classList.contains('OverlayBase') || el.classList.contains('OverlayBase_module_overlayWrapper')) label = 'Promotional message';
106          el.setAttribute('aria-label', label);
107        }
108
109        function handleAddedNode(node) {
110          if (!(node instanceof HTMLElement)) return;
111          if (node.tagName === 'INPUT') labelSdkBodyInput(node);
112          if (node.getAttribute('role') === 'dialog') labelUnnamedThirdPartyDialog(node);
113          node.querySelectorAll('[role="dialog"]').forEach(labelUnnamedThirdPartyDialog);
114        }
115
116        new MutationObserver(function (records) {
117          records.forEach(function (record) {
118            record.addedNodes.forEach(handleAddedNode);
119          });
120        }).observe(document.body, { childList: true, subtree: true });
121
122        function scanDirectBodyInputs() {
123          document.body.querySelectorAll(':scope > input').forEach(labelSdkBodyInput);
124        }
125        scanDirectBodyInputs();
126        if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', scanDirectBodyInputs);
127        setTimeout(scanDirectBodyInputs, 2000);
128      })();
129    </script>
129
130    <!--
131      A generic no script element with a reload button and a message.
132      Feel free to customize this however you'd like.
133    -->
134    <noscript>
135      <form
136        action=""
137        style="
138          background-color: #fff;
139          position: fixed;
140          top: 0;
141          left: 0;
142          right: 0;
143          bottom: 0;
144          z-index: 9999;
145        "
146      >
147        <div
148          style="
149            font-size: 18px;
150            font-family: Helvetica, sans-serif;
151            line-height: 24px;
152            margin: 10%;
153            width: 80%;
154          "
155        >
156          <p>Oh no! It looks like JavaScript is not enabled in your browser.</p>
157          <p style="margin: 20px 0">
158            <button
159              type="submit"
160              style="
161                background-color: #4630eb;
162                border-radius: 100px;
163                border: none;
164                box-shadow: none;
165                color: #fff;
166                cursor: pointer;
167                font-weight: bold;
168                line-height: 20px;
169                padding: 6px 16px;
170              "
171            >
172              Reload
173            </button>
174          </p>
175        </div>
176      </form>
177    </noscript>
178    <!-- The root element for your Expo app. -->
179    <div id="root"></div>
180  
180<script src="/_expo/static/js/web/__expo-metro-runtime-42ac0f1b3eb7b209ce19027810a93d7a.js" defer></script>
180<script src="/_expo/static/js/web/__common-38a7accb935ab47d5ec0b90894e16c69.js" defer></script>
180<script src="/_expo/static/js/web/entry-6166c4f94f92b87333d41df782abcd35.js" defer></script>
180
181</body>
182</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.