Independent Riverside Gift
.ir-membership-wrap{ max-width:900px; margin:40px auto; padding:40px 22px; font-family:Arial, sans-serif; color:#102b4e; } .ir-hero{ text-align:center; background:linear-gradient(1 35deg,#102b4e,#163b6b); color:white; border-radius:24px; padding:45px 25px; margin-bottom:30px; } .ir-hero h2{ font-size:36px; margin:0 0 12px; } .ir-hero p{ font-size:18px; max-width:620px; margin:0 auto; color:#e8eef7; line-height:1.6; } .ir-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:30px 0; } .ir-card{ background:white; border:1px solid #e5e7eb; border-radius:18px; padding:24px 18px; text-align:center; box-shadow:0 10px 25px rgba(16,43,78,.08); } .ir-icon{ font-size:36px; margin-bottom:10px; } .ir-card h3{ font-size:17px; margin:8px 0; color:#102b4e; } .ir-card p{ font-size:14px; color:#555; line-height:1.5; margin:0; } .ir-section{ text-align:center; background:#f8fafc; border-radius:22px; padding:35px 25px; margin:28px 0; } .ir-section h2{ font-size:28px; margin:0 0 22px; } .ir-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; } .ir-step{ background:white; border-radius:16px; padding:22px 18px; border:1px solid #e5e7eb; } .ir-step span{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; background:#f97316; color:white; border-radius:50%; font-weight:bold; margin-bottom:10px; } .ir-step h3{ margin:6px 0; font-size:18px; } .ir-step p{ color:#555; font-size:15px; margin:0; line-height:1.5; } .ir-story{ text-align:center; max-width:650px; margin:35px auto; line-height:1.7; } .ir-story h2{ font-size:28px; margin-bottom:12px; } .ir-story p{ color:#555; } .ir-price{ text-align:center; background:#fff7ed; border:2px solid #fed7aa; border-radius:22px; padding:28px 20px; margin-top:30px; } .ir-price strong{ display:block; font-size:34px; color:#102b4e; } .ir-price span{ color:#666; font-size:15px; } .terms-bar{ max-width:700px; margin:0 auto 25px; background:#f8fafc; border:1px solid #e5e7eb; border-radius:14px; padding:14px 18px; text-align:center; font-size:15px; } .terms-bar input{ transform:scale(1.15); margin-right:7px; } .terms-link{ color:#f97316; font-weight:700; cursor:pointer; text-decoration:underline; } .terms-modal{ display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); z-index:999999; align-items:center; justify-content:center; padding:20px; } .terms-modal-content{ background:white; width:520px; max-width:92vw; border-radius:16px; padding:25px; max-height:72vh; overflow-y:auto; position:relative; text-align:left; font-size:13px; line-height:1.6; color:#102b4e; } .terms-close{ position:absolute; top:10px; right:15px; font-size:22px; cursor:pointer; font-weight:bold; } .ir-disabled{ opacity:0.45 !important; pointer-events:none !important; cursor:not-allowed !important; } @media(max-width:750px){ .ir-membership-wrap{ margin:20px auto; padding:25px 14px; } .ir-hero{ padding:35px 20px; } .ir-hero h2{ font-size:30px; } .ir-grid{ grid-template-columns:1fr 1fr; gap:14px; } .ir-steps{ grid-template-columns:1fr; } } @media(max-width:480px){ .ir-grid{ grid-template-columns:1fr; } .terms-bar{ font-size:14px; } .ir-price strong{ font-size:30px; } } I agree to the Terms & Conditions β Acceptance of TermsBy generating or using a membership card you agree to these Terms & Conditions. EligibilityYou must be at least 13 years old to generate or use a membership card. Personal Use OnlyMembership cards are intended for individual personal use and may not be copied, transferred, or shared. Participating BusinessesDiscounts and promotions are provided solely by participating businesses and may change or end. Offer AvailabilityOffers may vary by business, location, and time. No Cash ValueMembership cards and offers have no cash value and cannot be redeemed for cash. Right to Refuse OffersParticipating businesses may limit or refuse offers if misuse or fraud is suspected. MisuseWe reserve the right to suspend or deactivate cards if misuse or duplication is detected. Limitation of LiabilityWe are not responsible for products, services, or disputes between users and participating businesses. Data & PrivacyInformation submitted during card generation may be used to create and manage your membership. Changes to TermsThese Terms & Conditions may be updated at any time. Support Local. Save Money. Your Independent Riverside perks pass unlocks exclusive discounts at local businesses while helping our community thrive. πͺ Local Discounts Pass holders receive exclusive deals at participating Riverside businesses. ποΈ Member Promotions Access special promotions and seasonal offers only available to pass holders. π± Digital Perk Pass Your pass lives in Apple Wallet or Google Wallet for easy use. π Support Local Every pass purchased helps independent businesses stay strong in Riverside. How It Works 1 Join Purchase your annual perks pass online. 2 Receive Your Card Your digital pass is sent instantly after signup. 3 Show & Save Show your card at participating businesses to unlock discounts. Why Independent Riverside Exists Independent Riverside was created to strengthen our local economy and celebrate the independent businesses that make our city unique. When you support local, more money stays in our community. Only $59 / year Valid for 12 months from purchase document.addEventListener("DOMContentLoaded", function(){ const checkbox = document.getElementById("agreeTerms"); const modal = document.getElementById("termsModal"); const openTerms = document.getElementById("openTerms"); const closeTerms = document.getElementById("closeTerms"); openTerms.addEventListener("click", function(e){ e.preventDefault(); modal.style.display = "flex"; }); closeTerms.addEventListener("click", function(){ modal.style.display = "none"; }); modal.addEventListener("click", function(e){ if(e.target === modal){ modal.style.display = "none"; } }); function getAddCartButtons(){ return document.querySelectorAll( 'button[name="add"], input[name="add"], button[type="submit"][name="add"], .product-form__submit, form[action*="/cart/add"] button[type="submit"], .shopify-payment-button button' ); } function toggleAddCartButtons(){ getAddCartButtons().forEach(function(button){ if(!checkbox.checked){ button.disabled = true; button.setAttribute("aria-disabled", "true"); button.classList.add("ir-disabled"); } else { button.disabled = false; button.setAttribute("aria-disabled", "false"); button.classList.remove("ir-disabled"); } }); } toggleAddCartButtons(); checkbox.addEventListener("change", toggleAddCartButtons); document.addEventListener("click", function(e){ const addButton = e.target.closest( 'button[name="add"], input[name="add"], button[type="submit"][name="add"], .product-form__submit, form[action*="/cart/add"] button[type="submit"], .shopify-payment-button button' ); if(addButton && !checkbox.checked){ e.preventDefault(); e.stopImmediatePropagation(); alert("Please accept the Terms & Conditions before adding this membership to your cart."); return false; } }, true); setInterval(toggleAddCartButtons, 500); });