1import { 2 IonButton, 3 IonButtons, 4 IonContent, 5 IonHeader, 6 IonTitle, 7 IonToolbar, 8 IonicModule, 9 RouterLinkWithHrefDelegateDirective 10} from "./chunk-INK5THDW.js"; 11import { 12 NgIcon, 13 lucideChevronLeft, 14 lucideExternalLink, 15 lucideFileText, 16 provideIcons 17} from "./chunk-GMPIA5L4.js"; 18import { 19 CommonModule, 20 Component, 21 Location, 22 RouterLink, 23 RouterModule, 24 setClassMetadata, 25 ɵsetClassDebugInfo, 26 ɵɵProvidersFeature, 27 ɵɵadvance, 28 ɵɵdefineComponent, 29 ɵɵdirectiveInject, 30 ɵɵelement, 31 ɵɵelementEnd, 32 ɵɵelementStart, 33 ɵɵlistener, 34 ɵɵproperty, 35 ɵɵtext 36} from "./chunk-UQ6LLOJ6.js"; 37import "./chunk-BD3NMR2S.js"; 38import "./chunk-6HPUB4U6.js"; 39import "./chunk-WGFJL45C.js"; 40import "./chunk-7WVISTDL.js"; 41import "./chunk-2S57T3GS.js"; 42import "./chunk-R4QHACMO.js"; 43import "./chunk-4MEJEBWM.js"; 44import "./chunk-RIBVNXHQ.js"; 45import "./chunk-Z42OVMMO.js"; 46import "./chunk-O5S42IXR.js"; 47import "./chunk-QBR2RTFG.js"; 48import "./chunk-MIOLVGSM.js"; 49import "./chunk-ITE2OHLM.js"; 50import "./chunk-C46CB72A.js"; 51import "./chunk-SRPSML5O.js"; 52import "./chunk-NRSVX4KN.js"; 53import "./chunk-T4GYAOTA.js"; 54import "./chunk-2VHYZHLL.js"; 55import "./chunk-S6LHOZ5A.js"; 56import "./chunk-Y6HZOH3Q.js"; 57import "./chunk-TWQHADEW.js"; 58import "./chunk-3J4L7S6G.js"; 59import "./chunk-IL42VKT6.js"; 60import "./chunk-LONO5O5R.js"; 61import "./chunk-PWC4K6CW.js"; 62import "./chunk-R6JLIESI.js"; 63import "./chunk-OJO5RD3M.js"; 64import "./chunk-CO64IJQE.js"; 65 66// src/app/pages/legal/terms-of-use/terms-of-use.page.ts 67var _TermsOfUsePage = class _TermsOfUsePage { 68 constructor(location) { 69 this.location = location; 70 } 71 goBack() { 72 this.location.back(); 73 } 74}; 75_TermsOfUsePage.\u0275fac = function TermsOfUsePage_Factory(__ngFactoryType__) { 76 return new (__ngFactoryType__ || _TermsOfUsePage)(\u0275\u0275directiveInject(Location)); 77}; 78_TermsOfUsePage.\u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _TermsOfUsePage, selectors: [["app-terms-of-use"]], features: [\u0275\u0275ProvidersFeature([ 79 provideIcons({ lucideFileText, lucideChevronLeft, lucideExternalLink }) 80])], decls: 132, vars: 2, consts: [[3, "translucent"], ["slot", "start"], ["fill", "clear", 3, "click"], ["name", "lucideChevronLeft", "size", "1.5em"], [1, "legal-content", 3, "fullscreen"], [1, "legal-container"], [1, "legal-header"], [1, "legal-icon"], ["name", "lucideFileText", "size", "3em"], [1, "last-updated"], [1, "legal-content-body"], [1, "legal-section"], [1, "legal-list"], [1, "privacy-link"], ["routerLink", "/privacy-policy", 1, "legal-link"], ["name", "lucideExternalLink", "size", "1em"], [1, "legal-note"], [1, "contact-info"]], template: function TermsOfUsePage_Template(rf, ctx) { 81 if (rf & 1) { 82 \u0275\u0275elementStart(0, "ion-header", 0)(1, "ion-toolbar")(2, "ion-buttons", 1)(3, "ion-button", 2); 83 \u0275\u0275listener("click", function TermsOfUsePage_Template_ion_button_click_3_listener() { 84 return ctx.goBack(); 85 }); 86 \u0275\u0275element(4, "ng-icon", 3); 87 \u0275\u0275elementEnd()(); 88 \u0275\u0275elementStart(5, "ion-title"); 89 \u0275\u0275text(6, "Terms of Use"); 90 \u0275\u0275elementEnd()()(); 91 \u0275\u0275elementStart(7, "ion-content", 4)(8, "div", 5)(9, "div", 6)(10, "div", 7); 92 \u0275\u0275element(11, "ng-icon", 8); 93 \u0275\u0275elementEnd(); 94 \u0275\u0275elementStart(12, "h1"); 95 \u0275\u0275text(13, "Terms of Use"); 96 \u0275\u0275elementEnd(); 97 \u0275\u0275elementStart(14, "p", 9); 98 \u0275\u0275text(15, "Last updated: January 15, 2025 (Version 1.0)"); 99 \u0275\u0275elementEnd()(); 100 \u0275\u0275elementStart(16, "div", 10)(17, "section", 11)(18, "h2"); 101 \u0275\u0275text(19, "Introduction"); 102 \u0275\u0275elementEnd(); 103 \u0275\u0275elementStart(20, "p"); 104 \u0275\u0275text(21, "Welcome to Stride Navigation. These Terms of Use govern your access to and use of our indoor navigation application and services."); 105 \u0275\u0275elementEnd()(); 106 \u0275\u0275elementStart(22, "section", 11)(23, "h2"); 107 \u0275\u0275text(24, "Acceptance of Terms"); 108 \u0275\u0275elementEnd(); 109 \u0275\u0275elementStart(25, "p"); 110 \u0275\u0275text(26, "By accessing or using our services, you agree to be bound by these Terms of Use and our Privacy Policy."); 111 \u0275\u0275elementEnd()(); 112 \u0275\u0275elementStart(27, "section", 11)(28, "h2"); 113 \u0275\u0275text(29, "Service Description"); 114 \u0275\u0275elementEnd(); 115 \u0275\u0275elementStart(30, "p"); 116 \u0275\u0275text(31, "Stride Navigation provides indoor positioning and navigation services using Bluetooth beacon technology. Our services include:"); 117 \u0275\u0275elementEnd(); 118 \u0275\u0275elementStart(32, "ul", 12)(33, "li");
119 \u0275\u0275text(34, "Real-time indoor positioning and navigation"); 120 \u0275\u0275elementEnd(); 121 \u0275\u0275elementStart(35, "li"); 122 \u0275\u0275text(36, "Interactive floor plans and route planning"); 123 \u0275\u0275elementEnd(); 124 \u0275\u0275elementStart(37, "li"); 125 \u0275\u0275text(38, "Location-based information and services"); 126 \u0275\u0275elementEnd(); 127 \u0275\u0275elementStart(39, "li"); 128 \u0275\u0275text(40, "Administrative tools for facility management"); 129 \u0275\u0275elementEnd()()(); 130 \u0275\u0275elementStart(41, "section", 11)(42, "h2"); 131 \u0275\u0275text(43, "User Accounts"); 132 \u0275\u0275elementEnd(); 133 \u0275\u0275elementStart(44, "p"); 134 \u0275\u0275text(45, "When you create an account with us, you agree to:"); 135 \u0275\u0275elementEnd(); 136 \u0275\u0275elementStart(46, "ul", 12)(47, "li"); 137 \u0275\u0275text(48, "Provide accurate and complete information"); 138 \u0275\u0275elementEnd(); 139 \u0275\u0275elementStart(49, "li"); 140 \u0275\u0275text(50, "Maintain the security of your account credentials"); 141 \u0275\u0275elementEnd(); 142 \u0275\u0275elementStart(51, "li"); 143 \u0275\u0275text(52, "Accept responsibility for all activities under your account"); 144 \u0275\u0275elementEnd()()(); 145 \u0275\u0275elementStart(53, "section", 11)(54, "h2"); 146 \u0275\u0275text(55, "Prohibited Uses"); 147 \u0275\u0275elementEnd(); 148 \u0275\u0275elementStart(56, "p"); 149 \u0275\u0275text(57, "You agree not to use our services for any unlawful purpose or in any way that could harm Stride Navigation or other users. Prohibited activities include:"); 150 \u0275\u0275elementEnd(); 151 \u0275\u0275elementStart(58, "ul", 12)(59, "li"); 152 \u0275\u0275text(60, "Attempting to gain unauthorized access to our systems or user accounts"); 153 \u0275\u0275elementEnd(); 154 \u0275\u0275elementStart(61, "li"); 155 \u0275\u0275text(62, "Interfering with or disrupting the operation of our services"); 156 \u0275\u0275elementEnd(); 157 \u0275\u0275elementStart(63, "li"); 158 \u0275\u0275text(64, "Using our services to transmit malicious code or harmful content"); 159 \u0275\u0275elementEnd(); 160 \u0275\u0275elementStart(65, "li"); 161 \u0275\u0275text(66, "Violating any applicable laws or regulations"); 162 \u0275\u0275elementEnd(); 163 \u0275\u0275elementStart(67, "li"); 164 \u0275\u0275text(68, "Reverse engineering or attempting to extract our source code"); 165 \u0275\u0275elementEnd()()(); 166 \u0275\u0275elementStart(69, "section", 11)(70, "h2"); 167 \u0275\u0275text(71, "Intellectual Property"); 168 \u0275\u0275elementEnd(); 169 \u0275\u0275elementStart(72, "p"); 170 \u0275\u0275text(73, "All content, features, and functionality of Stride Navigation, including but not limited to software, algorithms, text, graphics, logos, and trademarks, are owned by Stride Navigation and are protected by international copyright, trademark, and other intellectual property laws."); 171 \u0275\u0275elementEnd()(); 172 \u0275\u0275elementStart(74, "section", 11)(75, "h2"); 173 \u0275\u0275text(76, "Data and Privacy"); 174 \u0275\u0275elementEnd(); 175 \u0275\u0275elementStart(77, "p"); 176 \u0275\u0275text(78, "Your use of our services is also governed by our Privacy Policy, which explains how we collect, use, and protect your personal information. By using our services, you consent to our data practices as described in the Privacy Policy."); 177 \u0275\u0275elementEnd(); 178 \u0275\u0275elementStart(79, "div", 13)(80, "a", 14)(81, "span"); 179 \u0275\u0275text(82, "Read our Privacy Policy"); 180 \u0275\u0275elementEnd(); 181 \u0275\u0275element(83, "ng-icon", 15); 182 \u0275\u0275elementEnd()()(); 183 \u0275\u0275elementStart(84, "section", 11)(85, "h2"); 184 \u0275\u0275text(86, "Location Services"); 185 \u0275\u0275elementEnd(); 186 \u0275\u0275elementStart(87, "p"); 187 \u0275\u0275text(88, "Our indoor navigation service requires access to your device's location services, including Bluetooth for beacon detection. By using our services, you consent to the collection and processing of your location data as described
187in our Privacy Policy."); 188 \u0275\u0275elementEnd(); 189 \u0275\u0275elementStart(89, "div", 16)(90, "p")(91, "strong"); 190 \u0275\u0275text(92, "Important:"); 191 \u0275\u0275elementEnd(); 192 \u0275\u0275text(93, " Indoor navigation accuracy depends on beacon infrastructure and environmental factors. We do not guarantee precise positioning at all times."); 193 \u0275\u0275elementEnd()()(); 194 \u0275\u0275elementStart(94, "section", 11)(95, "h2"); 195 \u0275\u0275text(96, "Disclaimer of Warranties"); 196 \u0275\u0275elementEnd(); 197 \u0275\u0275elementStart(97, "p"); 198 \u0275\u0275text(98, 'Stride Navigation is provided "as is" and "as available" without warranties of any kind, either express or implied. We do not warrant that our services will be uninterrupted, secure, or error-free. Use of our services is at your own risk.'); 199 \u0275\u0275elementEnd()(); 200 \u0275\u0275elementStart(99, "section", 11)(100, "h2"); 201 \u0275\u0275text(101, "Limitation of Liability"); 202 \u0275\u0275elementEnd(); 203 \u0275\u0275elementStart(102, "p"); 204 \u0275\u0275text(103, "To the maximum extent permitted by law, Stride Navigation shall not be liable for any indirect, incidental, special, consequential, or punitive damages resulting from your use or inability to use our services, even if we have been advised of the possibility of such damages."); 205 \u0275\u0275elementEnd()(); 206 \u0275\u0275elementStart(104, "section", 11)(105, "h2"); 207 \u0275\u0275text(106, "Termination"); 208 \u0275\u0275elementEnd(); 209 \u0275\u0275elementStart(107, "p"); 210 \u0275\u0275text(108, "We reserve the right to terminate or suspend your access to our services at any time, with or without notice, for any reason, including but not limited to violation of these Terms of Use. Upon termination, your right to use our services will immediately cease."); 211 \u0275\u0275elementEnd()(); 212 \u0275\u0275elementStart(109, "section", 11)(110, "h2"); 213 \u0275\u0275text(111, "Changes to These Terms"); 214 \u0275\u0275elementEnd(); 215 \u0275\u0275elementStart(112, "p"); 216 \u0275\u0275text(113, 'We may modify these Terms of Use at any time. We will notify you of material changes by posting the updated terms on this page and updating the "Last Updated" date. Your continued use of our services after such changes constitutes acceptance of the modified terms.'); 217 \u0275\u0275elementEnd()(); 218 \u0275\u0275elementStart(114, "section", 11)(115, "h2"); 219 \u0275\u0275text(116, "Governing Law"); 220 \u0275\u0275elementEnd(); 221 \u0275\u0275elementStart(117, "p"); 222 \u0275\u0275text(118, "These Terms of Use shall be governed by and construed in accordance with the laws of the Republic of Latvia, without regard to its conflict of law provisions. Any disputes arising from these terms shall be resolved in the courts of Riga, Latvia."); 223 \u0275\u0275elementEnd()(); 224 \u0275\u0275elementStart(119, "section", 11)(120, "h2"); 225 \u0275\u0275text(121, "Contact Us"); 226 \u0275\u0275elementEnd(); 227 \u0275\u0275elementStart(122, "p"); 228 \u0275\u0275text(123, "If you have any questions about these Terms of Use, please contact us:"); 229 \u0275\u0275elementEnd(); 230 \u0275\u0275elementStart(124, "div", 17)(125, "p")(126, "strong"); 231 \u0275\u0275text(127, "Stride Navigation"); 232 \u0275\u0275elementEnd()(); 233 \u0275\u0275elementStart(128, "p"); 234 \u0275\u0275text(129, "Email: [email protected]"); 235 \u0275\u0275elementEnd(); 236 \u0275\u0275elementStart(130, "p"); 237 \u0275\u0275text(131, "Address: Riga, Latvia"); 238 \u0275\u0275elementEnd()()()()()(); 239 } 240 if (rf & 2) { 241 \u0275\u0275property("translucent", true); 242 \u0275\u0275advance(7); 243 \u0275\u0275property("fullscreen", true); 244 } 245}, dependencies: [ 246 CommonModule, 247 IonicModule, 248 IonButton, 249 IonButtons, 250 IonContent, 251 IonHeader, 252 IonTitle, 253 IonToolbar, 254 RouterLinkWithHrefDelegateDirective, 255 RouterModule, 256 RouterLink, 257 NgIcon 258], styles: ["\n\n.legal-content[_ngcontent-%COMP%] {\n --background: #f8f9fa;\n}\n@media (prefers-color-scheme: dark) {\n .legal-content[_ngcontent-%COMP%] {\n --background: #1a1a1a;\n }\n}\n.legal-container[_ngcontent-%COMP%] {\n max-width: 800px;\n margin: 0 auto;\n padding: 1rem;\n}\n.legal-header[_ngcontent-%COMP%] {\n text-align: center;\n padding: 2rem 0 3rem;\n background:\n linear-gradient(\n 135deg,\n var(--ion-color-primary),\n var(--ion-color-primary-shade));\n margin: -1rem -1rem 2rem;\n color: white;\n border-radius: 0 0 24px 24px;\n}\n.legal-header[_ngcontent-%COMP%] .legal-icon[_ngcontent-%COMP%] {\n margin-bottom: 1rem;\n opacity: 0.9;\n}\n.legal-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 2rem;\n font-weight: 700;\n margin: 0 0 0.5rem;\n letter-spacing: -0.5px;\n}\n.legal-header[_ngcontent-%COMP%] .last-updated[_ngcontent-%COMP%] {\n font-size: 0.9rem;\n opacity: 0.8;\n margin: 0;\n}\n.legal-content-body[_ngcontent-%COMP%] {\n padding: 0 1rem;\n}\n.legal-section[_ngcontent-%COMP%] {\n margin-bottom: 2.5rem;\n}\n.legal-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n color: var(--ion-color-primary);\n font-size: 1.4rem;\n font-weight: 600;\n margin: 0 0 1rem;\n padding-bottom: 0.5rem;\n border-bottom: 2px solid var(--ion-color-primary-tint);\n}\n.legal-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 1rem;\n line-height: 1.6;\n color: var(--ion-text-color);\n margin: 0 0 1rem;\n text-align: justify;\n}\n.legal-list[_ngcontent-%COMP%] {\n padding-left: 1.5rem;\n margin: 1rem 0;\n}\n.legal-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n font-size: 1rem;\n line-height: 1.6;\n color: var(--ion-text-color);\n margin-bottom: 0.5rem;\n}\n.legal-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]::marker {\n color: var(--ion-color-primary);\n}\n.legal-note[_ngcontent-%COMP%] {\n background: var(--ion-color-warning-tint);\n border-left: 4px solid var(--ion-color-warning);\n padding: 1rem 1.5rem;\n margin: 1.5rem 0;\n border-radius: 0 8px 8px 0;\n}\n.legal-note[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--ion-color-warning-shade);\n}\n.privacy-link[_ngcontent-%COMP%], \n.contact-info[_ngcontent-%COMP%] {\n margin: 1.5rem 0;\n}\n.legal-link[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n color: var(--ion-color-primary);\n text-decoration: none;\n font-weight: 500;\n transition: all 0.3s ease;\n}
258\n.legal-link[_ngcontent-%COMP%]:hover {\n color: var(--ion-color-primary-shade);\n gap: 0.75rem;\n}\n.legal-link[_ngcontent-%COMP%]:hover ng-icon[_ngcontent-%COMP%] {\n transform: translateX(2px);\n}\n.legal-link[_ngcontent-%COMP%] ng-icon[_ngcontent-%COMP%] {\n transition: transform 0.3s ease;\n}\n.contact-info[_ngcontent-%COMP%] {\n background: var(--ion-color-light);\n padding: 1.5rem;\n border-radius: 12px;\n border: 1px solid var(--ion-color-medium-tint);\n}\n@media (prefers-color-scheme: dark) {\n .contact-info[_ngcontent-%COMP%] {\n background: var(--ion-color-dark);\n border-color: var(--ion-color-medium-shade);\n }\n}\n.contact-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0.25rem 0;\n}\n.contact-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child {\n margin-top: 0;\n}\n.contact-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n@media (max-width: 768px) {\n .legal-container[_ngcontent-%COMP%] {\n padding: 0.5rem;\n }\n .legal-header[_ngcontent-%COMP%] {\n margin: -0.5rem -0.5rem 1.5rem;\n padding: 1.5rem 1rem 2rem;\n }\n .legal-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 1.75rem;\n }\n .legal-content-body[_ngcontent-%COMP%] {\n padding: 0 0.5rem;\n }\n .legal-section[_ngcontent-%COMP%] {\n margin-bottom: 2rem;\n }\n .legal-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n }\n .legal-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.95rem;\n text-align: left;\n }\n .legal-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n font-size: 0.95rem;\n }\n}\n@media print {\n .legal-header[_ngcontent-%COMP%] {\n background: none !important;\n color: black !important;\n margin: 0 !important;\n padding: 1rem 0 !important;\n border-radius: 0 !important;\n border-bottom: 2px solid #333;\n }\n .legal-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n color: #333 !important;\n border-bottom-color: #ccc !important;\n }\n .legal-note[_ngcontent-%COMP%] {\n background: #f0f0f0 !important;\n border-left-color: #333 !important;\n }\n .legal-link[_ngcontent-%COMP%] {\n color: #333 !important;\n }\n}"] }); 259var TermsOfUsePage = _TermsOfUsePage; 260(() => { 261 (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(TermsOfUsePage, [{ 262 type: Component, 263 args: [{ selector: "app-terms-of-use", standalone: true, imports: [ 264 CommonModule, 265 IonicModule, 266 RouterModule, 267 NgIcon 268 ], providers: [ 269 provideIcons({ lucideFileText, lucideChevronLeft, lucideExternalLink }) 270 ], template: `<ion-header [translucent]="true"> 271 <ion-toolbar> 272 <ion-buttons slot="start"> 273 <ion-button fill="clear" (click)="goBack()"> 274 <ng-icon name="lucideChevronLeft" size="1.5em"></ng-icon> 275 </ion-button> 276 </ion-buttons> 277 <ion-title>Terms of Use</ion-title> 278 </ion-toolbar> 279</ion-header> 280 281<ion-content [fullscreen]="true" class="legal-content"> 282 <div class="legal-container"> 283 284 <!-- Header Section --> 285 <div class="legal-header"> 286 <div class="legal-icon"> 287 <ng-icon name="lucideFileText" size="3em"></ng-icon> 288 </div> 289 <h1>Terms of Use</h1> 290 <p class="last-updated">Last updated: January 15, 2025 (Version 1.0)</p> 291 </div> 292 293 <!-- Terms Content --> 294 <div class="legal-content-body"> 295 296 <!-- Introduction --> 297 <section class="legal-section"> 298 <h2>Introduction</h2> 299 <p>Welcome to Stride Navigation. These Terms of Use govern your access to and use of our indoor navigation application and services.</p> 300 </section> 301 302 <!-- Acceptance of Terms --> 303 <section class="legal-section"> 304 <h2>Acceptance of Terms</h2> 305 <p>By accessing or using our services, you agree to be bound by these Terms of Use and our Privacy Policy.</p> 306 </section> 307 308 <!-- Service Description --> 309 <section class="legal-section"> 310 <h2>Service Description</h2> 311 <p>Stride Navigation provides indoor positioning and navigation services using Bluetooth beacon technology. Our services include:</p> 312 <ul class="legal-list"> 313 <li>
313Real-time indoor positioning and navigation</li> 314 <li>Interactive floor plans and route planning</li> 315 <li>Location-based information and services</li> 316 <li>Administrative tools for facility management</li> 317 </ul> 318 </section> 319 320 <!-- User Accounts --> 321 <section class="legal-section"> 322 <h2>User Accounts</h2> 323 <p>When you create an account with us, you agree to:</p> 324 <ul class="legal-list"> 325 <li>Provide accurate and complete information</li> 326 <li>Maintain the security of your account credentials</li> 327 <li>Accept responsibility for all activities under your account</li> 328 </ul> 329 </section> 330 331 <!-- Prohibited Uses --> 332 <section class="legal-section"> 333 <h2>Prohibited Uses</h2> 334 <p>You agree not to use our services for any unlawful purpose or in any way that could harm Stride Navigation or other users. Prohibited activities include:</p> 335 <ul class="legal-list"> 336 <li>Attempting to gain unauthorized access to our systems or user accounts</li> 337 <li>Interfering with or disrupting the operation of our services</li> 338 <li>Using our services to transmit malicious code or harmful content</li> 339 <li>Violating any applicable laws or regulations</li> 340 <li>Reverse engineering or attempting to extract our source code</li> 341 </ul> 342 </section> 343 344 <!-- Intellectual Property --> 345 <section class="legal-section"> 346 <h2>Intellectual Property</h2> 347 <p>All content, features, and functionality of Stride Navigation, including but not limited to software, algorithms, text, graphics, logos, and trademarks, are owned by Stride Navigation and are protected by international copyright, trademark, and other intellectual property laws.</p> 348 </section> 349 350 <!-- Data and Privacy --> 351 <section class="legal-section"> 352 <h2>Data and Privacy</h2> 353 <p>Your use of our services is also governed by our Privacy Policy, which explains how we collect, use, and protect your personal information. By using our services, you consent to our data practices as described in the Privacy Policy.</p> 354 <div class="privacy-link"> 355 <a routerLink="/privacy-policy" class="legal-link"> 356 <span>Read our Privacy Policy</span> 357 <ng-icon name="lucideExternalLink" size="1em"></ng-icon> 358 </a> 359 </div> 360 </section> 361 362 <!-- Location Services --> 363 <section class="legal-section"> 364 <h2>Location Services</h2> 365 <p>Our indoor navigation service requires access to your device's location services, including Bluetooth for beacon detection. By using our services, you consent to the collection and processing of your location data as described in our Privacy Policy.</p> 366 <div class="legal-note"> 367 <p><strong>Important:</strong> Indoor navigation accuracy depends on beacon infrastructure and environmental factors. We do not guarantee precise positioning at all times.</p> 368 </div> 369 </section> 370 371 <!-- Disclaimer --> 372 <section class="legal-section"> 373 <h2>Disclaimer of Warranties</h2> 374 <p>Stride Navigation is provided "as is" and "as available" without warranties of any kind, either express or implied. We do not warrant that our services will be uninterrupted, secure, or error-free. Use of our services is at your own risk.</p> 375 </section> 376 377 <!-- Limitation of Liability --> 378 <section class="legal-section"> 379 <h2>Limitation of Liability</h2> 380 <p>To the maximum extent permitted by law, Stride Navigation shall not be liable for any indirect, incidental, special, consequential, or punitive damages resulting from your use or inability to use our services, even if we have been advised of the possibility of such damages.</p> 381 </section> 382 383 <!-- Termination --> 384 <section class="legal-section"> 385 <h2>Termination</h2> 386 <p>We reserve the right to terminate or suspend your access to our services at any time, with or without notice, for any reason, including but not limited to violation of these Terms of Use. Upon termination, your right to use our services will immediately cease.</p> 387 </section> 388 389 <!-- Changes to Terms --> 390 <section class="legal-section"> 391 <h2>Changes to These Terms</h2> 392 <p>We may modify these Terms of Use at any time. We will notify you of material changes by posting the updated terms on this page and updating the "Last Updated" date. Your continued use of our services after such changes constitutes acceptance of the modified terms.</p> 393 </section> 394 395 <!-- Governing Law --> 396 <section class="legal-section"> 397 <h2>Governing Law</h2> 398 <p>These Terms of Use shall be governed by and construed in accordance with the laws of the Republic of Latvia, without regard to its conflict of law provisions. Any disputes arising from these terms shall be resolved
398in the courts of Riga, Latvia.</p> 399 </section> 400 401 <!-- Contact Information --> 402 <section class="legal-section"> 403 <h2>Contact Us</h2> 404 <p>If you have any questions about these Terms of Use, please contact us:</p> 405 <div class="contact-info"> 406 <p><strong>Stride Navigation</strong></p> 407 <p>Email: support@stridenavigation.com</p> 408 <p>Address: Riga, Latvia</p> 409 </div> 410 </section> 411 412 </div> 413 </div> 414</ion-content> 415`, styles: ["/* src/app/pages/legal/terms-of-use/terms-of-use.page.scss */\n.legal-content {\n --background: #f8f9fa;\n}\n@media (prefers-color-scheme: dark) {\n .legal-content {\n --background: #1a1a1a;\n }\n}\n.legal-container {\n max-width: 800px;\n margin: 0 auto;\n padding: 1rem;\n}\n.legal-header {\n text-align: center;\n padding: 2rem 0 3rem;\n background:\n linear-gradient(\n 135deg,\n var(--ion-color-primary),\n var(--ion-color-primary-shade));\n margin: -1rem -1rem 2rem;\n color: white;\n border-radius: 0 0 24px 24px;\n}\n.legal-header .legal-icon {\n margin-bottom: 1rem;\n opacity: 0.9;\n}\n.legal-header h1 {\n font-size: 2rem;\n font-weight: 700;\n margin: 0 0 0.5rem;\n letter-spacing: -0.5px;\n}\n.legal-header .last-updated {\n font-size: 0.9rem;\n opacity: 0.8;\n margin: 0;\n}\n.legal-content-body {\n padding: 0 1rem;\n}\n.legal-section {\n margin-bottom: 2.5rem;\n}\n.legal-section h2 {\n color: var(--ion-color-primary);\n font-size: 1.4rem;\n font-weight: 600;\n margin: 0 0 1rem;\n padding-bottom: 0.5rem;\n border-bottom: 2px solid var(--ion-color-primary-tint);\n}\n.legal-section p {\n font-size: 1rem;\n line-height: 1.6;\n color: var(--ion-text-color);\n margin: 0 0 1rem;\n text-align: justify;\n}\n.legal-list {\n padding-left: 1.5rem;\n margin: 1rem 0;\n}\n.legal-list li {\n font-size: 1rem;\n line-height: 1.6;\n color: var(--ion-text-color);\n margin-bottom: 0.5rem;\n}\n.legal-list li::marker {\n color: var(--ion-color-primary);\n}\n.legal-note {\n background: var(--ion-color-warning-tint);\n border-left: 4px solid var(--ion-color-warning);\n padding: 1rem 1.5rem;\n margin: 1.5rem 0;\n border-radius: 0 8px 8px 0;\n}\n.legal-note p {\n margin: 0;\n color: var(--ion-color-warning-shade);\n}\n.privacy-link,\n.contact-info {\n margin: 1.5rem 0;\n}\n.legal-link {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n color: var(--ion-color-primary);\n text-decoration: none;\n font-weight: 500;\n transition: all 0.3s ease;\n}\n.legal-link:hover {\n color: var(--ion-color-primary-shade);\n gap: 0.75rem;\n}\n.legal-link:hover ng-icon {\n transform: translateX(2px);\n}\n.legal-link ng-icon {\n transition: transform 0.3s ease;\n}\n.contact-info {\n background: var(--ion-color-light);\n padding: 1.5rem;\n border-radius: 12px;\n border: 1px solid var(--ion-color-medium-tint);\n}\n@media (prefers-color-scheme: dark) {\n .contact-info {\n background: var(--ion-color-dark);\n border-color: var(--ion-color-medium-shade);\n }\n}\n.contact-info p {\n margin: 0.25rem 0;\n}\n.contact-info p:first-child {\n margin-top: 0;\n}\n.contact-info p:last-child {\n margin-bottom: 0;\n}\n@media (max-width: 768px) {\n .legal-container {\n padding: 0.5rem;\n }\n .legal-header {\n margin: -0.5rem -0.5rem 1.5rem;\n padding: 1.5rem 1rem 2rem;\n }\n .legal-header h1 {\n font-size: 1.75rem;\n }\n .legal-content-body {\n padding: 0 0.5rem;\n }\n .legal-section {\n margin-bottom: 2rem;\n }\n .legal-section h2 {\n font-size: 1.25rem;\n }\n .legal-section p {\n font-size: 0.95rem;\n text-align: left;\n }\n .legal-list li {\n font-size: 0.95rem;\n }\n}\n@media print {\n .legal-header {\n background: none !important;\n color: black !important;\n margin: 0 !important;\n padding: 1rem 0 !important;\n border-radius: 0 !important;\n border-bottom: 2px solid #333;\n }\n .legal-section h2 {\n color: #333 !important;\n border-bottom-color: #ccc !important;\n }\n .legal-note {\n background: #f0f0f0 !important;\n border-left-color: #333 !important;\n }\n .legal-link {\n color: #333 !important;\n }\n}\n"] }] 416 }], () => [{ type: Location }], null); 417})(); 418(() => { 419 (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(TermsOfUsePage, { className: "TermsOfUsePage", filePath: "src/app/pages/legal/terms-of-use/terms-of-use.page.ts", lineNumber: 23 }); 420})(); 421export { 422 TermsOfUsePage 423};
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.