:root { --espresso: #3b2315; --dark-brown: #5c3d2e; --warm-brown: #8b5e3c; --gold: #d4a053; --cream: #fdf8f4; --light-cream: #f5efe9; --white: #ffffff; --accent-orange: #e07b39; --text-dark: #2c1810; --text-muted: #6b5b50; --shadow: 0 4px 24px rgba(59,35,21,.10); --shadow-lg: 0 12px 40px rgba(59,35,21,.14); --radius: 14px; --transition: .3s ease; } *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: var(--text-dark); line-height: 1.6; background: var(--cream); } a { text-decoration: none; color: inherit; } img { max-width: 100%; display: block; } .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; } /* NAVBAR */ .navbar { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; padding: 16px 0; transition: var(--transition); background: transparent; } .navbar.scrolled { background: rgba(253,248,244,.97); backdrop-filter: blur(12px); box-shadow: 0 2px 16px rgba(59,35,21,.08); padding: 10px 0; } .navbar .container { display: flex; justify-content: space-between; align-items: center; } .logo { font-size: 1.6rem; font-weight: 900; color: var(--espresso); display: flex; align-items: center; gap: 8px; } .logo-icon { width: 36px; height: 36px; background: var(--accent-orange); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 1.1rem; } .nav-links { display: flex; gap: 28px; align-items: center; } .nav-links a { font-weight: 600; font-size: .95rem; color: var(--dark-brown); transition: var(--transition); position: relative; } .nav-links a:hover { color: var(--accent-orange); } .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; } .hamburger span { width: 26px; height: 3px; background: var(--espresso); border-radius: 2px; } /* CONTACT HERO */ .contact-hero { padding: 160px 0 80px; background: linear-gradient(135deg, var(--espresso) 0%, var(--dark-brown) 60%, var(--warm-brown) 100%); color: var(--white); text-align: center; position: relative; overflow: hidden; } .contact-hero::before { content: ''; position: absolute; top: -40%; right: -10%; width: 60%; height: 180%; background: radial-gradient(circle, rgba(212,160,83,.12) 0%, transparent 60%); } .contact-hero .section-label { text-transform: uppercase; letter-spacing: 3px; font-size: .8rem; font-weight: 700; color: var(--gold); margin-bottom: 12px; } .contact-hero h1 { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 900; line-height: 1.15; margin-bottom: 16px; } .contact-hero p { font-size: 1.1rem; color: rgba(255,255,255,.7); max-width: 540px; margin: 0 auto; } /* PHONE BANNER */ .phone-banner { margin-top: -50px; position: relative; z-index: 10; padding: 0 24px; } .phone-banner-inner { max-width: 900px; margin: 0 auto; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: 48px 56px; text-align: center; border: 2px solid rgba(212,160,83,.2); } .phone-icon { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, var(--accent-orange), var(--gold)); display: flex; align-items: center; justify-content: center; margin: -90px auto 24px; font-size: 2rem; color: var(--white); box-shadow: 0 8px 24px rgba(224,123,57,.3); animation: pulse-ring 2s ease-in-out infinite; } @keyframes pulse-ring { 0%, 100% { box-shadow: 0 8px 24px rgba(224,123,57,.3), 0 0 0 0 rgba(224,123,57,.2); } 50% { box-shadow: 0 8px 24px rgba(224,123,57,.4), 0 0 0 16px rgba(224,123,57,0); } } .phone-banner h2 { font-size: 1rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 8px; } .phone-number { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 900; color: var(--accent-orange); display: block; margin-bottom: 16px; transition: var(--transition); } .phone-number:hover { color: var(--gold); transform: scale(1.03); } .phone-banner p { font-size: 1rem; color: var(--text-muted); margin-bottom: 24px; } .phone-tags { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; } .phone-tag { background: var(--light-cream); border: 1px solid rgba(212,160,83,.2); padding: 8px 20px; border-radius: 50px; font-size: .85rem; font-weight: 600; color: var(--dark-brown); } /* CONTACT GRID */ .contact-grid { padding: 80px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; } /* CONTACT FORM */ .contact-form-section { background: var(--white); border-radius: var(--radius); padding: 48px; box-shadow: var(--shadow); } .contact-form-section h3 { font-size: 1.5rem; font-weight: 800; margin-bottom: 8px; } .contact-form-section > p { color: var(--text-muted); margin-bottom: 32px; font-size: .95rem; } .form-group { margin-bottom: 20px; } .form-group label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: 6px; color: var(--dark-brown); } .form-group input, .form-group select, .form-group textarea { width: 100%; padding: 14px 18px; border: 2px solid var(--light-cream); border-radius: 10px; font-size: 1rem; font-family: inherit; transition: var(--transition); background: var(--cream); color: var(--text-dark); } .form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--accent-orange); box-shadow: 0 0 0 4px rgba(224,123,57,.1); background: var(--white); } .form-group textarea { resize: vertical; min-height: 120px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .btn-submit { display: inline-flex; align-items: center; gap: 10px; background: var(--accent-orange); color: var(--white); border: none; padding: 16px 40px; border-radius: 50px; font-size: 1rem; font-weight: 700; cursor: pointer; transition: var(--transition); width: 100%; justify-content: center; } .btn-submit:hover { background: var(--gold); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(224,123,57,.3); } .form-note { font-size: .82rem; color: var(--text-muted); margin-top: 16px; text-align: center; } /* CONTACT INFO SIDEBAR */ .contact-info { display: flex; flex-direction: column; gap: 28px; } .info-card { background: var(--white); border-radius: var(--radius); padding: 32px; box-shadow: var(--shadow); transition: var(--transition); } .info-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); } .info-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; } .info-card h3 .icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; } .info-card h3 .icon.orange { background: rgba(224,123,57,.1); } .info-card h3 .icon.gold { background: rgba(212,160,83,.15); } .info-card h3 .icon.brown { background: rgba(92,61,46,.08); } .info-card h3 .icon.cream { background: rgba(139,94,60,.1); } /* HOURS TABLE */ .hours-table { width: 100%; font-size: .95rem; } .hours-table tr { border-bottom: 1px solid var(--light-cream); } .hours-table tr:last-child { border-bottom: none; } .hours-table td { padding: 10px 0; } .hours-table td:first-child { font-weight: 600; color: var(--dark-brown); } .hours-table td:last-child { text-align: right; color: var(--text-muted); } .hours-table tr.today td { color: var(--accent-orange); font-weight: 700; } .hours-table tr.closed td:last-child { color: #c0392b; } /* ADDRESS */ .address-block p { font-size: .95rem; color: var(--text-muted); line-height: 1.7; } .address-block p strong { color: var(--dark-brown); } /* EMAIL */ .email-link { display: inline-flex; align-items: center; gap: 10px; font-size: 1.1rem; font-weight: 700; color: var(--accent-orange); transition: var(--transition); } .email-link:hover { color: var(--gold); } .email-secondary { font-size: .9rem; color: var(--text-muted); margin-top: 8px; } /* MAP */ .map-section { background: var(--light-cream); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); } .map-placeholder { width: 100%; height: 260px; border-radius: 10px; background: linear-gradient(135deg, #e8d8c8, #d4c0a8); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; font-size: 1rem; color: var(--warm-brown); } .map-placeholder .pin { font-size: 2.5rem; } /* FAQ */ .faq-section { padding: 80px 0; background: var(--white); } .faq-section .section-label { text-transform: uppercase; letter-spacing: 3px; font-size: .8rem; font-weight: 700; color: var(--gold); margin-bottom: 8px; } .faq-section .section-title { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; margin-bottom: 40px; } .faq-list { max-width: 800px; } .faq-item { border: 1px solid var(--light-cream); border-radius: var(--radius); margin-bottom: 12px; overflow: hidden; transition: var(--transition); } .faq-item:hover { border-color: rgba(212,160,83,.3); } .faq-question { padding: 22px 28px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 700; font-size: 1rem; background: var(--cream); } .faq-question .toggle { width: 28px; height: 28px; border-radius: 50%; background: var(--light-cream); display: flex; align-items: center; justify-content: center; font-size: .9rem; transition: var(--transition); min-width: 28px; } .faq-item.active .faq-question .toggle { background: var(--accent-orange); color: var(--white); transform: rotate(45deg); } .faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s ease, padding .4s ease; } .faq-item.active .faq-answer { max-height: 300px; } .faq-answer p { padding: 20px 28px 28px; font-size: .95rem; color: var(--text-muted); line-height: 1.7; } /* CTA STRIP */ .cta-strip { padding: 60px 0; background: linear-gradient(135deg, var(--accent-orange), var(--gold)); text-align: center; color: var(--white); } .cta-strip h2 { font-size: 1.8rem; font-weight: 900; margin-bottom: 12px; } .cta-strip p { font-size: 1.05rem; color: rgba(255,255,255,.85); margin-bottom: 28px; } .cta-strip .btn { background: var(--white); color: var(--accent-orange); padding: 14px 40px; border-radius: 50px; font-weight: 800; font-size: 1rem; transition: var(--transition); display: inline-block; } .cta-strip .btn:hover { background: var(--espresso); color: var(--white); transform: translateY(-2px); } /* FOOTER */ .footer { background: var(--espresso); color: rgba(255,255,255,.7); padding: 60px 0 0; } .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; } .footer-brand .logo { color: var(--white); margin-bottom: 12px; } .footer-brand p { font-size: .9rem; line-height: 1.7; max-width: 280px; } .footer h4 { color: var(--white); font-size: .9rem; font-weight: 700; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px; } .footer ul li { margin-bottom: 10px; } .footer ul li a { font-size: .9rem; transition: var(--transition); } .footer ul li a:hover { color: var(--gold); padding-left: 4px; } .footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 24px 0; text-align: center; font-size: .85rem; } /* FLOATING CALL BUTTON */ .float-call { position: fixed; bottom: 28px; right: 28px; z-index: 999; width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--accent-orange), var(--gold)); display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 1.5rem; box-shadow: 0 6px 24px rgba(224,123,57,.4); transition: var(--transition); animation: pulse-ring 2s ease-in-out infinite; } .float-call:hover { transform: scale(1.1); box-shadow: 0 8px 32px rgba(224,123,57,.5); } /* RESPONSIVE */ @media (max-width: 992px) { .contact-grid { grid-template-columns: 1fr; } .phone-banner-inner { padding: 40px 32px; } .footer-grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 768px) { .nav-links { display: none; position: absolute; top: 100%; left: 0; width: 100%; background: var(--white); flex-direction: column; padding: 24px; gap: 16px; box-shadow: var(--shadow); } .nav-links.active { display: flex; } .hamburger { display: flex; } .form-row { grid-template-columns: 1fr; } .contact-form-section { padding: 32px 24px; } .phone-banner-inner { padding: 36px 24px; } .footer-grid { grid-template-columns: 1fr; } }

We'd Love to Hear From You

Have questions about our products, pricing, or custom orders? Our team is ready to help you find the perfect solution.

📞

Call Us Toll-Free

+1 (800) 555-0192

Speak directly with a wholesale specialist — available Mon–Fri, 8 AM to 7 PM EST

🔹 Free Quote 🔹 Bulk Orders 🔹 Custom Printing 🔹 Sample Requests

Send Us a Message

Fill out the form below and a member of our team will get back to you within 24 hours.

🔒 Your information is secure and will never be shared with third parties.

🕐 Business Hours

Monday8:00 AM – 7:00 PM EST
Tuesday8:00 AM – 7:00 PM EST
Wednesday8:00 AM – 7:00 PM EST
Thursday8:00 AM – 7:00 PM EST
Friday8:00 AM – 7:00 PM EST
Saturday9:00 AM – 3:00 PM EST
SundayClosed

📍 Headquarters

Cup Source Inc.
2847 Industrial Blvd, Suite 120
Cleveland, OH 44115
United States

✉️ Email Us

📍 2847 Industrial Blvd, Cleveland, OH Open in Google Maps →

Frequently Asked Questions

What are your minimum order quantities? +

Our standard minimum order is 1,000 units per product. For custom-printed products, the minimum is typically 5,000 units. However, we're flexible for startup businesses — call us at +1 (800) 555-0192 to discuss your specific needs.

How long does custom printing take? +

Custom-printed orders typically take 10–15 business days from proof approval. Rush orders (5–7 business days) are available for an additional fee. Contact our team to check current lead times.

Do you offer free samples? +

Yes! We offer a complimentary sample kit that includes our most popular products. Simply call us or fill out the contact form and select "Product Samples" — we'll ship your kit within 2 business days.

What are your shipping options and costs? +

We ship nationwide via ground, expedited, and express freight. Free ground shipping is available on orders over $500. For international shipping, please call our team at +1 (800) 555-0192 for a quote.

Can I schedule a callback instead of calling? +

Absolutely! Fill out our contact form and a wholesale specialist will return your call within 2 business hours during our business hours. We can also schedule a callback at a specific time that works best for you.

Still Have Questions? Give Us a Call!

Our team is standing by to help you find the right products and pricing for your business.

📞 Call +1 (800) 555-0192
📞