: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; } }
Have questions about our products, pricing, or custom orders? Our team is ready to help you find the perfect solution.
Fill out the form below and a member of our team will get back to you within 24 hours.
| Monday | 8:00 AM – 7:00 PM EST |
| Tuesday | 8:00 AM – 7:00 PM EST |
| Wednesday | 8:00 AM – 7:00 PM EST |
| Thursday | 8:00 AM – 7:00 PM EST |
| Friday | 8:00 AM – 7:00 PM EST |
| Saturday | 9:00 AM – 3:00 PM EST |
| Sunday | Closed |
Cup Source Inc.
2847 Industrial Blvd, Suite 120
Cleveland, OH 44115
United States
For general inquiries: info@cupsourcing.com
For support: support@cupsourcing.com
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.
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.
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.
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.
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.
Our team is standing by to help you find the right products and pricing for your business.
📞 Call +1 (800) 555-0192