Terms of service

Acceptance Eligibility Purchases & Payments Event Tickets Shipping Returns User Content Prohibited Uses Assumption of Risk Disclaimers Limitation of Liability Indemnification Governing Law Changes Contact

Terms of Service

These Terms of Service (“Terms”) govern your access to and use of this website, our online store, and any related services provided by . By using the site, you agree to these Terms.

Last updated:

Acceptance of Terms

By accessing or using the site, creating an account, or placing an order, you agree to be bound by these Terms and our Privacy Policy. If you do not agree, do not use the site. We may update these Terms from time to time as described below.

Eligibility

You must be at least 13 years old (or the age of digital consent in your region) to use the site, and at least 18 to make purchases. If you use the site on behalf of an organization, you represent that you have authority to bind that organization to these Terms.

Purchases, Pricing & Payments

  • Accuracy: We strive to display accurate product information, but errors may occur. We may correct errors and cancel orders affected by them.
  • Pricing: Prices are shown in USD unless stated otherwise and may change without notice.
  • Taxes/Fees: You are responsible for applicable taxes, duties, and shipping fees.
  • Payment: We process payments through third-party providers. By providing a payment method, you represent that you are authorized to use it.
  • Order Acceptance: An order confirmation does not constitute acceptance; we may refuse or limit any order (e.g., suspected fraud, inventory constraints).

Event Tickets & Participation

  • Eligibility & Conduct: Participants and spectators must follow all posted rules, staff directions, and safety briefings. We may remove anyone for unsafe or disruptive behavior without refund.
  • Refunds/Rollovers: Unless stated otherwise on the product page, refunds are available within 14 days of purchase and not within 30 days of the event. After that window, a one-time rollover to a future date may be offered (subject to availability). See our Refund Policy.
  • Schedule & Weather: Event schedules and activities may change due to safety, weather, or operational needs. We may adjust, postpone, or cancel in our discretion.
  • Media Release: Entry to the event constitutes consent to be photographed/recorded and for to use your likeness for promotional purposes without additional compensation, to the extent permitted by law.

Shipping

Orders typically process within 2–3 business days (Mon–Fri, holidays excluded). Delivery estimates begin after processing. Standard, Expedited, and Priority options are available in checkout. International orders may incur duties/taxes payable by the recipient. See our Shipping Policy for details.

Returns & Exchanges

Returns are generally accepted within 30 days of delivery for unused, resalable items in original packaging. Refunds are issued to the original method once the return is scanned/inspected. Some items (final sale, customized, hygiene-sensitive goods) are not returnable. See our Refund Policy.

User Content & Accounts

  • Your Responsibility: You are responsible for content you submit (reviews, comments, media). Do not submit unlawful, infringing, or harmful content.
  • License: By submitting content, you grant a worldwide, non-exclusive, royalty-free license to use, reproduce, modify, and display it for operating and promoting the site.
  • Security: Keep your account credentials secure. Notify us immediately of unauthorized use.

Prohibited Uses

You agree not to: (i) violate any law; (ii) infringe intellectual-property or privacy rights; (iii) upload malware or interfere with site operation; (iv) misrepresent your identity; (v) circumvent access or security controls; (vi) use the site to harass, spam, or exploit others.

Assumption of Risk (Outdoor Activities)

Participation in outdoor skills and survival activities involves inherent risks (including, without limitation, exposure to natural hazards, tools, and physical exertion). To the fullest extent permitted by law, you acknowledge and voluntarily assume all such risks for yourself and your minors/guests, and you agree to follow safety instructions at all times.

Disclaimers

The site, events, products, and services are provided “as is” and “as available.” To the fullest extent permitted by law, disclaims all warranties, express or implied, including merchantability, fitness for a particular purpose, title, and non-infringement. We do not warrant uninterrupted or error-free operation or that defects will be corrected.

Limitation of Liability

To the fullest extent permitted by law, and its owners, employees, and agents will not be liable for any indirect, incidental, special, consequential, exemplary, or punitive damages, or for lost profits or revenues, arising from or related to these Terms, the site, events, or products. Our aggregate liability for any claim will not exceed the amount you paid to us for the product or event giving rise to the claim in the 12 months preceding the claim.

Indemnification

You agree to indemnify, defend, and hold harmless from any third-party claims, damages, liabilities, costs, and expenses (including reasonable attorneys’ fees) arising out of your breach of these Terms, your misuse of the site, or your violation of any law or third-party rights.

Governing Law & Dispute Resolution

These Terms are governed by the laws of , without regard to conflict-of-laws rules. You agree to the exclusive jurisdiction and venue of the state and federal courts located in . If you and agree to arbitration in a separate writing, disputes will be resolved by binding arbitration as described therein.

Changes to These Terms

We may update these Terms from time to time. The “Last updated” date will reflect the most recent changes. Material changes will apply prospectively. Continued use of the site after changes constitutes acceptance.

Contact

