Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>PedalWear Pro | Custom Cycling Apparel for Clubs & Associations</title> | |
<script src="https://cdn.tailwindcss.com"></script> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
<style> | |
.gradient-bg { | |
background: linear-gradient(135deg, #3b82f6 0%, #10b981 100%); | |
} | |
.custom-shadow { | |
box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.1); | |
} | |
.logo-preview { | |
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200" fill="none"><rect width="200" height="200" fill="%23f3f4f6"/><text x="100" y="100" font-family="Arial" font-size="20" fill="%236b7280" text-anchor="middle" dominant-baseline="middle">Your Logo Here</text></svg>'); | |
background-size: contain; | |
background-repeat: no-repeat; | |
background-position: center; | |
} | |
.sponsor-preview { | |
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="100" viewBox="0 0 200 100" fill="none"><rect width="200" height="100" fill="%23f3f4f6"/><text x="100" y="50" font-family="Arial" font-size="16" fill="%236b7280" text-anchor="middle" dominant-baseline="middle">Sponsor Logo Here</text></svg>'); | |
background-size: contain; | |
background-repeat: no-repeat; | |
background-position: center; | |
} | |
.product-preview { | |
transition: all 0.3s ease; | |
} | |
.product-preview:hover { | |
transform: translateY(-5px); | |
} | |
.fabric-sample { | |
transition: all 0.2s ease; | |
} | |
.fabric-sample:hover { | |
transform: scale(1.05); | |
} | |
.fabric-sample.selected { | |
border: 3px solid #3b82f6; | |
} | |
.cut-option { | |
transition: all 0.2s ease; | |
} | |
.cut-option:hover { | |
transform: scale(1.03); | |
} | |
.cut-option.selected { | |
border: 3px solid #10b981; | |
} | |
</style> | |
</head> | |
<body class="font-sans bg-gray-50"> | |
<!-- Navigation --> | |
<nav class="bg-white shadow-sm"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="flex justify-between h-16"> | |
<div class="flex items-center"> | |
<div class="flex-shrink-0 flex items-center"> | |
<i class="fas fa-bicycle text-blue-500 text-2xl mr-2"></i> | |
<span class="text-xl font-bold text-gray-900">PedalWear Pro</span> | |
</div> | |
</div> | |
<div class="hidden sm:ml-6 sm:flex sm:items-center"> | |
<a href="#features" class="px-3 py-2 rounded-md text-sm font-medium text-gray-700 hover:text-blue-600">Features</a> | |
<a href="#customize" class="px-3 py-2 rounded-md text-sm font-medium text-gray-700 hover:text-blue-600">Customize</a> | |
<a href="#testimonials" class="px-3 py-2 rounded-md text-sm font-medium text-gray-700 hover:text-blue-600">Testimonials</a> | |
<a href="#contact" class="px-3 py-2 rounded-md text-sm font-medium text-gray-700 hover:text-blue-600">Contact</a> | |
</div> | |
<div class="flex items-center"> | |
<button class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-md text-sm font-medium"> | |
Get Started | |
</button> | |
</div> | |
</div> | |
</div> | |
</nav> | |
<!-- Hero Section --> | |
<div class="gradient-bg text-white"> | |
<div class="max-w-7xl mx-auto py-16 px-4 sm:py-24 sm:px-6 lg:px-8"> | |
<div class="text-center"> | |
<h1 class="text-4xl font-extrabold tracking-tight sm:text-5xl lg:text-6xl"> | |
Custom Cycling Apparel for Your Club | |
</h1> | |
<p class="mt-6 max-w-lg mx-auto text-xl"> | |
High-performance, customizable cycling wear designed specifically for cycling associations and amateur clubs. | |
</p> | |
<div class="mt-10"> | |
<a href="#customize" class="inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md text-blue-700 bg-white hover:bg-gray-50"> | |
Design Your Kit Now | |
<i class="fas fa-arrow-right ml-2"></i> | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Features Section --> | |
<div id="features" class="py-12 bg-white"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="lg:text-center"> | |
<h2 class="text-base text-blue-600 font-semibold tracking-wide uppercase">Features</h2> | |
<p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl"> | |
Built for Performance and Team Spirit | |
</p> | |
</div> | |
<div class="mt-10"> | |
<div class="grid grid-cols-1 gap-10 sm:grid-cols-2 lg:grid-cols-3"> | |
<div class="bg-gray-50 p-6 rounded-lg custom-shadow"> | |
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white"> | |
<i class="fas fa-wind text-xl"></i> | |
</div> | |
<div class="mt-5"> | |
<h3 class="text-lg font-medium text-gray-900">Aerodynamic Fabrics</h3> | |
<p class="mt-2 text-base text-gray-500"> | |
Our advanced fabrics reduce drag and improve performance while maintaining breathability. | |
</p> | |
</div> | |
</div> | |
<div class="bg-gray-50 p-6 rounded-lg custom-shadow"> | |
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-green-500 text-white"> | |
<i class="fas fa-tshirt text-xl"></i> | |
</div> | |
<div class="mt-5"> | |
<h3 class="text-lg font-medium text-gray-900">Full Customization</h3> | |
<p class="mt-2 text-base text-gray-500"> | |
Choose colors, cuts, and add your club logo and sponsors exactly where you want them. | |
</p> | |
</div> | |
</div> | |
<div class="bg-gray-50 p-6 rounded-lg custom-shadow"> | |
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white"> | |
<i class="fas fa-users text-xl"></i> | |
</div> | |
<div class="mt-5"> | |
<h3 class="text-lg font-medium text-gray-900">Bulk Order Discounts</h3> | |
<p class="mt-2 text-base text-gray-500"> | |
Special pricing for clubs and associations ordering multiple uniforms. | |
</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Customization Form --> | |
<div id="customize" class="py-16 bg-gray-50"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="text-center mb-12"> | |
<h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl"> | |
Design Your Club's Cycling Apparel | |
</h2> | |
<p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto"> | |
Customize every detail to match your team's identity and performance needs. | |
</p> | |
</div> | |
<div class="bg-white shadow rounded-lg overflow-hidden"> | |
<div class="px-6 py-8 sm:p-10"> | |
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12"> | |
<!-- Product Preview --> | |
<div class="space-y-8"> | |
<div class="border-2 border-gray-200 rounded-lg p-4"> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Jersey Preview</h3> | |
<div class="product-preview bg-gray-100 rounded-lg h-64 flex items-center justify-center"> | |
<img id="jersey-preview" src="https://via.placeholder.com/300x400?text=Your+Design+Here" alt="Jersey Preview" class="max-h-full max-w-full"> | |
</div> | |
</div> | |
<div class="border-2 border-gray-200 rounded-lg p-4"> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Bib Shorts Preview</h3> | |
<div class="product-preview bg-gray-100 rounded-lg h-64 flex items-center justify-center"> | |
<img id="shorts-preview" src="https://via.placeholder.com/300x400?text=Your+Design+Here" alt="Shorts Preview" class="max-h-full max-w-full"> | |
</div> | |
</div> | |
</div> | |
<!-- Customization Form --> | |
<div> | |
<form class="space-y-6"> | |
<!-- Club Information --> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Club Information</h3> | |
<div class="grid grid-cols-1 gap-4"> | |
<div> | |
<label for="club-name" class="block text-sm font-medium text-gray-700">Club/Association Name</label> | |
<input type="text" id="club-name" name="club-name" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label for="contact-name" class="block text-sm font-medium text-gray-700">Contact Person</label> | |
<input type="text" id="contact-name" name="contact-name" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label for="email" class="block text-sm font-medium text-gray-700">Email</label> | |
<input type="email" id="email" name="email" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
</div> | |
</div> | |
<!-- Fabric Selection --> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Fabric Selection</h3> | |
<div class="grid grid-cols-3 gap-4"> | |
<div class="fabric-sample p-2 border rounded-lg cursor-pointer" data-fabric="lightweight"> | |
<div class="h-16 bg-gradient-to-r from-blue-100 to-blue-200 rounded"></div> | |
<p class="text-center mt-2 text-sm">Lightweight</p> | |
</div> | |
<div class="fabric-sample p-2 border rounded-lg cursor-pointer" data-fabric="aero"> | |
<div class="h-16 bg-gradient-to-r from-gray-100 to-gray-300 rounded"></div> | |
<p class="text-center mt-2 text-sm">Aero</p> | |
</div> | |
<div class="fabric-sample p-2 border rounded-lg cursor-pointer" data-fabric="thermal"> | |
<div class="h-16 bg-gradient-to-r from-red-100 to-red-200 rounded"></div> | |
<p class="text-center mt-2 text-sm">Thermal</p> | |
</div> | |
</div> | |
<input type="hidden" id="selected-fabric" name="fabric"> | |
</div> | |
<!-- Cut Selection --> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Cut Style</h3> | |
<div class="grid grid-cols-2 gap-4"> | |
<div class="cut-option p-4 border rounded-lg cursor-pointer" data-cut="race"> | |
<div class="flex items-center"> | |
<i class="fas fa-tachometer-alt text-blue-500 mr-2"></i> | |
<span>Race Fit</span> | |
</div> | |
<p class="text-xs text-gray-500 mt-1">Tight, aerodynamic cut</p> | |
</div> | |
<div class="cut-option p-4 border rounded-lg cursor-pointer" data-cut="club"> | |
<div class="flex items-center"> | |
<i class="fas fa-users text-green-500 mr-2"></i> | |
<span>Club Fit</span> | |
</div> | |
<p class="text-xs text-gray-500 mt-1">Slightly looser for comfort</p> | |
</div> | |
</div> | |
<input type="hidden" id="selected-cut" name="cut"> | |
</div> | |
<!-- Color Selection --> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Color Scheme</h3> | |
<div class="grid grid-cols-5 gap-2"> | |
<div class="color-option h-8 rounded-full bg-blue-600 cursor-pointer" data-color="blue-600"></div> | |
<div class="color-option h-8 rounded-full bg-red-600 cursor-pointer" data-color="red-600"></div> | |
<div class="color-option h-8 rounded-full bg-green-600 cursor-pointer" data-color="green-600"></div> | |
<div class="color-option h-8 rounded-full bg-yellow-500 cursor-pointer" data-color="yellow-500"></div> | |
<div class="color-option h-8 rounded-full bg-black cursor-pointer" data-color="black"></div> | |
<div class="color-option h-8 rounded-full bg-white border border-gray-300 cursor-pointer" data-color="white"></div> | |
<div class="color-option h-8 rounded-full bg-purple-600 cursor-pointer" data-color="purple-600"></div> | |
<div class="color-option h-8 rounded-full bg-pink-500 cursor-pointer" data-color="pink-500"></div> | |
<div class="color-option h-8 rounded-full bg-indigo-600 cursor-pointer" data-color="indigo-600"></div> | |
<div class="color-option h-8 rounded-full bg-gray-600 cursor-pointer" data-color="gray-600"></div> | |
</div> | |
<input type="hidden" id="primary-color" name="primary-color"> | |
<input type="hidden" id="secondary-color" name="secondary-color"> | |
<div class="mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2"> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">Primary Color</label> | |
<input type="text" id="primary-color-display" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 bg-gray-100" readonly> | |
</div> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">Secondary Color</label> | |
<input type="text" id="secondary-color-display" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 bg-gray-100" readonly> | |
</div> | |
</div> | |
</div> | |
<!-- Logo Upload --> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Club Logo</h3> | |
<div class="flex items-center justify-center w-full"> | |
<label for="logo-upload" class="flex flex-col items-center justify-center w-full h-32 border-2 border-gray-300 border-dashed rounded-lg cursor-pointer bg-gray-50 hover:bg-gray-100"> | |
<div class="flex flex-col items-center justify-center pt-5 pb-6"> | |
<i class="fas fa-cloud-upload-alt text-gray-400 text-3xl mb-2"></i> | |
<p class="mb-2 text-sm text-gray-500"><span class="font-semibold">Click to upload</span> or drag and drop</p> | |
<p class="text-xs text-gray-500">SVG, PNG, JPG (MAX. 5MB)</p> | |
</div> | |
<input id="logo-upload" type="file" class="hidden" accept="image/*" /> | |
</label> | |
</div> | |
<div class="mt-4"> | |
<label class="block text-sm font-medium text-gray-700">Logo Placement</label> | |
<select id="logo-placement" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
<option value="left-chest">Left Chest</option> | |
<option value="right-chest">Right Chest</option> | |
<option value="center-chest">Center Chest</option> | |
<option value="left-sleeve">Left Sleeve</option> | |
<option value="right-sleeve">Right Sleeve</option> | |
<option value="back">Back</option> | |
</select> | |
</div> | |
<div class="mt-4 logo-preview h-24 w-full border border-gray-200 rounded-md"></div> | |
</div> | |
<!-- Sponsors --> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Sponsor Logos</h3> | |
<div id="sponsor-fields"> | |
<div class="sponsor-field mb-4"> | |
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2"> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">Sponsor Name</label> | |
<input type="text" name="sponsor-name[]" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">Placement</label> | |
<select name="sponsor-placement[]" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
<option value="left-sleeve">Left Sleeve</option> | |
<option value="right-sleeve">Right Sleeve</option> | |
<option value="back">Back</option> | |
<option value="chest">Chest</option> | |
<option value="shoulder">Shoulder</option> | |
</select> | |
</div> | |
</div> | |
<div class="mt-2"> | |
<label class="block text-sm font-medium text-gray-700">Logo</label> | |
<div class="flex items-center"> | |
<input type="file" name="sponsor-logo[]" class="py-2 px-3 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 w-full"> | |
</div> | |
</div> | |
<div class="mt-2 sponsor-preview h-16 w-full border border-gray-200 rounded-md"></div> | |
</div> | |
</div> | |
<button type="button" id="add-sponsor" class="mt-2 inline-flex items-center px-3 py-1 border border-gray-300 shadow-sm text-sm leading-4 font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> | |
<i class="fas fa-plus mr-1"></i> Add Another Sponsor | |
</button> | |
</div> | |
<!-- Size Quantities --> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900 mb-4">Size Quantities</h3> | |
<div class="grid grid-cols-2 sm:grid-cols-4 gap-4"> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">XS</label> | |
<input type="number" min="0" name="xs" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">S</label> | |
<input type="number" min="0" name="s" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">M</label> | |
<input type="number" min="0" name="m" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">L</label> | |
<input type="number" min="0" name="l" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">XL</label> | |
<input type="number" min="0" name="xl" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">XXL</label> | |
<input type="number" min="0" name="xxl" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
</div> | |
</div> | |
<!-- Submit Button --> | |
<div class="pt-4"> | |
<button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> | |
Request Quote for Your Club | |
</button> | |
</div> | |
</form> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Testimonials --> | |
<div id="testimonials" class="py-16 bg-white"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="lg:text-center mb-12"> | |
<h2 class="text-base text-blue-600 font-semibold tracking-wide uppercase">Testimonials</h2> | |
<p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl"> | |
What Cycling Clubs Say About Us | |
</p> | |
</div> | |
<div class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3"> | |
<div class="bg-gray-50 p-6 rounded-lg custom-shadow"> | |
<div class="flex items-center mb-4"> | |
<div class="flex-shrink-0"> | |
<img class="h-10 w-10 rounded-full" src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt=""> | |
</div> | |
<div class="ml-3"> | |
<p class="text-sm font-medium text-gray-900">Sarah Johnson</p> | |
<p class="text-sm text-gray-500">Toronto Cycling Club</p> | |
</div> | |
</div> | |
<p class="text-gray-600"> | |
"The custom jerseys we ordered for our club were perfect! The quality is outstanding and the customization options allowed us to perfectly represent our club's identity." | |
</p> | |
<div class="mt-4 flex"> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
</div> | |
</div> | |
<div class="bg-gray-50 p-6 rounded-lg custom-shadow"> | |
<div class="flex items-center mb-4"> | |
<div class="flex-shrink-0"> | |
<img class="h-10 w-10 rounded-full" src="https://images.unsplash.com/photo-1519244703995-f4e0f30006d5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt=""> | |
</div> | |
<div class="ml-3"> | |
<p class="text-sm font-medium text-gray-900">Michael Chen</p> | |
<p class="text-sm text-gray-500">Vancouver Cycling Association</p> | |
</div> | |
</div> | |
<p class="text-gray-600"> | |
"Working with PedalWear Pro was seamless. They accommodated all our sponsor logos and delivered our order ahead of schedule. The aero fabric has made a noticeable difference in our race performance." | |
</p> | |
<div class="mt-4 flex"> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
</div> | |
</div> | |
<div class="bg-gray-50 p-6 rounded-lg custom-shadow"> | |
<div class="flex items-center mb-4"> | |
<div class="flex-shrink-0"> | |
<img class="h-10 w-10 rounded-full" src="https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt=""> | |
</div> | |
<div class="ml-3"> | |
<p class="text-sm font-medium text-gray-900">David Rodriguez</p> | |
<p class="text-sm text-gray-500">Montreal Amateur Cycling Team</p> | |
</div> | |
</div> | |
<p class="text-gray-600"> | |
"The club fit option was perfect for our recreational riders, while still looking professional. Our members love the comfort and the ability to show off our team colors. Will definitely order again!" | |
</p> | |
<div class="mt-4 flex"> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star text-yellow-400"></i> | |
<i class="fas fa-star-half-alt text-yellow-400"></i> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- CTA Section --> | |
<div class="bg-blue-700"> | |
<div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:py-16 lg:px-8 lg:flex lg:items-center lg:justify-between"> | |
<h2 class="text-3xl font-extrabold tracking-tight text-white sm:text-4xl"> | |
<span class="block">Ready to outfit your club?</span> | |
<span class="block text-blue-200">Get started with your custom design today.</span> | |
</h2> | |
<div class="mt-8 flex lg:mt-0 lg:flex-shrink-0"> | |
<div class="inline-flex rounded-md shadow"> | |
<a href="#customize" class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-blue-600 bg-white hover:bg-blue-50"> | |
Start Designing | |
</a> | |
</div> | |
<div class="ml-3 inline-flex rounded-md shadow"> | |
<a href="#contact" class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 bg-opacity-60 hover:bg-opacity-70"> | |
Contact Us | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Contact Section --> | |
<div id="contact" class="py-16 bg-gray-50"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="lg:text-center mb-12"> | |
<h2 class="text-base text-blue-600 font-semibold tracking-wide uppercase">Contact</h2> | |
<p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl"> | |
Get in Touch | |
</p> | |
<p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto"> | |
Have questions about our custom cycling apparel? Our team is here to help. | |
</p> | |
</div> | |
<div class="grid grid-cols-1 gap-12 lg:grid-cols-2"> | |
<div> | |
<div class="bg-white shadow rounded-lg overflow-hidden"> | |
<div class="px-6 py-8 sm:p-10"> | |
<h3 class="text-lg font-medium text-gray-900 mb-6">Send us a message</h3> | |
<form class="space-y-6"> | |
<div> | |
<label for="contact-name" class="block text-sm font-medium text-gray-700">Name</label> | |
<input type="text" id="contact-name" name="contact-name" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label for="contact-email" class="block text-sm font-medium text-gray-700">Email</label> | |
<input type="email" id="contact-email" name="contact-email" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label for="contact-subject" class="block text-sm font-medium text-gray-700">Subject</label> | |
<input type="text" id="contact-subject" name="contact-subject" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label for="contact-message" class="block text-sm font-medium text-gray-700">Message</label> | |
<textarea id="contact-message" name="contact-message" rows="4" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"></textarea> | |
</div> | |
<div> | |
<button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> | |
Send Message | |
</button> | |
</div> | |
</form> | |
</div> | |
</div> | |
</div> | |
<div> | |
<div class="bg-white shadow rounded-lg overflow-hidden"> | |
<div class="px-6 py-8 sm:p-10"> | |
<h3 class="text-lg font-medium text-gray-900 mb-6">Contact Information</h3> | |
<div class="space-y-4"> | |
<div class="flex"> | |
<div class="flex-shrink-0"> | |
<i class="fas fa-map-marker-alt text-blue-500"></i> | |
</div> | |
<div class="ml-3"> | |
<p class="text-sm font-medium text-gray-900">Address</p> | |
<p class="text-sm text-gray-500">123 Cycling Lane, Suite 100<br>Toronto, ON M5V 2H1</p> | |
</div> | |
</div> | |
<div class="flex"> | |
<div class="flex-shrink-0"> | |
<i class="fas fa-phone-alt text-blue-500"></i> | |
</div> | |
<div class="ml-3"> | |
<p class="text-sm font-medium text-gray-900">Phone</p> | |
<p class="text-sm text-gray-500">+1 (555) 123-4567</p> | |
</div> | |
</div> | |
<div class="flex"> | |
<div class="flex-shrink-0"> | |
<i class="fas fa-envelope text-blue-500"></i> | |
</div> | |
<div class="ml-3"> | |
<p class="text-sm font-medium text-gray-900">Email</p> | |
<p class="text-sm text-gray-500">[email protected]</p> | |
</div> | |
</div> | |
<div class="flex"> | |
<div class="flex-shrink-0"> | |
<i class="fas fa-clock text-blue-500"></i> | |
</div> | |
<div class="ml-3"> | |
<p class="text-sm font-medium text-gray-900">Hours</p> | |
<p class="text-sm text-gray-500">Monday - Friday: 9am - 5pm EST</p> | |
</div> | |
</div> | |
</div> | |
<div class="mt-8"> | |
<h4 class="text-sm font-medium text-gray-900 mb-3">Follow Us</h4> | |
<div class="flex space-x-4"> | |
<a href="#" class="text-gray-400 hover:text-blue-500"> | |
<i class="fab fa-facebook-f text-xl"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-blue-400"> | |
<i class="fab fa-twitter text-xl"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-pink-500"> | |
<i class="fab fa-instagram text-xl"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-blue-700"> | |
<i class="fab fa-linkedin-in text-xl"></i> | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Footer --> | |
<footer class="bg-gray-800"> | |
<div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:px-8"> | |
<div class="grid grid-cols-2 md:grid-cols-4 gap-8"> | |
<div> | |
<h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Products</h3> | |
<ul class="mt-4 space-y-2"> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Jerseys</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Bib Shorts</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Jackets</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Accessories</a></li> | |
</ul> | |
</div> | |
<div> | |
<h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Company</h3> | |
<ul class="mt-4 space-y-2"> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">About</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Blog</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Careers</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Press</a></li> | |
</ul> | |
</div> | |
<div> | |
<h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Support</h3> | |
<ul class="mt-4 space-y-2"> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Contact</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">FAQs</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Shipping</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Returns</a></li> | |
</ul> | |
</div> | |
<div> | |
<h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Legal</h3> | |
<ul class="mt-4 space-y-2"> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Privacy</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Terms</a></li> | |
<li><a href="#" class="text-base text-gray-400 hover:text-white">Cookie Policy</a></li> | |
</ul> | |
</div> | |
</div> | |
<div class="mt-8 border-t border-gray-700 pt-8 md:flex md:items-center md:justify-between"> | |
<div class="flex space-x-6 md:order-2"> | |
<a href="#" class="text-gray-400 hover:text-gray-300"> | |
<i class="fab fa-facebook-f"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-gray-300"> | |
<i class="fab fa-instagram"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-gray-300"> | |
<i class="fab fa-twitter"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-gray-300"> | |
<i class="fab fa-linkedin-in"></i> | |
</a> | |
</div> | |
<p class="mt-8 text-base text-gray-400 md:mt-0 md:order-1"> | |
© 2023 PedalWear Pro. All rights reserved. | |
</p> | |
</div> | |
</div> | |
</footer> | |
<script> | |
document.addEventListener('DOMContentLoaded', function() { | |
// Fabric selection | |
const fabricSamples = document.querySelectorAll('.fabric-sample'); | |
fabricSamples.forEach(sample => { | |
sample.addEventListener('click', function() { | |
fabricSamples.forEach(s => s.classList.remove('selected')); | |
this.classList.add('selected'); | |
document.getElementById('selected-fabric').value = this.dataset.fabric; | |
}); | |
}); | |
// Cut selection | |
const cutOptions = document.querySelectorAll('.cut-option'); | |
cutOptions.forEach(option => { | |
option.addEventListener('click', function() { | |
cutOptions.forEach(o => o.classList.remove('selected')); | |
this.classList.add('selected'); | |
document.getElementById('selected-cut').value = this.dataset.cut; | |
}); | |
}); | |
// Color selection | |
const colorOptions = document.querySelectorAll('.color-option'); | |
let primaryColor = ''; | |
let secondaryColor = ''; | |
colorOptions.forEach(option => { | |
option.addEventListener('click', function() { | |
if (!primaryColor) { | |
primaryColor = this.dataset.color; | |
document.getElementById('primary-color').value = primaryColor; | |
document.getElementById('primary-color-display').value = getColorName(primaryColor); | |
this.classList.add('ring-2', 'ring-offset-2', 'ring-blue-500'); | |
} else if (!secondaryColor && this.dataset.color !== primaryColor) { | |
secondaryColor = this.dataset.color; | |
document.getElementById('secondary-color').value = secondaryColor; | |
document.getElementById('secondary-color-display').value = getColorName(secondaryColor); | |
this.classList.add('ring-2', 'ring-offset-2', 'ring-green-500'); | |
} else if (this.dataset.color === primaryColor) { | |
// Reselect primary color | |
document.querySelector(`.color-option[data-color="${primaryColor}"]`).classList.remove('ring-2', 'ring-offset-2', 'ring-blue-500'); | |
primaryColor = ''; | |
document.getElementById('primary-color').value = ''; | |
document.getElementById('primary-color-display').value = ''; | |
} else if (this.dataset.color === secondaryColor) { | |
// Reselect secondary color | |
document.querySelector(`.color-option[data-color="${secondaryColor}"]`).classList.remove('ring-2', 'ring-offset-2', 'ring-green-500'); | |
secondaryColor = ''; | |
document.getElementById('secondary-color').value = ''; | |
document.getElementById('secondary-color-display').value = ''; | |
} | |
}); | |
}); | |
function getColorName(colorClass) { | |
const colorMap = { | |
'blue-600': 'Blue', | |
'red-600': 'Red', | |
'green-600': 'Green', | |
'yellow-500': 'Yellow', | |
'black': 'Black', | |
'white': 'White', | |
'purple-600': 'Purple', | |
'pink-500': 'Pink', | |
'indigo-600': 'Indigo', | |
'gray-600': 'Gray' | |
}; | |
return colorMap[colorClass] || colorClass; | |
} | |
// Logo upload preview | |
const logoUpload = document.getElementById('logo-upload'); | |
const logoPreview = document.querySelector('.logo-preview'); | |
logoUpload.addEventListener('change', function(e) { | |
const file = e.target.files[0]; | |
if (file) { | |
const reader = new FileReader(); | |
reader.onload = function(e) { | |
logoPreview.style.backgroundImage = `url(${e.target.result})`; | |
}; | |
reader.readAsDataURL(file); | |
} | |
}); | |
// Add sponsor fields | |
const addSponsorBtn = document.getElementById('add-sponsor'); | |
const sponsorFields = document.getElementById('sponsor-fields'); | |
addSponsorBtn.addEventListener('click', function() { | |
const newField = document.createElement('div'); | |
newField.className = 'sponsor-field mb-4'; | |
newField.innerHTML = ` | |
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2"> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">Sponsor Name</label> | |
<input type="text" name="sponsor-name[]" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
</div> | |
<div> | |
<label class="block text-sm font-medium text-gray-700">Placement</label> | |
<select name="sponsor-placement[]" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500"> | |
<option value="left-sleeve">Left Sleeve</option> | |
<option value="right-sleeve">Right Sleeve</option> | |
<option value="back">Back</option> | |
<option value="chest">Chest</option> | |
<option value="shoulder">Shoulder</option> | |
</select> | |
</div> | |
</div> | |
<div class="mt-2"> | |
<label class="block text-sm font-medium text-gray-700">Logo</label> | |
<div class="flex items-center"> | |
<input type="file" name="sponsor-logo[]" class="py-2 px-3 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 w-full"> | |
</div> | |
</div> | |
<div class="mt-2 sponsor-preview h-16 w-full border border-gray-200 rounded-md"></div> | |
<button type="button" class="remove-sponsor mt-2 inline-flex items-center px-2 py-1 border border-gray-300 shadow-sm text-xs leading-4 font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500"> | |
<i class="fas fa-trash mr-1"></i> Remove Sponsor | |
</button> | |
`; | |
sponsorFields.appendChild(newField); | |
// Add event listener for the new sponsor logo upload | |
const newFileInput = newField.querySelector('input[type="file"]'); | |
const newPreview = newField.querySelector('.sponsor-preview'); | |
newFileInput.addEventListener('change', function(e) { | |
const file = e.target.files[0]; | |
if (file) { | |
const reader = new FileReader(); | |
reader.onload = function(e) { | |
newPreview.style.backgroundImage = `url(${e.target.result})`; | |
}; | |
reader.readAsDataURL(file); | |
} | |
}); | |
// Add event listener for remove button | |
const removeBtn = newField.querySelector('.remove-sponsor'); | |
removeBtn.addEventListener('click', function() { | |
sponsorFields.removeChild(newField); | |
}); | |
}); | |
// Smooth scrolling for anchor links | |
document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
anchor.addEventListener('click', function (e) { | |
e.preventDefault(); | |
document.querySelector(this.getAttribute('href')).scrollIntoView({ | |
behavior: 'smooth' | |
}); | |
}); | |
}); | |
}); | |
</script> | |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=fer2424/form-association" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
</html> |