(970) 239-1243

Support 24/7

0 Your Cart $0.00

Carrito (0)

No products in the cart.
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Harvest Box - Delivered Farmers Market</title>
</head>
<body>

<script>
const SITE_CONFIG = {
  mainTitle: "Meet the Harvest Box",
  mainDescription: "Build your own farm-fresh box with local proteins, produce, beverages, bakery items, and pantry favorites. <b>Delivery is free for subscribers</b> every <b>Tuesday</b>.",
  price: "$99",
  badges: [
    "Fresh local food",
    "Weekly or one time",
    "Free Tuesday delivery for subscribers"
  ],
  mainButtonText: "Build my Harvest Box",
  mainButtonLink: "https://example.com",
  subscriptionOptions: [
    {
      name: "Weekly",
      pill: "Most popular",
      description: "Perfect if you want a fresh box every week. Free Tuesday delivery for subscribers.",
      buttonText: "Start weekly",
      buttonLink: "https://example.com",
      isPrimary: true
    },
    {
      name: "Every other week",
      pill: "Bi-weekly",
      description: "Same Harvest Box experience, delivered every two weeks. Great for smaller households.",
      buttonText: "Start every other week",
      buttonLink: "https://example.com",
      isPrimary: false
    },
    {
      name: "One at a time",
      pill: "One-time",
      description: "Just want to try it once? Order a single box with no subscription.",
      buttonText: "Order one box",
      buttonLink: "https://example.com",
      isPrimary: false
    }
  ],
  heroImage: "images/harvest-box-hero.jpg",
  heroImageAlt: "Weekly Harvest Box packed with local food from farmersmarket.store",
  testimonials: [
    {
      name: "Sarah M.",
      location: "Grand Junction",
      rating: 5,
      quote: "Love my weekly box! Fresh produce and supporting local farms – it's a win-win!"
    },
    {
      name: "Mike T.",
      location: "Palisade",
      rating: 5,
      quote: "The quality is amazing. Tuesday deliveries are so convenient for our family."
    },
    {
      name: "Jennifer K.",
      location: "Fruita",
      rating: 5,
      quote: "Best decision we made! The variety and freshness can't be beat."
    }
  ],
  deliveryMapImage: "images/delivery-map-matching-colors.jpg",
  deliveryMapAlt: "Delivery coverage map from Palisade to Mack",
  galleryImages: [
    {
      thumb: "images/gallery-protein.jpg",
      full: "images/gallery-protein.jpg",
      caption: "Protein",
      alt: "Protein options"
    },
    {
      thumb: "https://picsum.photos/seed/produce/600/400",
      full: "https://picsum.photos/seed/producelarge/1400/900",
      caption: "Produce",
      alt: "Produce options"
    },
    {
      thumb: "https://picsum.photos/seed/bev/600/400",
      full: "https://picsum.photos/seed/bevlarge/1400/900",
      caption: "Beverages",
      alt: "Beverage options"
    },
    {
      thumb: "https://picsum.photos/seed/bakery/600/400",
      full: "https://picsum.photos/seed/bakerylarge/1400/900",
      caption: "Bakery",
      alt: "Bakery options"
    },
    {
      thumb: "https://picsum.photos/seed/pantry/600/400",
      full: "https://picsum.photos/seed/pantrylarge/1400/900",
      caption: "Pantry",
      alt: "Pantry options"
    },
    {
      thumb: "https://picsum.photos/seed/bonus/600/400",
      full: "https://picsum.photos/seed/bonuslarge/1400/900",
      caption: "Bonus finds",
      alt: "Bonus local items"
    }
  ],
  categories: [
    {
      title: "Protein",
      description: "Beef, chicken, eggs, sausage, and more."
    },
    {
      title: "Produce",
      description: "Seasonal produce plus year-round staples when available."
    },
    {
      title: "Beverages",
      description: "Coffee, teas, kombucha, and other local drinks."
    },
    {
      title: "Bakery",
      description: "Home-made Sourdough Bread, pastries, and treats"
    },
    {
      title: "Pantry and home",
      description: "Spices, snacks, sauces, soaps, honey and other local goods"
    }
  ],
  steps: [
    {
      number: "1",
      title: "Build your box",
      description: "Choose your items from the current list of local options.",
      image: "images/step1-matching-circle.jpg"
    },
    {
      number: "2",
      title: "We pack it from local vendors",
      description: "We carefully pack your items from multiple farms and makers into one delivery.",
      image: "images/step2-matching-colors.jpg"
    },
    {
      number: "3",
      title: "Free delivery for subscribers",
      description: "We deliver every Tuesday across the Grand Valley. From Palisade to Mack.  Fresh food, no fuss.",
      image: "images/step3-harvest-box.jpg"
    }
  ],
  calloutTitle: "Going on vacation? No problem.",
  calloutItems: [
    "You can pause your subscription anytime!"
  ],
  calloutImage: "images/vacation-pause.jpg",
  faqs: [
    {
      question: "Is this a subscription or a one-time purchase?",
      answer: "Both!  Subscribers get the weekly experience. One-time orders work like a normal checkout."
    },
    {
      question: "When do you deliver?",
      answer: "Every Tuesday!  Free delivery for subscribers across the Grand Valley."
    },
    {
      question: "Can I customize what goes in my box?",
      answer: "Yes. Choose from our seasonally curated categories.  Update your favorite selections each week before the Sunday noon cutoff."
    },
    {
      question: "Can I add extra items with my Harvest Box delivery?",
      answer: "Yes!  Shop ala carte and get everything delivered with you Box for FREE!"
    },
    {
      question: "Can I pause or cancel?",
      answer: "Going on vacation or moving?  No problem, pause for a week or cancel anytime, no contracts."
    }
  ],
  notes: {
    subscriptionNote: "",
    heroNote: "",
    galleryNote: "Click a thumbnail to open the larger photo.",
    sidebarNote: "You will see current options during checkout or in your selection portal.",
    stepsNote: "Weekly Cutoff Sundays at Noon",
    faqNote: ""
  }
};
</script>

