Wine Stores in USA, Coolers and Cellar Guide

Explore wine stores across the USA, plus wine coolers, wine cellar information, and more helpful wine shopping resources.

<title>Contact Us - Wine Cellar Value-Added</title> <script src="https://cdn.tailwindcss.com"></script> <script> tailwind.config = { theme: { extend: { fontFamily: { sans: ['Inter', 'sans-serif'], }, colors: { brand: { 50: '#faf5f5', 100: '#f7e8e8', 500: '#8b0000', // Deep wine red 600: '#720000', 700: '#590000', 900: '#2c0000', } } } } } </script> <style> body { font-family: 'Inter', sans-serif; } .fade-in { animation: fadeIn 0.4s ease-in-out forwards; } @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } </style>
<div class="max-w-md w-full bg-white rounded-2xl shadow-xl border border-stone-100 overflow-hidden transition-all duration-300">
    
    <!-- Header Banner -->
    <div class="bg-gradient-to-r from-brand-900 to-brand-700 px-8 py-8 text-white text-center relative overflow-hidden">
        <div class="absolute inset-0 opacity-10 bg-[radial-gradient(#fff_1px,transparent_1px)] [background-size:16px_16px]"></div>
        <div class="relative z-10">
            <h1 class="text-2xl sm:text-3xl font-bold tracking-tight">Get in Touch</h1>
            <p class="text-stone-300 text-sm mt-2">Have a question? Send us a message and we'll respond promptly.</p>
        </div>
    </div>

    <!-- Form Body -->
    <div class="p-6 sm:p-8">
        <form id="contactForm" onsubmit="handleFormSubmit(event)" class="space-y-5" novalidate>
            
            <!-- Name Field -->
            <div>
                <label for="name" class="block text-xs font-semibold text-stone-700 uppercase tracking-wider mb-2">
                    Your Name <span class="text-rose-500">*</span>
                </label>
                <input 
                    type="text" 
                    id="name" 
                    name="name" 
                    required
                    placeholder="John Doe"
                    class="w-full px-4 py-3 rounded-lg border border-stone-200 focus:ring-2 focus:ring-brand-500 focus:border-brand-500 text-sm outline-none transition duration-200 placeholder:text-stone-400"
                >
                <p id="nameError" class="hidden text-xs text-rose-500 mt-1.5">Please enter your name.</p>
            </div>

            <!-- Email Field -->
            <div>
                <label for="email" class="block text-xs font-semibold text-stone-700 uppercase tracking-wider mb-2">
                    Email Address <span class="text-rose-500">*</span>
                </label>
                <input 
                    type="email" 
                    id="email" 
                    name="email" 
                    required
                    placeholder="you@example.com"
                    class="w-full px-4 py-3 rounded-lg border border-stone-200 focus:ring-2 focus:ring-brand-500 focus:border-brand-500 text-sm outline-none transition duration-200 placeholder:text-stone-400"
                >
                <p id="emailError" class="hidden text-xs text-rose-500 mt-1.5">Please enter a valid email address.</p>
            </div>

            <!-- Message Field -->
            <div>
                <label for="message" class="block text-xs font-semibold text-stone-700 uppercase tracking-wider mb-2">
                    Message <span class="text-rose-500">*</span>
                </label>
                <textarea 
                    id="message" 
                    name="message" 
                    rows="4" 
                    required
                    placeholder="How can we help you with you?"
                    class="w-full px-4 py-3 rounded-lg border border-stone-200 focus:ring-2 focus:ring-brand-500 focus:border-brand-500 text-sm outline-none transition duration-200 placeholder:text-stone-400 resize-none"
                ></textarea>
                <p id="messageError" class="hidden text-xs text-rose-500 mt-1.5">Please write your message.</p>
            </div>

            <!-- Submit Button -->
            <button 
                type="submit" 
                id="submitBtn"
                class="w-full bg-brand-600 hover:bg-brand-700 text-white font-medium py-3.5 px-6 rounded-lg transition duration-200 shadow-md hover:shadow-lg active:scale-[0.99] flex items-center justify-center space-x-2 cursor-pointer"
            >
                <span>Send Message</span>
                <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"></path>
                </svg>
            </button>
        </form>

        <!-- Success Confirmation Screen -->
        <div id="successState" class="hidden text-center py-6 fade-in space-y-5">
            <div class="w-16 h-16 bg-emerald-100 text-emerald-600 rounded-full flex items-center justify-center mx-auto">
                <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M5 13l4 4L19 7"></path>
                </svg>
            </div>

            <div>
                <h2 class="text-2xl font-bold text-stone-900">Message Sent!</h2>
                <p class="text-stone-600 text-sm mt-2 leading-relaxed">
                    Thank you for reaching out. Your submission has been recorded and queued for forwarding to <span class="font-semibold text-stone-800">slav@slavtech.com</span>.
                </p>
            </div>

            <div class="pt-2">
                <button 
                    type="button" 
                    onclick="resetForm()"
                    class="inline-flex items-center space-x-2 text-sm font-medium text-brand-600 hover:text-brand-700 underline underline-offset-4 cursor-pointer focus:outline-none"
                >
                    <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
                    </svg>
                    <span>Send another message</span>
                </button>
            </div>
        </div>

    </div>
</div>

<script>
    function validateEmail(email) {
        const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
        return re.test(email.toLowerCase());
    }

    function handleFormSubmit(event) {
        event.preventDefault();

        const nameInput = document.getElementById('name');
        const emailInput = document.getElementById('email');
        const messageInput = document.getElementById('message');

        const nameError = document.getElementById('nameError');
        const emailError = document.getElementById('emailError');
        const messageError = document.getElementById('messageError');

        let isValid = true;

        // Name validation
        if (!nameInput.value.trim()) {
            nameError.classList.remove('hidden');
            nameInput.classList.add('border-rose-400');
            isValid = false;
        } else {
            nameError.classList.add('hidden');
            nameInput.classList.remove('border-rose-400');
        }

        // Email validation
        if (!emailInput.value.trim() || !validateEmail(emailInput.value.trim())) {
            emailError.classList.remove('hidden');
            emailInput.classList.add('border-rose-400');
            isValid = false;
        } else {
            emailError.classList.add('hidden');
            emailInput.classList.remove('border-rose-400');
        }

        // Message validation
        if (!messageInput.value.trim()) {
            messageError.classList.remove('hidden');
            messageInput.classList.add('border-rose-400');
            isValid = false;
        } else {
            messageError.classList.add('hidden');
            messageInput.classList.remove('border-rose-400');
        }

        if (isValid) {
            // Hide form and show success state
            document.getElementById('contactForm').classList.add('hidden');
            document.getElementById('successState').classList.remove('hidden');
        }
    }

    function resetForm() {
        // Reset input values
        document.getElementById('contactForm').reset();

        // Clear errors
        document.querySelectorAll('[id$="Error"]').forEach(el => el.classList.add('hidden'));
        document.querySelectorAll('input, textarea').forEach(el => el.classList.remove('border-rose-400'));

        // Toggle view state
        document.getElementById('successState').classList.add('hidden');
        document.getElementById('contactForm').classList.remove('hidden');
    }
</script>
``