PageSourceSearch

https://onlinecompass.net/about-us

html onlinecompass.net collected 2026-10-02 06:54:54 UTC 38,163 bytes, 743 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4    <head>
5        <meta charset="utf-8">
6        <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
7        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
8        <meta http-equiv="X-UA-Compatible" content="ie=edge">
9        <title>About Us</title>
10        <meta name="description" content="">
11        <meta name="author" content="Developix">
12        <meta name="theme-color" content="#5498e5">
13        <meta name="color-scheme" content="light dark">
14        <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
15
16        
17                <link rel="canonical" href="https://onlinecompass.net/about-us">
18        <link rel="alternate" hreflang="x-default" href="https://onlinecompass.net" />
19        
20        
21        <meta property="og:locale" content="en">
22        <meta property="og:type" content="website">
23        <meta property="og:title" content="About Us">
24        <meta property="og:description" content="">
25        <meta property="og:site_name" content="Online Compass">
26        <meta property="og:url" content="https://onlinecompass.net/about-us">
27        <meta property="og:image:type" content="image/jpeg">
28        
29        
30        <meta name="twitter:card" content="summary_large_image">
31        <meta name="twitter:title" content="About Us">
32        <meta name="twitter:description" content="">
33
34        
35        <link rel="apple-touch-icon" sizes="180x180" href="https://onlinecompass.net/icons/apple-touch-icon.png">
36        <link rel="icon" type="image/png" sizes="32x32" href="https://onlinecompass.net/icons/favicon-32x32.png">
37        <link rel="icon" type="image/png" sizes="16x16" href="https://onlinecompass.net/icons/favicon-16x16.png">
38        <link rel="manifest" href="https://onlinecompass.net/icons/site.webmanifest">
39        <link rel="mask-icon" href="https://onlinecompass.net/icons/safari-pinned-tab.svg" color="#5bbad5">
40        <link rel="shortcut icon" href="https://onlinecompass.net/icons/onlinecompass-favicon.ico" type="image/x-icon">
41        <meta name="msapplication-TileColor" content="#da532c">
42
43        <meta name="csrf-token" content="hFCwVb4C2R7Io90PYPoHPBK7s1CNJZL9DSoRVqRD">
44
45        
46        
46<script>
47    (function () {
48        // Bound to 3s: a slow/blocked /geo must fall back to OSM quickly rather
49        // than leaving the map on its loader indefinitely.
50        var ctrl = (typeof AbortController !== 'undefined') ? new AbortController() : null;
51        var timer = setTimeout(function () { if (ctrl) ctrl.abort(); }, 3000);
52        // window.COMPASS_GEO_URL is always unset in production (falls back to
53        // "/geo"). The local-only /local/esri-test harness sets it to point the
54        // shared fetch at a local force-China endpoint — NOT a production query
55        // param or header.
56        var geoUrl = window.COMPASS_GEO_URL || "/geo";
57        window.COMPASS_GEO = fetch(geoUrl, { cache: "no-cache", signal: ctrl ? ctrl.signal : undefined })
58            .then(function (r) { clearTimeout(timer); return r.json(); })
59            .then(function (d) { window.COMPASS_CHINA = !!(d && d.china); return d; })
60            .catch(function () { clearTimeout(timer); window.COMPASS_CHINA = false; return null; });
61    })();
62
63    var OSM_URL = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";
64    var ESRI_URL = "https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}";
65
66    window.getBaseLayer = function (L, opts) {
67        opts = opts || {};
68        var realLayer = null, pendingMap = null, pendingHandlers = [];
69
70        // Create the real layer once /geo resolves, register any buffered
71        // handlers, THEN addTo(map) — so 'load' is bound before tiles load.
72        function flush() {
73            if (!realLayer || !pendingMap) return;
74            while (pendingHandlers.length) {
75                var h = pendingHandlers.shift();
76                realLayer.on(h.evt, h.fn);
77            }
78            realLayer.addTo(pendingMap);
79        }
80
81        window.COMPASS_GEO.then(function (d) {
82            var cn = !!(d && d.china);          // d === null on /geo failure/timeout → OSM
83            realLayer = L.tileLayer(
84                cn ? ESRI_URL : OSM_URL,
85                Object.assign({ attribution: cn ? "Tiles &copy; Esri" : "", maxZoom: 19 }, opts)
86            );
87            flush();
88        });
89
90        // Proxy: quacks like a tile layer for the two calls the map pages make.
91        return {
92            addTo: function (map) { pendingMap = map; flush(); return this; },
93            on: function (evt, fn) {
94                if (realLayer) realLayer.on(evt, fn);
95                else pendingHandlers.push({ evt: evt, fn: fn });
96                return this;
97            }
98        };
99    };
100</script>
100
101
102        <link rel="preconnect" href="https://pagead2.googlesyndication.com" crossorigin>
103        <link rel="preconnect" href="https://c.pubguru.net" crossorigin>
104        <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
105
106        
107        <link rel="preload" href="/fonts/icons/icomoon.woff" as="font" type="font/woff" crossorigin>
108
109        
110        
111        
112        
113        
113<script type="speculationrules">
114{
115    "prefetch": [
116        {
117            "where": { "href_matches": "/*" },
118            "eagerness": "conservative"
119        }
120    ]
121}
122</script>
122
123
124        
125        <style id="critical-css">
126@font-face{font-family:"icomoon";src:url("/fonts/icons/icomoon.woff") format("woff"),url("/fonts/icons/icomoon.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
127[class^="icon-"],[class*=" icon-"]{font-family:"icomoon"!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
128.icon-trash:before{content:"\e900"}.icon-edit:before{content:"\e901"}.icon-maghrib:before{content:"\e902"}.icon-asr:before{content:"\e903"}.icon-fajr:before{content:"\e904"}.icon-isha:before{content:"\e905"}.icon-midnight:before{content:"\e906"}.icon-dhuhr:before{content:"\e907"}.icon-unlock:before{content:"\e908"}.icon-world:before{content:"\e909"}.icon-lock:before{content:"\e90a"}.icon-sea_level:before{content:"\e90b"}.icon-sunset:before{content:"\e90c"}.icon-sunrise:before{content:"\e90d"}.icon-theme:before{content:"\e90e"}.icon-share-2:before{content:"\e90f"}.icon-compass:before{content:"\e910"}.icon-map:before{content:"\e911"}.icon-keyboard_arrow_down:before{content:"\e912"}.icon-clock:before{content:"\e913"}.icon-distance:before{content:"\e914"}.icon-noon:before{content:"\e915"}.icon-qibla-sunrise:before{content:"\e916"}.icon-qibla-sunset:before{content:"\e917"}.icon-city:before{content:"\e918"}.icon-gps_fixed:before{content:"\e919"}.icon-power:before{content:"\e91a"}.icon-stop-circle:before{content:"\e91b"}.icon-menu:before{content:"\e919"}.icon-close:before{content:"\e91c"}
129:root{--bg-color:#fff;--main-color:#5498e5;--text-color:#5a5a5a;--text-blue:#1f5fb4;--accent-color:#f8c74b;--info-color:#dc3545}
130*,*::before,*::after{box-sizing:border-box;padding:0;margin:0;outline:0;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent}
131html{font-size:16px;scroll-behavior:smooth}
132html,body{overflow-x:hidden!important;width:100%!important;max-width:100%!important}
133body{font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:2;color:var(--text-color);min-height:100vh;background:var(--bg-color)}
134a{color:inherit!important;text-decoration:none;cursor:pointer}
135ul{list-style:none}
136label{cursor:pointer;user-select:none;font-size:.925rem}
137.skip-link{position:absolute;left:0;top:0;transform:translateY(-200%);z-index:1000;padding:8px 16px;background:#fff;color:var(--text-blue);border:2px solid var(--text-blue);border-radius:0 0 6px 0;text-decoration:none}
138.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}
139nav{width:100%;height:calc(60px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background-color:#2c6cb0;color:#fff}
140nav .holder{display:flex!important;flex-direction:row;align-items:center;justify-content:space-between}
141nav ul{display:flex;gap:12px;height:100%;align-items:center;justify-content:center;cursor:pointer}
142nav .logo{height:60px;width:max-content;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:8px}
143nav .logo a{display:flex;align-items:center;justify-content:center}
144nav .logo i{font-size:2rem}
145.holder{margin:0 auto;max-width:1124px;width:100%;display:flex;flex-direction:column;position:relative}
146.compass{position:relative;height:auto;aspect-ratio:1/1;width:50%;border-radius:50%;box-shadow:0 0 15px rgba(0,0,0,.2);margin:6% auto}
147.compass .arrow{position:absolute;width:0;height:0;top:-20px;left:50%;transform:translateX(-50%);border-style:solid;border-width:30px 20px 0 20px;border-color:var(--accent-color) transparent transparent transparent;z-index:1}
148.compass>.compass-circle{position:absolute;width:100%;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);background-position:center;background-repeat:no-repeat;background-size:contain;transition:none!important}
149/* .coordinates (deg/lat/long readout) and .manage (share/lock/theme) are
150   position:absolute in app.css. Without these rules they sit in normal flow
151   inside .holder before app.css loads, adding ~150-250px; the instant app.css
152   arrives they snap to absolute, .holder collapses, and the whole page jumps
153   up — this was the single biggest CLS source on the compass pages (lab CLS
154   0.626). Pinning them absolute from first paint removes the reflow entirely.
155   .colors is the theme dropdown (absolute, hidden until .active). Exact copy
156   of _general.scss:273-292 and 368-384 so there is no visual change. */
157.coordinates,.manage{position:absolute;
157left:0;top:5%;gap:4px;display:flex;flex-direction:column;align-items:flex-start}
158.manage{cursor:pointer;right:0;left:unset!important}
159.manage span{font-size:1.5rem}
160.colors{position:absolute;display:none}
161.right{display:flex;align-items:center;justify-content:center;font-size:1.8rem;cursor:pointer;position:relative;gap:16px}
162.right .blog{font-size:16px}
163.language,.change-theme{display:flex;align-items:center;justify-content:center;position:relative}
164.language{margin-left:24px}
165.change-theme{margin-top:10px}
166.lang{color:#000;font-size:.9rem;position:absolute;display:none;flex-direction:column;box-shadow:0 5px 25px rgba(0,0,0,.07);background:#fff;border-radius:4px;padding:4px 16px;top:40px;z-index:100;cursor:pointer;gap:8px;height:max-content;max-height:220px;overflow-y:scroll;user-select:none}
167.lang.active{display:block}
168.icon-theme{font-size:2rem!important}
169.start-btn{display:none}
170.mobile-menu{display:none;cursor:pointer}
171.mobile-menu .icon-close{display:none}
172.mobile-menu.active .icon-close{font-size:1.2rem;display:block}
173.mobile-menu.active .icon-menu{display:none}
174.mobile-menu+.language{margin-left:14px}
175.tools-menu{position:relative;display:flex;font-size:16px;gap:2rem}
176.tools-menu .icon-keyboard_arrow_down{display:initial}
177.tools-menu>li{z-index:70000;min-height:65px;
177display:flex;align-items:center;justify-content:center;gap:.25rem}
178.tools-menu ul{display:none}
179footer{width:100%;min-height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background-color:#2c6cb0;color:#fff;display:flex;align-items:center;justify-content:center}
180footer .holder{justify-content:space-between;flex-direction:row;font-size:.9rem}
181footer .holder ul{gap:16px;display:flex}
182/* LCP heading block (.content.meta h1) is the largest text element on the
183   location routes (where-am-i, what-city, what-country, what-is-my-zip-code,
184   what-is-my-address, what-county, what-state) and the homepage SEO section.
185   Without these rules the h1 paints at the UA default (2em / black) then
186   reflows to 1.25rem / blue once app.css arrives — delaying LCP and shifting
187   layout. Values are an exact copy of public/css/_general.scss so there is no
188   visual change, only earlier application. */
189.content{min-height:calc(100vh - 222px);margin:5% 0;box-shadow:0 5px 25px rgba(0,0,0,.07);border-radius:12px;padding:24px;text-align:justify;color:#3e3e3e}
190.content.meta{min-height:max-content!important;margin-bottom:0!important}
191.content.options{margin-bottom:0!important}
192.speed-page .content,.elevation-page .content{height:max-content;min-height:auto}
193.content h1{font-size:1.25rem}
194.content .blue{color:var(--text-blue)}
195/* Images inside .content cards. Without these, <picture> (inline, 0-height)
196   wraps an <img> that renders at its natural width (up to 640px) and bursts
197   outside the card before async app.css arrives — the "content box separated
198   from image" bug. Making <picture> block and constraining <img> matches
199   _general.scss:338-343 (desktop: max-width 70%) and _responsive.scss:154
200   (mobile: max-width 96%) so there is zero CLS. */
201.content picture{display:block;text-align:center}
202.content img{display:block;margin:24px auto;max-width:70%;height:auto}
203/* GPS coordinates page <img> (640x335, loading=lazy). The width/height attrs
204   should compute aspect-ratio automatically, but the lazy-load decode can
205   cause a brief 0-height state on the <picture> wrapper. Pinning the ratio
206   explicitly from first paint eliminates the residual 0.021 CLS entry. */
207.gps-page .content img[width="640"][height="335"]{aspect-ratio:640/335}
208@media(max-width:800px){
209html{font-size:14px}
210.compass{width:80%;margin-top:42%}
211nav .holder{padding:0 12px}
212.manage{position:relative!important;flex-direction:row;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}
213.manage>span,.manage .change-theme{background-color:#fff;box-shadow:0 5px 25px rgba(0,0,0,.07);width:16%;aspect-ratio:1/1;margin-top:unset;border-radius:8px;display:flex;align-items:center;justify-content:center}
214footer{padding:8px 0 calc(8px + env(safe-area-inset-bottom))!important}
215footer p{text-align:center}
216footer .holder{align-items:center;justify-content:center;flex-direction:column;gap:12px}
217.mobile-menu{display:block}
218.mobile-menu+.language{margin-left:8px}
219.tools-menu{display:none}
220.holder .content{min-height:max-content;margin:5% 0!important}
221.content img{max-width:96%}
222.track-page #map{aspect-ratio:16/15}
223/* .gps-page .holder.gps #map gets height:350px (overriding the aspect-ratio:16/8
224   above) on mobile once app.css arrives — reserving it here prevents ~185px of
225   shift on /gps-coordinates. Mirrors _responsive.scss:249-255. */
226.gps-page .holder.gps #map{height:350px;aspect-ratio:auto}
227}
228/* Ad-frame skeleton: reserve exact box-model from first paint so there is
229   zero height/visibility reflow when app.css arrives. The outer .ad-frame
230   holds the reserved min-height + responsive visibility + contain rules so
231   that AdSense's inline style overrides on the inner .ad-slot (which set
232   min-height:0!important; height:auto!important when an ad fails to fill)
233   cannot collapse the layout slot. Breakpoints are an exact copy of
234   _responsive.scss:474-560. */
235.ad-frame{display:block;width:100%;text-align:center;padding:.5rem;margin:0 auto;min-height:120px;contain:layout paint;overflow:hidden;position:relative}
236.ad-frame.ad-horizontal{min-height:120px}
237.ad-frame.ad-square{min-height:280px}
238.ad-frame.ad-all{display:block!important}
239.ad-slot{display:block;width:100%;position:relative}
240@media(max-width:767px){
241.ad-frame.ad-horizontal{min-height:250px}
242.ad-frame.ad-mobile{display:block!important}
243.ad-frame.ad-tablet{display:none}
244.ad-frame.ad-desktop{display:none}
245}
246@media(min-width:768px) and (max-width:1023px){
247.ad-frame.ad-mobile{display:none}
248.ad-frame.ad-tablet{display:block!important}
249.ad-frame.ad-desktop{display:none}
250}
251@media(min-width:1024px){
252.ad-frame.ad-mobile{display:none}
253.ad-frame.ad-tablet{display:none}
254.ad-frame.ad-desktop{display:block!important}
255/* Desktop horizontal ads served via PubGuru header-bidding +
256   AdSense commonly return 970x250 billboards (the old 120px reservation
257   only fit 728x90 / 970x90 leaderboards, so any billboard creative
258   pushed content by ~130px → CLS 0.64 on .ad-desktop.ad-horizontal,
259   90.2% poor). Reserving 250px covers the largest typical creative
260   and eliminates the shift regardless of which size fills. !important is
261   required: app.css (loaded after this inline block) still sets 120px on
262   desktop and wins on equal specificity, reintroducing the overflow. */
263.ad-frame.ad-horizontal{min-height:250px!important}
264}
265/* Static loading placeholder on the .ad-frame BACKGROUND (not a ::before
266   overlay). A background paints BEHIND the ad <ins>/iframe so it can never
267   cover the creative; the filled ad's opaque iframe covers it, and empty slots
268   show this gray box until the ad resolves. STATIC (no animation) = zero
269   paint/main-thread cost -> cannot affect INP (an animated background-position
270   version added mobile paint pressure). Cleared (background:none) the moment an
271   ad iframe appears (:has(iframe)) or the slot resolves. !important wins over
272   the committed app.css (no build step). */
273.ad-frame::before{display:none!important}
274.ad-frame{background:#eef1f5!important}
275.ad-frame:has(iframe),.ad-frame:has(.ad-slot.is-loaded),.ad-frame:has(ins[data-ad-status="filled"]),.ad-frame:has(ins[data-ad-status="unfilled"]){background:none!important}
276/* #map container reservation. #map holds only absolutely-positioned children
277   (search box, leaflet-loader), so its intrinsic height is 0 before app.css.
278   When app.css arrives, .track-page #map gets aspect-ratio:16/8, .elevation-page
279   #map gets height:400px, and mobile .track-page #map gets aspect-ratio:16/15.
280   Reserving these values here prevents content below the map from being pushed
281   down — mirrors _general.scss:1307-1311, _general.scss:1198-1201, and
282   _responsive.scss:48-50. */
283#map{width:100%;aspect-ratio:16/8;position:relative;background:#ddd}
284.elevation-page #map{height:400px;aspect-ratio:auto}
285/* Location-services toggle (homepage + location/map routes). #switch is
286   75x40 in _general.scss:504 and .toggle_icon has margin-bottom:50px;
287   without these the toggle paints as plain OFF/ON text then reflows. */
288.toggle_icon{align-items:center;justify-content:center;margin-bottom:50px;flex-direction:row;gap:8px}
289.line-page .toggle_icon,.circlemap-page .toggle_icon{margin-top:2rem;padding-bottom:.5rem}
290#switch{width:75px;height:40px;contain:layout style}
291.toggle{position:relative;border:2px solid #444249;border-radius:20px;box-sizing:border-box}
292.toggle-button,.toggle-text-off,.toggle-text-on,.glow-comp{position:absolute}
293.toggle-button{top:3px;width:65px;bottom:3px;right:3px;background-color:#444249;border-radius:23px;transform:scaleX(.4308);transform-origin:left center}
294.toggle-text-on{top:0;bottom:0;left:0;right:0;line-height:36px;text-align:center;font-size:18px;color:transparent}
295.toggle-text-off{top:0;bottom:0;right:6px;line-height:36px;text-align:center;font-size:14px;font-weight:bold;color:#444249}
296.glow-comp{opacity:0;top:10px;bottom:10px;left:10px;right:10px;border-radius:6px}
297/* .gps-info card reservation. The card renders 8 <p> rows whose <span> values
298   are filled asynchronously by setInfoData() after the nominatim reverse-
299   geocode resolves. Until then the card is ~64px shorter (zip column row +
300   address wrap row), and when the fetch resolves the card grows and pushes
301   the map + ad slots below — lab CLS 0.216 on /what-is-my-zip-code. Pin the
302   populated height here so the shift never happens. Mirrors _general.scss
303   (420px) and _responsive.scss (380px on mobile). */
304.gps-info{display:flex;flex-direction:column;gap:1rem;min-height:420px}
305@media(max-width:800px){.gps-info{min-height:380px}}
306/* .info-text (location-services hint shown above ad slots on GPS / location
307   routes). Without this rule it renders at UA default styling on first paint,
308   then gains margin-top:-2.7rem + margin-bottom:1.7rem + bold + red from async
309   app.css — the vertical delta cascades into a CLS shift on the slots below.
310   Mirrors _general.scss:841-854 so there is no visual change, only earlier
311   application. */
312.info-text{margin-top:-2.7rem;margin-bottom:1.7rem;width:100%;text-align:center;color:var(--info-color);font-size:1rem;font-weight:bold;display:none}
313.info-text.active{display:block}
314</style>
315
316        <link rel="stylesheet" href="https://onlinecompass.net/css/app.css">
317
318        
319        
320        <link rel="preconnect" href="https://consent.cookiebot.com" crossorigin>
321<link rel="preload" href="https://consent.cookiebot.com/uc.js" as="script">
322<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="23c00000-47bc-4b9f-9c79-76cf1194cb4a" data-blockingmode="auto" data-framework="TCFv2.2" type="text/javascript" async></script>
322
323
324
325<style id="cookiebot-dialog-trim">
326    #CybotCookiebotDialogBodyButtonDetails,
327    #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAllSelection,
328    #CybotCookiebotDialogBodyLevelButtonsContainer,
329    #CybotCookiebotDialogBodyContentDetails,
330    #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonWrapper {
331        display: none !important;
332    }
333    #CybotCookiebotDialogBodyButtonAccept {
334        background-color: #5498e5 !important;
335        color: #fff !important;
336        border-radius: 8px !important;
337        font-weight: 600 !important;
338    }
339    #CybotCookiebotDialogBodyButtonDecline {
340        background-color: transparent !important;
341        color: #5498e5 !important;
342        border: 1px solid #5498e5 !important;
343        border-radius: 8px !important;
344    }
345
346    
347    #CybotCookiebotDialog,
348    #CybotCookiebotDialog > div,
349    #CybotCookiebotDialogBody,
350    #CybotCookiebotDialogBodyContent,
351    #CybotCookiebotDialogFooter {
352        animation: none !important;
353        transition: none !important;
354    }
355    #CybotCookiebotDialog {
356        contain: layout paint style !important;
357    }
358    #CybotCookiebotDialogBodyContentText {
359        content-visibility: auto !important;
360        contain-intrinsic-size: auto 500px !important;
361    }
362</style>
363
364
365        
365<script>
366            window.dataLayer = window.dataLayer || [];
367            // Tell gtag.js / Google Ads to read consent from the IAB TCF v2 CMP
368            // (Cookiebot, registered via data-framework="TCFv2.2" in
369            // partials/cookiebot.blade.php) instead of Google falling back to its
370            // own Funding Choices consent wall. Must be set before gtag.js runs.
371            window['gtag_enable_tcf_support'] = true;
372            function gtag() {
373                dataLayer.push(arguments);
374            }
375            gtag('js', new Date());
376            gtag('config', 'G-6VRE1PXG9R');
377            (function () {
378                var done = false;
379                function load() {
380                    if (done) return;
381                    done = true;
382                    var s = document.createElement('script');
383                    s.async = true;
384                    s.src = 'https://www.googletagmanager.com/gtag/js?id=G-6VRE1PXG9R';
385                    document.head.appendChild(s);
386                }
387                if ('requestIdleCallback' in window) {
388                    window.requestIdleCallback(load, { timeout: 3000 });
389                } else {
390                    window.setTimeout(load, 3000);
391                }
392                window.addEventListener('load', load, { once: true });
393            })();
394        </script>
394
395
396        
397        
397<script async src="https://rum.corewebvitals.io/cwv/6a5e0000b1181c212e8046dd.js"></script>
397
398
399        
400        
401        
401<script defer src="https://onlinecompass.net/js/ads.js"></script>
401
402
403        
404        <link rel="modulepreload" href="https://onlinecompass.net/build/assets/vitals-B-N5mDEY.js" />
404<script type="module" src="https://onlinecompass.net/build/assets/vitals-B-N5mDEY.js"></script>
404    </head>
405
406    <body class="ltr-direction"
407        style="direction: ltr">
408
409        <a href="#main" class="skip-link">Skip to main content</a>
410
411        <main id="main">
412            
413    <nav>
414        <div class="holder">
415
416            <div class="logo">
417                <a href="https://onlinecompass.net" aria-label="Online Compass - Live and Free Compass to Find North Direction"><i class="icon-compass" aria-hidden="true"></i></a>
418            </div>
419
420            <div class="right">
421                
422                
422<script>
423    window.addEventListener("DOMContentLoaded", (event) => {
424
425        document.querySelector(".mobile-menu").addEventListener("click", function() {
426
427            document.querySelector('.tools-menu').classList.toggle('active');
428            document.querySelector('.mobile-menu').classList.toggle('active');
429            document.querySelector("body").classList.toggle('no-scroll');
430
431        });
432
433        document.querySelectorAll('.tools-menu li').forEach(element => {
434
435            element.addEventListener("click", function() {
436
437                element.classList.toggle('open')
438            })
439        });
440
441        document.querySelectorAll('.tools-menu li i').forEach(element => {
442
443            element.addEventListener("click", function() {
444
445                element.parentElement.classList.toggle('open')
446            })
447        });
448
449    })
450</script>
450
451
452<ul class="tools-menu">
453
454    <li>
455
456        <span>Map Tools</span> <i
457            class="icon-keyboard_arrow_down"></i>
458
459        <ul>
460
461            <li>
462
463                <a href="https://onlinecompass.net/radius-map">
464                    Draw a Radius Map
465                </a>
466
467            </li>
468
469            <li>
470                <a href="https://onlinecompass.net/line-map">
471                    Draw a Line on the Map
472                </a>
473            </li>
474
475            <li>
476                <a
477                    href="https://onlinecompass.net/pin-map">
478                    Create a Pin Map
479                </a>
480            </li>
481
482            <li>
483                <a href="https://onlinecompass.net/gps-coordinates">
484                    GPS Coordinates
485                </a>
486            </li>
487
488            <li>
489                <a href="https://onlinecompass.net/what-country-am-i-in">
490                    What Country Am I in?
491                </a>
492            </li>
493
494            <li>
495                <a href="https://onlinecompass.net/what-city-am-i-in">
496                    What City Am I in?
497                </a>
498            </li>
499
500            <li>
501                <a href="https://onlinecompass.net/what-county-am-i-in">
502                    What County Am I in?
503                </a>
504            </li>
505
506            <li>
507                <a href="https://onlinecompass.net/what-state-am-i-in">
508                    What State Am I in?
509                </a>
510            </li>
511
512            <li>
513                <a
514                    href="https://onlinecompass.net/where-am-i">
515                    Where Am I?
516                </a>
517            </li>
518
519            <li>
520                <a href="https://onlinecompass.net/what-is-my-address">
521                    What is My Address?
522                </a>
523            </li>
524
525            <li>
526                <a href="https://onlinecompass.net/what-is-my-zip-code">
527                    What is My Zip Code?
528                </a>
529            </li>
530
531        </ul>
532    </li>
533
534
535
536    <li>
537
538        <span>Calculators</span><i
539            class="icon-keyboard_arrow_down"></i>
540
541        <ul>
542
543            <li>
544                <a href="https://onlinecompass.net/elevation">
545                    What is My Elevation?
546                </a>
547            </li>
548
549            <li>
550                <a href="https://onlinecompass.net/running-tracker">
551                    How Far Did I Run?
552                </a>
553            </li>
554
555            <li>
556                <a href="https://onlinecompass.net/walking-tracker">
557                    Walking Tracker
558                </a>
559            </li>
560
561                            <li>
562                    <a href="https://onlinecompass.net/cycling-tracker">
563                        Cycling Tracker
564                    </a>
565                </li>
566
567
568                <li>
569                    <a href="https://onlinecompass.net/driving-tracker">
570                        How Far Did I Drive?
571                    </a>
572                </li>
573            
574            <li>
575                <a
576                    href="https://onlinecompass.net/speedometer">
577                    Online Speedometer
578                </a>
579            </li>
580
581            <li>
582                <a
583                    href="https://onlinecompass.net/ruler">
584                    Online Ruler
585                </a>
586            </li>
587
588            <li>
589                <a
590                    href="https://onlinecompass.net/distance-calculator">
591                    Distance Calculator
592                </a>
593            </li>
594
595        </ul>
596
597    </li>
598
599    <li class="not">
600        <a
601            href="https://onlinecompass.net/qibla-finder">
602            Qibla Finder
603        </a>
604    </li>
605
606    <li class="not">
607        <a href="https://onlinecompass.net/blog">
608            Blog
609        </a>
610    </li>
611
612</ul>
613
614
615<div class="mobile-menu">
616
617    <i class="icon-menu"></i>
618    <i class="icon-close"></i>
619
620</div>
621
622            </div>
623
624        </div>
625
626    </nav>
627
628
629    <div class="holder">
630        <div class="content active">
631    <h1 class="blue">About Us</h1>
632    <p>Onlinecompass.net is a website dedicated to providing accurate and innovative online navigational tools. Our
633        mission is to facilitate navigation and exploration by offering user-friendly and reliable resources. We strive
634        to make navigation simple, easy, and accessible to everyone, regardless of their background, location, or
635        device.</p>
636    <h3>Our Objective</h3>
637    <p>Our primary objective is to simplify navigation and make it accessible to everyone. We aim to achieve this by:
638    </p>
639    <ul>
640        <li>Providing accurate and reliable navigational tools</li>
641        <li>Offering user-friendly interfaces that are easy to understand and use</li>
642        <li>Ensuring our tools are accessible on a variety of devices and platforms</li>
643        <li>Continuously updating and improving our tools to meet the evolving needs of our users</li>
644    </ul>
645    <h3><br />Our tools include:</h3>
646    <ul>
647        <li><a href="https://onlinecompass.net/">Online Compass</a>: A digital compass that indicates direction and
648            orientation, helping you navigate with ease</li>
649        <li><a href="https://onlinecompass.net/qibla-finder">Qibla Finder</a>: A tool that assists Muslims in
650            determining the direction of the Kaaba in Mecca, making it easier to perform daily prayers</li>
651        <p><strong>Map Tools:</strong></p>
652        <li><a href="https://onlinecompass.net/radius-map"><strong>Radius Map Tool</strong></a>: Draw circles with a
653            specified radius on a map in miles or kilometers, helping you find the area around a point or your
654            current location.</li>
655        <li><a href="https://onlinecompass.net/line-map"><strong>Draw a Line on the Map Between Two
656                    Points</strong></a>: Draw a straight line on the map online to calculate the distance between
657            two points easily.</li>
658        <li><a href="https://onlinecompass.net/pin-map"><strong>Create Pins on a Map Online</strong></a>: Pin
659            multiple locations on a map for free, allowing you to mark cities and countries and share your map pins
660            on social media.</li>
661        <li><a href="https://onlinecompass.net/gps-coordinates"><strong>GPS Coordinates</strong></a>: Find the
662            latitude and longitude of your location quickly, or search for geographic coordinates for any address.
663        </li>
664        <li><a href="https://onlinecompass.net/what-country-am-i-in"><strong>What Country Am I in?</strong></a>:
665            Discover your current country location instantly with accurate results.</li>
666        <li><a href="https://onlinecompass.net/what-city-am-i-in"><strong>What City Am I in?</strong></a>: Find out
667            your current city instantly and see nearby locations on the map.</li>
668        <li><a href="https://onlinecompass.net/what-county-am-i-in"><strong>What County Am I in?</strong></a>:
669            Determine the county of your current address quickly and easily.</li>
670        <li><a href="https://onlinecompass.net/what-state-am-i-in"><strong>What State Am I in?</strong></a>: Find
671            out which state you are in based on your zip code instantly.</li>
672        <li><a href="https://onlinecompass.net/where-am-i"><strong>Where Am I?</strong></a>: See your exact location
673            on the map and discover where you are at this moment.</li>
674        <li><a href="https://onlinecompass.net/what-is-my-address"><strong>What is My Address?</strong></a>: Get
675            details about your current address, including street and home information.</li>
676        <li><a href="https://onlinecompass.net/what-is-my-zip-code"><strong>What is My Zip Code?</strong></a>: Find
677            the zip code of your current location accurately and instantly.</li>
678
679        <p><strong>Calculators:</strong></p>
680
681        <li><a href="https://onlinecompass.net/elevation"><strong>What is My Elevation?</strong></a>: Determine the
682            elevation and altitude of your location above sea level in feet and meters.</li>
683        <li><a href="https://onlinecompass.net/running-tracker"><strong>How Far Did I Run?</strong></a>: Track your
684            running distance, time, and average speed with our online running tracker.</li>
685        <li><a href="https://onlinecompass.net/walking-tracker"><strong>Online Walking Tracker</strong></a>: Measure
686            your walking distance today using your phone and get accurate results instantly.</li>
687        <li><a href="https://onlinecompass.net/cycling-tracker"><strong>Online Cycling Tracker</strong></a>: Track
688            your cycling distance and speed with our free online tool.</li>
689        <li><a href="https://onlinecompass.net/driving-tracker"><strong>How Far Did I Drive?</strong></a>: Monitor
690            your driving route, distance, and more with our online tracking tool.</li>
691        <li><a href="https://onlinecompass.net/speedometer"><strong>Online Speedometer</strong></a>: Test your speed
692            live with our digital speedometer for cars, trains, and bikes, and get real-time results.</li>
693        <li><a href="https://onlinecompass.net/distance-calculator"><strong>Distance Calculator</strong></a>:
694            Measure the distance between two locations on the map in kilometers or miles with a free and accurate
695            tool.</li>
696        <li><a href="https://onlinecompass.net/ruler"><strong>Online Ruler</strong></a>: Accurately measure in
697            inches, cm, or mm using a real-size ruler that works on any device, vertically or horizontally.</li>
698
699    </ul>
700    <h3><br />Our Commitment</h3>
701    <p>We are committed to staying at the forefront of navigational technology, incorporating cutting-edge features and
702        user-friendly design to make navigation easier and more accessible. Our goal is to become the primary platform
703        for all navigation needs, providing a seamless and intuitive experience for our users. We are dedicated to:</p>
704    <ul>
705        <li>Continuously researching and developing new navigational tools and features</li>
706        <li>Ensuring our tools are accurate, reliable, and user-friendly</li>
707        <li>Providing excellent customer support and feedback mechanisms</li>
708        <li>Expanding our tools and features to meet the diverse needs of our users</li>
709    </ul>
710    <p><br />By using Onlinecompass.net, you can trust that you are getting the most accurate and innovative
711        navigational tools available. Join us today and start navigating with ease!</p>
712
713</div>
714    </div>
715
716        </main>
717
718        <footer aria-label="Site footer">
719            <div class="holder">
720                <p>The full rights to Copyright © 2023 are reserved by onlinecompass.net</p>
721                <nav aria-label="Footer navigation">
722                    <ul>
723                        <li><a href="https://onlinecompass.net/privacy-policy">Privacy Policy</a></li>
724                        <li><a href="https://onlinecompass.net/terms-service">Terms of Service</a></li>
725                        <li><a href="https://onlinecompass.net/about-us">About Us</a></li>
726                    </ul>
727                </nav>
728            </div>
729        </footer>
730
731        
732        
732<script>
733            if ('serviceWorker' in navigator) {
734                window.addEventListener('load', function () {
735                    navigator.serviceWorker.register('/sw.js', { scope: '/' }).catch(function () {});
736                });
737            }
738        </script>
738
739
740    
740<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f8d0414d717a4bbf892a330646190281","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 740
740
741<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a441cc624ca6a577',t:'MTc5MDkyNDA5Mw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
741</body>
742
743</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.