/* ===== Scoped styling to #pnw-tos for theme safety ===== */ #pnw-tos{ --bg:#1c1c1c; --panel:#141414; --elev:#101010; --border:#2a2a2a; --text:#fff; --sub:#cfcfcf; --accent:#D99200; --accent-h:#c38300; --scroll-offset: 84px; color:var(--text); background:var(--bg); font-family:"Jost",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; border-top:1px solid var(--border); } #pnw-tos *{ box-sizing:border-box; } #pnw-tos .tos-inner{ max-width:1440px; margin:0 auto; padding:clamp(28px,4vw,72px) 24px; } /* Sticky nav */ #pnw-tos .tos-nav{ position:sticky; top:0; z-index:5; display:flex; gap:8px; flex-wrap:wrap; padding:8px 0 12px; margin:-8px 0 8px; background:linear-gradient(180deg,rgba(28,28,28,.95),rgba(28,28,28,.85)); backdrop-filter:saturate(140%) blur(4px); border-bottom:1px solid var(--border); } #pnw-tos .tos-nav__link{ display:inline-block; padding:.45rem .7rem; border:1px solid var(--border); border-radius:999px; text-decoration:none; color:#fff; font-weight:800; font-size:12px; letter-spacing:.08em; text-transform:uppercase; } #pnw-tos .tos-nav__link:hover{ border-color:var(--accent); background:rgba(217,146,0,.12); } #pnw-tos .tos-nav__link.is-active{ color:var(--accent); border-color:var(--accent); } /* Head */ #pnw-tos .tos-head{ display:grid; gap:8px; margin:6px 0 18px; } #pnw-tos .tos-head h1{ margin:0; text-transform:uppercase; letter-spacing:.06em; font-weight:800; font-size:clamp(36px,6.6vw,72px); line-height:1; } #pnw-tos .tos-lead{ margin:0; color:#e8e8e8; font-size:16px; line-height:1.7; max-width:920px; } #pnw-tos .tos-updated{ margin:0; color:var(--sub); font-size:13px; } /* Cards */ #pnw-tos .tos-card{ background:linear-gradient(180deg,var(--panel),var(--elev)); border:1px solid var(--border); border-radius:16px; box-shadow:0 8px 24px rgba(0,0,0,.25); padding:clamp(16px,2vw,22px); display:grid; gap:12px; margin-bottom:clamp(16px,2vw,22px); scroll-margin-top:var(--scroll-offset); } #pnw-tos .tos-h2{ margin:0; text-transform:uppercase; letter-spacing:.05em; font-weight:800; font-size:clamp(20px,3vw,26px); } #pnw-tos .tos-list{ margin:0; padding-left:1.15rem; display:grid; gap:6px; color:#e8e8e8; } #pnw-tos .tos-link{ color:#fff; text-decoration:underline; text-underline-offset:3px; } #pnw-tos .tos-contact{ font-style:normal; line-height:1.7; } @media (prefers-reduced-motion: reduce){ #pnw-tos, #pnw-tos *{ scroll-behavior: auto !important; animation: none !important; transition: none !important; } } /* ===== Scoped initializer (no globals) ===== */ (() => { const root = document.getElementById('pnw-tos'); if(!root) return; // Bind data const biz = root.dataset.biz || 'Our Company'; const email = root.dataset.email || 'support@example.com'; const addr = root.dataset.address || ''; const law = root.dataset.law || 'Oregon, USA'; const venue = root.dataset.venue || 'Multnomah County, Oregon'; const updated = root.dataset.updated || new Date().toLocaleDateString(undefined,{year:'numeric',month:'long',day:'numeric'}); root.querySelectorAll('[data-bind="biz"]').forEach(el => el.textContent = biz); root.querySelectorAll('[data-bind="emailLink"]').forEach(el => { el.textContent = email; el.href = `mailto:${email}`; }); root.querySelectorAll('[data-bind="address"]').forEach(el => el.textContent = addr); root.querySelectorAll('[data-bind="law"]').forEach(el => el.textContent = law); root.querySelectorAll('[data-bind="venue"]').forEach(el => el.textContent = venue); root.querySelectorAll('[data-bind="updated"]').forEach(el => el.textContent = updated); // Smooth scroll & active link highlight const links = [...root.querySelectorAll('.tos-nav__link')]; const map = new Map(links.map(l => [l.getAttribute('href').slice(1), l])); const io = new IntersectionObserver((entries) => { entries.forEach(({isIntersecting, target}) => { const link = map.get(target.id); if(!link) return; if(isIntersecting){ links.forEach(a => a.classList.remove('is-active')); link.classList.add('is-active'); } }); }, {rootMargin: '-45% 0px -50% 0px', threshold: 0.01}); root.querySelectorAll('.tos-card[id]').forEach(sec => io.observe(sec)); root.addEventListener('click', (e)=>{ const a = e.target.closest('a[href^="#"]'); if(!a || !root.contains(a)) return; const id = a.getAttribute('href').slice(1); const target = id && root.querySelector('#'+CSS.escape(id)); if(target){ e.preventDefault(); target.scrollIntoView({behavior:'smooth', block:'start'}); target.focus({preventScroll:true}); } }); })();