<style>
  :root{
  --hb-font: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --hb-bg:#f6f7f8;
  --hb-surface:#ffffff;
  --hb-ink:#0f172a;
  --hb-muted:#475569;
  --hb-border:rgba(2,6,23,.14);
  --hb-primary:#2E7D32;
  --hb-primary-dark:#1B5E20;
  --hb-primary-soft:#E8F5E9;
  --hb-accent:#2E7D32;
  --hb-shadow:0 10px 28px rgba(2,6,23,.08);
  --hb-radius:14px;
  --hb-radius-sm:12px;
  --hb-radius-lg:16px;
}
  body{margin:0;background:var(--hb-bg)}
  .hb-wrap{max-width:1200px;margin:0 auto;padding:24px 16px;font-family:var(--hb-font);color:var(--hb-ink)}
  .hb-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}
  .hb-card{border:1px solid var(--hb-border);border-radius:var(--hb-radius);background:var(--hb-surface);overflow:hidden;box-shadow:var(--hb-shadow)}
  .hb-pad{padding:18px}
  .hb-hero h1{margin:0 0 10px;font-size:38px;line-height:1.1;color:var(--hb-primary)}
  .hb-sub{margin:0 0 14px;font-size:16px;color:var(--hb-muted)}
  .hb-priceRow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 16px}
  .hb-price{font-size:34px;font-weight:900;color:var(--hb-ink)}
  .hb-badge{display:inline-block;padding:8px 10px;border-radius:999px;border:1px solid var(--hb-border);font-size:13px;color:var(--hb-muted);background:#fff}
  .hb-btn{display:inline-block;text-decoration:none;font-weight:900;padding:12px 16px;border-radius:12px;border:1px solid rgba(46,125,50,.35);background:var(--hb-primary);color:#fff}
  .hb-btn:hover{background:var(--hb-primary-dark)}
  .hb-btnSecondary{display:inline-block;text-decoration:none;font-weight:900;padding:12px 16px;border-radius:12px;border:1px solid rgba(46,125,50,.35);background:#fff;color:var(--hb-primary)}
  .hb-btnSecondary:hover{background:var(--hb-primary-soft)}
  .hb-note{margin:12px 0 0;font-size:13px;color:var(--hb-muted)}
  .hb-schedule{margin:14px 0 14px}
  .hb-scheduleTitle{margin:0 0 10px;font-size:14px;font-weight:900;letter-spacing:.2px;color:var(--hb-ink)}
  .hb-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .hb-option{border:1px solid var(--hb-border);border-radius:14px;padding:12px;background:linear-gradient(180deg,#fff 0%, #fbfbfb 100%)}
  .hb-optionTop{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .hb-optionName{margin:0;font-weight:900;color:var(--hb-ink)}
  .hb-pill{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid rgba(46,125,50,.35);font-size:12px;font-weight:900;background:var(--hb-primary-soft);color:var(--hb-primary-dark)}
  .hb-optionText{margin:8px 0 0;font-size:12px;color:var(--hb-muted);line-height:1.35}
  .hb-optionCta{margin-top:10px}
  .hb-option a{display:block;text-decoration:none;font-weight:900;font-size:13px;padding:10px 12px;border-radius:12px;text-align:center;border:1px solid rgba(46,125,50,.35);color:var(--hb-primary);background:#fff}
  .hb-option a:hover{background:var(--hb-primary-soft)}
  .hb-option--primary{border-color:rgba(46,125,50,.45);box-shadow:0 12px 30px rgba(46,125,50,.10)}
  .hb-option--primary .hb-pill{background:var(--hb-primary);color:#fff;border-color:var(--hb-primary)}
  .hb-option--primary a{background:var(--hb-primary);color:#fff;border-color:var(--hb-primary)}
  .hb-option--primary a:hover{background:var(--hb-primary-dark)}
  .hb-heroImg{width:100%;height:auto;display:block}
  .hb-heroMedia{border-top:1px solid var(--hb-border);background:#fafafa}
  .hb-side h2{margin:0 0 8px;font-size:18px;color:var(--hb-ink)}
  .hb-testimonials{margin-bottom:12px}
  .hb-testimonial{border:1px solid var(--hb-border);border-radius:12px;padding:10px;margin:8px 0;background:#fff}
  .hb-testimonialTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
  .hb-testimonialName{font-weight:900;margin:0;color:var(--hb-ink);font-size:13px}
  .hb-testimonialStars{color:#FFA500;font-size:13px}
  .hb-testimonialQuote{margin:0;font-size:12px;color:var(--hb-muted);font-style:italic;line-height:1.3}
  .hb-testimonialLocation{font-size:11px;color:var(--hb-muted);margin-top:3px}
  .hb-deliveryMap{margin-top:12px;margin-bottom:-20%}
  .hb-deliveryMap img{width:100%;height:auto;border-radius:12px;border:1px solid var(--hb-border);transform:scaleY(0.8);transform-origin:top}
  .hb-deliveryMap h2{margin:0 0 8px;font-size:18px;color:var(--hb-ink)}
  .hb-cat{border:1px solid var(--hb-border);border-radius:12px;padding:10px;margin:8px 0;background:#fff}
  .hb-catTitle{font-weight:900;margin:0 0 3px;color:var(--hb-ink)}
  .hb-catText{margin:0;font-size:13px;color:var(--hb-muted)}
  .hb-gallery{margin-top:18px}
  .hb-galleryTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .hb-galleryTop h2{margin:0;font-size:18px;color:var(--hb-ink)}
  .hb-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:12px}
  .hb-thumb{display:block;border:1px solid var(--hb-border);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;color:inherit}
  .hb-thumb img{width:100%;height:88px;object-fit:cover;display:block}
  .hb-thumbCap{padding:8px 10px;font-size:12px;color:var(--hb-muted)}
  .hb-sectionTitle{margin:0 0 10px;font-size:22px;color:var(--hb-ink)}
  .hb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .hb-step{border:1px solid var(--hb-border);border-radius:14px;padding:14px;background:#fff}
  .hb-stepNum{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(46,125,50,.35);color:var(--hb-primary-dark);background:var(--hb-primary-soft);font-weight:900;margin-bottom:10px}
  .hb-step h3{margin:0 0 6px;font-size:16px;color:var(--hb-ink)}
  .hb-step p{margin:0;font-size:13px;color:var(--hb-muted)}
  .hb-step img{width:100%;height:auto;border-radius:12px;margin-bottom:12px;display:block}
  .hb-step .hb-stepImg{width:100%;height:280px;object-fit:cover;object-position:var(--img-position, center);border-radius:12px;margin-bottom:12px;display:block}
  .hb-callout{border:1px solid rgba(46,125,50,.30);border-radius:14px;padding:14px;background:var(--hb-primary-soft)}
  .hb-callout img{width:100%;height:auto;border-radius:12px;margin-bottom:12px;display:block}
  .hb-twoCol{display:grid;grid-template-columns:2fr 1fr;gap:14px}
  .hb-faq details{border:1px solid var(--hb-border);border-radius:12px;padding:12px 12px;margin:10px 0;background:#fff}
  .hb-faq summary{cursor:pointer;font-weight:900;color:var(--hb-ink)}
  .hb-faq p{margin:10px 0 0;font-size:13px;color:var(--hb-muted)}
  .hb-finalCta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .hb-finalCta p{margin:0;font-size:13px;color:var(--hb-muted)}
  .hb-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,6,23,.72);z-index:9999}
  .hb-modal:target{display:flex}
  .hb-modalBox{max-width:920px;width:100%;background:#fff;border-radius:16px;overflow:hidden}
  .hb-modalTop{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--hb-border)}
  .hb-modalTop strong{font-size:14px;color:var(--hb-ink)}
  .hb-close{display:inline-block;text-decoration:none;font-weight:900;padding:8px 10px;border-radius:10px;border:1px solid rgba(46,125,50,.35);color:var(--hb-primary);background:#fff}
  .hb-close:hover{background:var(--hb-primary-soft)}
  .hb-modalImg{width:100%;height:auto;display:block;background:#000}
  .hb-compact{margin-top:18px}
  @media (max-width: 940px){
    .hb-grid{grid-template-columns:1fr}
    .hb-thumbs{grid-template-columns:repeat(2,1fr)}
    .hb-steps{grid-template-columns:1fr}
    .hb-twoCol{grid-template-columns:1fr}
    .hb-hero h1{font-size:32px}
    .hb-options{grid-template-columns:1fr}
  }
</style>

<div class="hb-wrap" id="app"></div>

<script>
(function() {
  const config = SITE_CONFIG;
  function escapeHtml(text) {
    const div = document.createElement('div');
    div.textContent = text;
    return div.innerHTML;
  }
  function generateSubscriptionOptions() {
    return config.subscriptionOptions.map((option, index) => `
      <div class="hb-option ${option.isPrimary ? 'hb-option--primary' : ''}">
        <div class="hb-optionTop">
          <p class="hb-optionName">${escapeHtml(option.name)}</p>
          <span class="hb-pill">${escapeHtml(option.pill)}</span>
        </div>
        <p class="hb-optionText">${escapeHtml(option.description)}</p>
        <div class="hb-optionCta">
          <a href="${escapeHtml(option.buttonLink)}">${escapeHtml(option.buttonText)}</a>
        </div>
      </div>
    `).join('');
  }
  function generateBadges() {
    return config.badges.map(badge => 
      `<span class="hb-badge">${escapeHtml(badge)}</span>`
    ).join('\n          ');
  }
  function generateGalleryThumbs() {
    return config.galleryImages.map((img, index) => `
      <a class="hb-thumb" href="#hb-img-${index}">
        <img src="${escapeHtml(img.thumb)}" alt="${escapeHtml(img.alt)}" />
        <div class="hb-thumbCap">${escapeHtml(img.caption)}</div>
      </a>
    `).join('');
  }
  function generateCategories() {
    return config.categories.map(cat => `
      <div class="hb-cat">
        <p class="hb-catTitle">${escapeHtml(cat.title)}</p>
        <p class="hb-catText">${escapeHtml(cat.description)}</p>
      </div>
    `).join('');
  }
  function generateTestimonials() {
    if (!config.testimonials || config.testimonials.length === 0) return '';
    return config.testimonials.map(testimonial => `
      <div class="hb-testimonial">
        <div class="hb-testimonialTop">
          <div>
            <p class="hb-testimonialName">${escapeHtml(testimonial.name)}</p>
            <p class="hb-testimonialLocation">${escapeHtml(testimonial.location)}</p>
          </div>
          <div class="hb-testimonialStars">${'⭐'.repeat(testimonial.rating)}</div>
        </div>
        <p class="hb-testimonialQuote">"${escapeHtml(testimonial.quote)}"</p>
      </div>
    `).join('');
  }
  function generateSteps() {
    return config.steps.map((step, index) => {
      let imageHTML = '';
      if (step.image) {
        imageHTML = `<img src="${escapeHtml(step.image)}" alt="${escapeHtml(step.title)}" style="width:100%;height:auto;border-radius:12px;margin-bottom:12px;display:block;" />`;
      } else {
        imageHTML = `<div class="hb-stepNum">${escapeHtml(step.number)}</div>`;
      }
      return `
      <div class="hb-step">
        ${imageHTML}
        <h3>${escapeHtml(step.title)}</h3>
        <p>${escapeHtml(step.description)}</p>
      </div>
    `;
    }).join('');
  }
  function generateCalloutItems() {
    return config.calloutItems.map(item => 
      `- ${escapeHtml(item)}`
    ).join('<br/>');
  }
  function generateFAQs() {
    return config.faqs.map(faq => `
      <details>
        <summary>${escapeHtml(faq.question)}</summary>
        <p>${escapeHtml(faq.answer)}</p>
      </details>
    `).join('');
  }
  function generateModals() {
    return config.galleryImages.map((img, index) => `
      <div class="hb-modal" id="hb-img-${index}">
        <div class="hb-modalBox">
          <div class="hb-modalTop">
            <strong>${escapeHtml(img.alt)}</strong>
            <a class="hb-close" href="#gallery">Close</a>
          </div>
          <img class="hb-modalImg" src="${escapeHtml(img.full)}" alt="${escapeHtml(img.alt)} large image" />
        </div>
      </div>
    `).join('\n');
  }
  const html = `
  <div class="hb-grid">
    <div class="hb-card hb-hero">
      <div class="hb-pad">
        <h1>${escapeHtml(config.mainTitle)}</h1>
        <p class="hb-sub">${config.mainDescription}</p>
        <div class="hb-priceRow">
          <div class="hb-price">${escapeHtml(config.price)}</div>
          ${generateBadges()}
        </div>
        <div class="hb-schedule" aria-label="Subscription options">
          <div class="hb-scheduleTitle">Choose your schedule</div>
          <div class="hb-options">
            ${generateSubscriptionOptions()}
          </div>
          <p class="hb-note" style="margin-top:10px">
            ${escapeHtml(config.notes.subscriptionNote)}
          </p>
        </div>
        <a class="hb-btn" href="${escapeHtml(config.mainButtonLink)}">${escapeHtml(config.mainButtonText)}</a>
        <p class="hb-note">${escapeHtml(config.notes.heroNote)}</p>
      </div>
      <div class="hb-heroMedia">
        <img class="hb-heroImg" src="${escapeHtml(config.heroImage)}" alt="${escapeHtml(config.heroImageAlt)}" />
      </div>
      <div class="hb-pad hb-gallery" id="gallery">
        <div class="hb-galleryTop">
          <h2>What you can pick from</h2>
          <a class="hb-btnSecondary" href="${escapeHtml(config.mainButtonLink)}">${escapeHtml(config.mainButtonText)}</a>
        </div>
        <div class="hb-thumbs">
          ${generateGalleryThumbs()}
        </div>
        <p class="hb-note">${escapeHtml(config.notes.galleryNote)}</p>
      </div>
    </div>
    <div class="hb-card hb-side">
      <div class="hb-pad">
        <h2>What's inside</h2>
        ${generateCategories()}
        <div class="hb-compact">
          <a class="hb-btn" href="${escapeHtml(config.mainButtonLink)}">${escapeHtml(config.mainButtonText)}</a>
          <p class="hb-note">${escapeHtml(config.notes.sidebarNote)}</p>
        </div>
        ${config.testimonials && config.testimonials.length > 0 ? `
        <div class="hb-testimonials hb-compact">
          <h2>What customers say</h2>
          ${generateTestimonials()}
        </div>
        ` : ''}
        ${config.deliveryMapImage ? `
        <div class="hb-deliveryMap">
          <h2>We deliver across the Grand Valley</h2>
          <img src="${escapeHtml(config.deliveryMapImage)}" alt="${escapeHtml(config.deliveryMapAlt)}" />
        </div>
        ` : ''}
      </div>
    </div>
  </div>
  <div class="hb-card hb-compact">
    <div class="hb-pad">
      <h2 class="hb-sectionTitle">How it works</h2>
      <div class="hb-twoCol">
        <div>
          <div class="hb-steps">
            ${generateSteps()}
          </div>
          <div class="hb-compact">
            <a class="hb-btn" href="${escapeHtml(config.mainButtonLink)}">${escapeHtml(config.mainButtonText)}</a>
            <p class="hb-note">${escapeHtml(config.notes.stepsNote)}</p>
          </div>
        </div>
        <div class="hb-callout">
          ${config.calloutImage ? `<img src="${escapeHtml(config.calloutImage)}" alt="${escapeHtml(config.calloutTitle)}" style="width:100%;height:auto;border-radius:12px;margin-bottom:12px;" />` : ''}
          <strong style="color:var(--hb-ink)">${escapeHtml(config.calloutTitle)}</strong>
          <p class="hb-note" style="margin-top:8px">
            ${generateCalloutItems()}
          </p>
        </div>
      </div>
    </div>
  </div>
  <div class="hb-card hb-compact hb-faq" id="faq">
    <div class="hb-pad">
      <h2 class="hb-sectionTitle">Frequently asked questions</h2>
      ${generateFAQs()}
      <div class="hb-finalCta hb-compact">
        <a class="hb-btn" href="${escapeHtml(config.mainButtonLink)}">${escapeHtml(config.mainButtonText)}</a>
        <p>${escapeHtml(config.notes.faqNote)}</p>
      </div>
    </div>
  </div>
  ${generateModals()}
  `;
  document.getElementById('app').innerHTML = html;
})();
</script>

</body>
</html>
Your experience on this site will be improved by allowing cookies Cookie Policy