Spaces:
Running
Running
Crea una portada de roladoras de lamina kr18
Browse files- README.md +7 -4
- components/footer.js +95 -0
- components/hero.js +104 -0
- components/navbar.js +91 -0
- index.html +157 -19
- script.js +90 -0
- style.css +66 -19
README.md
CHANGED
|
@@ -1,10 +1,13 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji: π
|
| 4 |
colorFrom: green
|
| 5 |
-
colorTo:
|
|
|
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: KR181 Roll Master π
|
|
|
|
| 3 |
colorFrom: green
|
| 4 |
+
colorTo: blue
|
| 5 |
+
emoji: π³
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
tags:
|
| 9 |
+
- deepsite-v3
|
| 10 |
---
|
| 11 |
|
| 12 |
+
# Welcome to your new DeepSite project!
|
| 13 |
+
This project was created with [DeepSite](https://huggingface.co/deepsite).
|
components/footer.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
class CustomFooter extends HTMLElement {
|
| 2 |
+
connectedCallback() {
|
| 3 |
+
this.attachShadow({ mode: 'open' });
|
| 4 |
+
this.shadowRoot.innerHTML = `
|
| 5 |
+
<style>
|
| 6 |
+
.footer {
|
| 7 |
+
background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
|
| 8 |
+
color: white;
|
| 9 |
+
}
|
| 10 |
+
|
| 11 |
+
.footer-link {
|
| 12 |
+
transition: color 0.3s ease;
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
.footer-link:hover {
|
| 16 |
+
color: #60a5fa;
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
.social-icon {
|
| 20 |
+
transition: transform 0.3s ease;
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
.social-icon:hover {
|
| 24 |
+
transform: scale(1.1);
|
| 25 |
+
}
|
| 26 |
+
</style>
|
| 27 |
+
<footer class="footer">
|
| 28 |
+
<div class="max-w-7xl mx-auto px-4 py-12">
|
| 29 |
+
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
|
| 30 |
+
<div>
|
| 31 |
+
<h3 class="text-2xl font-bold mb-4 text-blue-400">KR181</h3>
|
| 32 |
+
<p class="text-gray-300 mb-4">LΓderes en maquinaria industrial para laminado de metales</p>
|
| 33 |
+
<div class="flex space-x-4">
|
| 34 |
+
<a href="#" class="social-icon text-gray-400 hover:text-white">
|
| 35 |
+
<i data-feather="facebook" class="w-5 h-5"></i>
|
| 36 |
+
</a>
|
| 37 |
+
<a href="#" class="social-icon text-gray-400 hover:text-white">
|
| 38 |
+
<i data-feather="twitter" class="w-5 h-5"></i>
|
| 39 |
+
</a>
|
| 40 |
+
<a href="#" class="social-icon text-gray-400 hover:text-white">
|
| 41 |
+
<i data-feather="linkedin" class="w-5 h-5"></i>
|
| 42 |
+
</a>
|
| 43 |
+
</div>
|
| 44 |
+
</div>
|
| 45 |
+
<div>
|
| 46 |
+
<h4 class="text-lg font-semibold mb-4">Productos</h4>
|
| 47 |
+
<ul class="space-y-2">
|
| 48 |
+
<li><a href="#" class="footer-link text-gray-300 hover:text-white">Roladoras KR181</a></li>
|
| 49 |
+
<li><a href="#" class="footer-link text-gray-300 hover:text-white">Repuestos</a></li>
|
| 50 |
+
<li><a href="#" class="footer-link text-gray-300 hover:text-white">Servicio TΓ©cnico</a></li>
|
| 51 |
+
<li><a href="#" class="footer-link text-gray-300 hover:text-white">CapacitaciΓ³n</a></li>
|
| 52 |
+
</ul>
|
| 53 |
+
</div>
|
| 54 |
+
<div>
|
| 55 |
+
<h4 class="text-lg font-semibold mb-4">Empresa</h4>
|
| 56 |
+
<ul class="space-y-2">
|
| 57 |
+
<li><a href="#" class="footer-link text-gray-300 hover:text-white">Sobre Nosotros</a></li>
|
| 58 |
+
<li><a href="#" class="footer-link text-gray-300 hover:text-white">Historia</a></li>
|
| 59 |
+
<li><a href="#" class="footer-link text-gray-300 hover:text-white">Certificaciones</a></li>
|
| 60 |
+
<li><a href="#" class="footer-link text-gray-300 hover:text-white">Carreras</a></li>
|
| 61 |
+
</ul>
|
| 62 |
+
</div>
|
| 63 |
+
<div>
|
| 64 |
+
<h4 class="text-lg font-semibold mb-4">Contacto</h4>
|
| 65 |
+
<div class="space-y-3">
|
| 66 |
+
<div class="flex items-center space-x-2">
|
| 67 |
+
<i data-feather="phone" class="w-4 h-4 text-blue-400"></i>
|
| 68 |
+
<span class="text-gray-300">+1 (555) 123-4567</span>
|
| 69 |
+
</div>
|
| 70 |
+
<div class="flex items-center space-x-2">
|
| 71 |
+
<i data-feather="mail" class="w-4 h-4 text-blue-400"></i>
|
| 72 |
+
<span class="text-gray-300">[email protected]</span>
|
| 73 |
+
</div>
|
| 74 |
+
<div class="flex items-center space-x-2">
|
| 75 |
+
<i data-feather="map-pin" class="w-4 h-4 text-blue-400"></i>
|
| 76 |
+
<span class="text-gray-300">Industrial Park, Suite 100</span>
|
| 77 |
+
</div>
|
| 78 |
+
</div>
|
| 79 |
+
</div>
|
| 80 |
+
</div>
|
| 81 |
+
<div class="border-t border-gray-700 mt-8 pt-8 text-center">
|
| 82 |
+
<p class="text-gray-400">Β© 2024 KR181 Roladoras. Todos los derechos reservados.</p>
|
| 83 |
+
</div>
|
| 84 |
+
</div>
|
| 85 |
+
</footer>
|
| 86 |
+
`;
|
| 87 |
+
|
| 88 |
+
// Initialize feather icons
|
| 89 |
+
setTimeout(() => {
|
| 90 |
+
feather.replace();
|
| 91 |
+
}, 0);
|
| 92 |
+
}
|
| 93 |
+
}
|
| 94 |
+
|
| 95 |
+
customElements.define('custom-footer', CustomFooter);
|
components/hero.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
class CustomHero extends HTMLElement {
|
| 2 |
+
connectedCallback() {
|
| 3 |
+
this.attachShadow({ mode: 'open' });
|
| 4 |
+
this.shadowRoot.innerHTML = `
|
| 5 |
+
<style>
|
| 6 |
+
.hero {
|
| 7 |
+
background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
|
| 8 |
+
position: relative;
|
| 9 |
+
overflow: hidden;
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
.hero::before {
|
| 13 |
+
content: '';
|
| 14 |
+
position: absolute;
|
| 15 |
+
top: 0;
|
| 16 |
+
left: 0;
|
| 17 |
+
right: 0;
|
| 18 |
+
bottom: 0;
|
| 19 |
+
background: url('http://static.photos/industrial/1920x600/hero') center/cover;
|
| 20 |
+
opacity: 0.2;
|
| 21 |
+
z-index: 1;
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
.hero-content {
|
| 25 |
+
position: relative;
|
| 26 |
+
z-index: 2;
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
.hero-title {
|
| 30 |
+
animation: fadeInUp 1s ease-out;
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
.hero-subtitle {
|
| 34 |
+
animation: fadeInUp 1s ease-out 0.2s backwards;
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
.hero-buttons {
|
| 38 |
+
animation: fadeInUp 1s ease-out 0.4s backwards;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
@keyframes fadeInUp {
|
| 42 |
+
from {
|
| 43 |
+
opacity: 0;
|
| 44 |
+
transform: translateY(30px);
|
| 45 |
+
}
|
| 46 |
+
to {
|
| 47 |
+
opacity: 1;
|
| 48 |
+
transform: translateY(0);
|
| 49 |
+
}
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
.stat-card {
|
| 53 |
+
background: rgba(255, 255, 255, 0.1);
|
| 54 |
+
backdrop-filter: blur(10px);
|
| 55 |
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
| 56 |
+
}
|
| 57 |
+
</style>
|
| 58 |
+
<section id="home" class="hero py-24 lg:py-32">
|
| 59 |
+
<div class="hero-content max-w-7xl mx-auto px-4">
|
| 60 |
+
<div class="text-center mb-16">
|
| 61 |
+
<h1 class="hero-title text-4xl md:text-6xl font-bold text-white mb-6">
|
| 62 |
+
Roladoras de LΓ‘mina KR181
|
| 63 |
+
</h1>
|
| 64 |
+
<p class="hero-subtitle text-xl md:text-2xl text-blue-100 mb-8 max-w-3xl mx-auto">
|
| 65 |
+
PrecisiΓ³n alemana, potencia industrial. La soluciΓ³n definitiva para laminado de metales en su planta de producciΓ³n.
|
| 66 |
+
</p>
|
| 67 |
+
<div class="hero-buttons flex flex-col sm:flex-row gap-4 justify-center">
|
| 68 |
+
<button class="bg-white text-blue-600 px-8 py-4 rounded-lg font-semibold hover:bg-gray-100 transition-all transform hover:scale-105 shadow-lg">
|
| 69 |
+
<i data-feather="play-circle" class="inline w-5 h-5 mr-2"></i>
|
| 70 |
+
Ver DemostraciΓ³n
|
| 71 |
+
</button>
|
| 72 |
+
<button class="bg-transparent border-2 border-white text-white px-8 py-4 rounded-lg font-semibold hover:bg-white hover:text-blue-600 transition-all transform hover:scale-105">
|
| 73 |
+
<i data-feather="download" class="inline w-5 h-5 mr-2"></i>
|
| 74 |
+
Descargar CatΓ‘logo
|
| 75 |
+
</button>
|
| 76 |
+
</div>
|
| 77 |
+
</div>
|
| 78 |
+
|
| 79 |
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 max-w-4xl mx-auto">
|
| 80 |
+
<div class="stat-card rounded-xl p-6 text-center">
|
| 81 |
+
<div class="text-3xl font-bold text-white mb-2">500+</div>
|
| 82 |
+
<div class="text-blue-100">Unidades Instaladas</div>
|
| 83 |
+
</div>
|
| 84 |
+
<div class="stat-card rounded-xl p-6 text-center">
|
| 85 |
+
<div class="text-3xl font-bold text-white mb-2">98%</div>
|
| 86 |
+
<div class="text-blue-100">SatisfacciΓ³n Clientes</div>
|
| 87 |
+
</div>
|
| 88 |
+
<div class="stat-card rounded-xl p-6 text-center">
|
| 89 |
+
<div class="text-3xl font-bold text-white mb-2">24/7</div>
|
| 90 |
+
<div class="text-blue-100">Soporte TΓ©cnico</div>
|
| 91 |
+
</div>
|
| 92 |
+
</div>
|
| 93 |
+
</div>
|
| 94 |
+
</section>
|
| 95 |
+
`;
|
| 96 |
+
|
| 97 |
+
// Initialize feather icons
|
| 98 |
+
setTimeout(() => {
|
| 99 |
+
feather.replace();
|
| 100 |
+
}, 0);
|
| 101 |
+
}
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
customElements.define('custom-hero', CustomHero);
|
components/navbar.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
class CustomNavbar extends HTMLElement {
|
| 2 |
+
connectedCallback() {
|
| 3 |
+
this.attachShadow({ mode: 'open' });
|
| 4 |
+
this.shadowRoot.innerHTML = `
|
| 5 |
+
<style>
|
| 6 |
+
.navbar {
|
| 7 |
+
background: white;
|
| 8 |
+
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
|
| 9 |
+
}
|
| 10 |
+
|
| 11 |
+
.nav-link {
|
| 12 |
+
transition: color 0.3s ease;
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
.nav-link:hover {
|
| 16 |
+
color: #2563eb;
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
.mobile-menu {
|
| 20 |
+
display: none;
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
@media (max-width: 768px) {
|
| 24 |
+
.mobile-menu {
|
| 25 |
+
display: block;
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
.desktop-menu {
|
| 29 |
+
display: none;
|
| 30 |
+
}
|
| 31 |
+
}
|
| 32 |
+
</style>
|
| 33 |
+
<nav class="navbar sticky top-0 z-50">
|
| 34 |
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
| 35 |
+
<div class="flex justify-between items-center h-16">
|
| 36 |
+
<div class="flex items-center">
|
| 37 |
+
<div class="flex-shrink-0">
|
| 38 |
+
<h1 class="text-2xl font-bold text-blue-600">KR181</h1>
|
| 39 |
+
</div>
|
| 40 |
+
<div class="desktop-menu hidden md:block ml-10">
|
| 41 |
+
<div class="flex items-baseline space-x-8">
|
| 42 |
+
<a href="#home" class="nav-link text-gray-700 hover:text-blue-600 px-3 py-2 text-sm font-medium">Inicio</a>
|
| 43 |
+
<a href="#features" class="nav-link text-gray-700 hover:text-blue-600 px-3 py-2 text-sm font-medium">CaracterΓsticas</a>
|
| 44 |
+
<a href="#specifications" class="nav-link text-gray-700 hover:text-blue-600 px-3 py-2 text-sm font-medium">Especificaciones</a>
|
| 45 |
+
<a href="#gallery" class="nav-link text-gray-700 hover:text-blue-600 px-3 py-2 text-sm font-medium">GalerΓa</a>
|
| 46 |
+
<a href="#contact" class="nav-link text-gray-700 hover:text-blue-600 px-3 py-2 text-sm font-medium">Contacto</a>
|
| 47 |
+
</div>
|
| 48 |
+
</div>
|
| 49 |
+
</div>
|
| 50 |
+
<div class="hidden md:block">
|
| 51 |
+
<button class="bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition-colors">
|
| 52 |
+
Solicitar CotizaciΓ³n
|
| 53 |
+
</button>
|
| 54 |
+
</div>
|
| 55 |
+
<div class="mobile-menu md:hidden">
|
| 56 |
+
<button id="mobile-menu-button" class="text-gray-700 hover:text-blue-600 p-2">
|
| 57 |
+
<i data-feather="menu" class="w-6 h-6"></i>
|
| 58 |
+
</button>
|
| 59 |
+
</div>
|
| 60 |
+
</div>
|
| 61 |
+
</div>
|
| 62 |
+
<div id="mobile-menu" class="hidden md:hidden bg-white border-t">
|
| 63 |
+
<div class="px-2 pt-2 pb-3 space-y-1">
|
| 64 |
+
<a href="#home" class="block text-gray-700 hover:text-blue-600 px-3 py-2 text-base font-medium">Inicio</a>
|
| 65 |
+
<a href="#features" class="block text-gray-700 hover:text-blue-600 px-3 py-2 text-base font-medium">CaracterΓsticas</a>
|
| 66 |
+
<a href="#specifications" class="block text-gray-700 hover:text-blue-600 px-3 py-2 text-base font-medium">Especificaciones</a>
|
| 67 |
+
<a href="#gallery" class="block text-gray-700 hover:text-blue-600 px-3 py-2 text-base font-medium">GalerΓa</a>
|
| 68 |
+
<a href="#contact" class="block text-gray-700 hover:text-blue-600 px-3 py-2 text-base font-medium">Contacto</a>
|
| 69 |
+
</div>
|
| 70 |
+
</div>
|
| 71 |
+
</nav>
|
| 72 |
+
`;
|
| 73 |
+
|
| 74 |
+
// Initialize feather icons
|
| 75 |
+
setTimeout(() => {
|
| 76 |
+
feather.replace();
|
| 77 |
+
}, 0);
|
| 78 |
+
|
| 79 |
+
// Mobile menu toggle
|
| 80 |
+
const mobileMenuButton = this.shadowRoot.getElementById('mobile-menu-button');
|
| 81 |
+
const mobileMenu = this.shadowRoot.getElementById('mobile-menu');
|
| 82 |
+
|
| 83 |
+
if (mobileMenuButton && mobileMenu) {
|
| 84 |
+
mobileMenuButton.addEventListener('click', function() {
|
| 85 |
+
mobileMenu.classList.toggle('hidden');
|
| 86 |
+
});
|
| 87 |
+
}
|
| 88 |
+
}
|
| 89 |
+
}
|
| 90 |
+
|
| 91 |
+
customElements.define('custom-navbar', CustomNavbar);
|
index.html
CHANGED
|
@@ -1,19 +1,157 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="es">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>KR181 - Roladoras de LΓ‘mina Industriales</title>
|
| 7 |
+
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
|
| 8 |
+
<link rel="stylesheet" href="style.css">
|
| 9 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 10 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 11 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 12 |
+
<script src="components/navbar.js"></script>
|
| 13 |
+
<script src="components/footer.js"></script>
|
| 14 |
+
<script src="components/hero.js"></script>
|
| 15 |
+
</head>
|
| 16 |
+
<body class="bg-gray-50">
|
| 17 |
+
<custom-navbar></custom-navbar>
|
| 18 |
+
<custom-hero></custom-hero>
|
| 19 |
+
|
| 20 |
+
<!-- Features Section -->
|
| 21 |
+
<section class="py-20 px-4 bg-white">
|
| 22 |
+
<div class="max-w-7xl mx-auto">
|
| 23 |
+
<div class="text-center mb-16">
|
| 24 |
+
<h2 class="text-4xl font-bold text-gray-900 mb-4">CaracterΓsticas Principales</h2>
|
| 25 |
+
<p class="text-xl text-gray-600">DiseΓ±adas para mΓ‘xima eficiencia y precisiΓ³n</p>
|
| 26 |
+
</div>
|
| 27 |
+
<div class="grid md:grid-cols-3 gap-8">
|
| 28 |
+
<div class="bg-blue-50 p-8 rounded-xl hover:shadow-xl transition-shadow">
|
| 29 |
+
<div class="w-16 h-16 bg-blue-600 rounded-lg flex items-center justify-center mb-6">
|
| 30 |
+
<i data-feather="zap" class="w-8 h-8 text-white"></i>
|
| 31 |
+
</div>
|
| 32 |
+
<h3 class="text-2xl font-semibold text-gray-900 mb-4">Alta Potencia</h3>
|
| 33 |
+
<p class="text-gray-600">Motor de 15HP con capacidad para laminar hasta 6mm de espesor</p>
|
| 34 |
+
</div>
|
| 35 |
+
<div class="bg-blue-50 p-8 rounded-xl hover:shadow-xl transition-shadow">
|
| 36 |
+
<div class="w-16 h-16 bg-blue-600 rounded-lg flex items-center justify-center mb-6">
|
| 37 |
+
<i data-feather="settings" class="w-8 h-8 text-white"></i>
|
| 38 |
+
</div>
|
| 39 |
+
<h3 class="text-2xl font-semibold text-gray-900 mb-4">PrecisiΓ³n MilimΓ©trica</h3>
|
| 40 |
+
<p class="text-gray-600">Control digital con tolerancia de Β±0.1mm</p>
|
| 41 |
+
</div>
|
| 42 |
+
<div class="bg-blue-50 p-8 rounded-xl hover:shadow-xl transition-shadow">
|
| 43 |
+
<div class="w-16 h-16 bg-blue-600 rounded-lg flex items-center justify-center mb-6">
|
| 44 |
+
<i data-feather="shield" class="w-8 h-8 text-white"></i>
|
| 45 |
+
</div>
|
| 46 |
+
<h3 class="text-2xl font-semibold text-gray-900 mb-4">Seguridad Industrial</h3>
|
| 47 |
+
<p class="text-gray-600">Sistema de protecciΓ³n con parada de emergencia y sensores</p>
|
| 48 |
+
</div>
|
| 49 |
+
</div>
|
| 50 |
+
</div>
|
| 51 |
+
</section>
|
| 52 |
+
|
| 53 |
+
<!-- Specifications Section -->
|
| 54 |
+
<section class="py-20 px-4 bg-gray-100">
|
| 55 |
+
<div class="max-w-7xl mx-auto">
|
| 56 |
+
<div class="text-center mb-16">
|
| 57 |
+
<h2 class="text-4xl font-bold text-gray-900 mb-4">Especificaciones TΓ©cnicas</h2>
|
| 58 |
+
<p class="text-xl text-gray-600">KR181 - Referencia en la industria</p>
|
| 59 |
+
</div>
|
| 60 |
+
<div class="bg-white rounded-2xl shadow-xl p-8 md:p-12">
|
| 61 |
+
<div class="grid md:grid-cols-2 gap-8">
|
| 62 |
+
<div class="space-y-6">
|
| 63 |
+
<div class="flex justify-between items-center pb-4 border-b">
|
| 64 |
+
<span class="text-gray-600 font-medium">Capacidad de Laminado</span>
|
| 65 |
+
<span class="text-gray-900 font-semibold">6mm mΓ‘x</span>
|
| 66 |
+
</div>
|
| 67 |
+
<div class="flex justify-between items-center pb-4 border-b">
|
| 68 |
+
<span class="text-gray-600 font-medium">Ancho MΓ‘ximo</span>
|
| 69 |
+
<span class="text-gray-900 font-semibold">1800mm</span>
|
| 70 |
+
</div>
|
| 71 |
+
<div class="flex justify-between items-center pb-4 border-b">
|
| 72 |
+
<span class="text-gray-600 font-medium">DiΓ‘metro Rodillos</span>
|
| 73 |
+
<span class="text-gray-900 font-semibold">80mm</span>
|
| 74 |
+
</div>
|
| 75 |
+
<div class="flex justify-between items-center pb-4 border-b">
|
| 76 |
+
<span class="text-gray-600 font-medium">Potencia Motor</span>
|
| 77 |
+
<span class="text-gray-900 font-semibold">15 HP</span>
|
| 78 |
+
</div>
|
| 79 |
+
</div>
|
| 80 |
+
<div class="space-y-6">
|
| 81 |
+
<div class="flex justify-between items-center pb-4 border-b">
|
| 82 |
+
<span class="text-gray-600 font-medium">Velocidad de Laminado</span>
|
| 83 |
+
<span class="text-gray-900 font-semibold">5 m/min</span>
|
| 84 |
+
</div>
|
| 85 |
+
<div class="flex justify-between items-center pb-4 border-b">
|
| 86 |
+
<span class="text-gray-600 font-medium">Control</span>
|
| 87 |
+
<span class="text-gray-900 font-semibold">Digital PLC</span>
|
| 88 |
+
</div>
|
| 89 |
+
<div class="flex justify-between items-center pb-4 border-b">
|
| 90 |
+
<span class="text-gray-600 font-medium">Peso</span>
|
| 91 |
+
<span class="text-gray-900 font-semibold">2,500 kg</span>
|
| 92 |
+
</div>
|
| 93 |
+
<div class="flex justify-between items-center pb-4 border-b">
|
| 94 |
+
<span class="text-gray-600 font-medium">GarantΓa</span>
|
| 95 |
+
<span class="text-gray-900 font-semibold">2 aΓ±os</span>
|
| 96 |
+
</div>
|
| 97 |
+
</div>
|
| 98 |
+
</div>
|
| 99 |
+
</div>
|
| 100 |
+
</div>
|
| 101 |
+
</section>
|
| 102 |
+
|
| 103 |
+
<!-- Gallery Section -->
|
| 104 |
+
<section class="py-20 px-4 bg-white">
|
| 105 |
+
<div class="max-w-7xl mx-auto">
|
| 106 |
+
<div class="text-center mb-16">
|
| 107 |
+
<h2 class="text-4xl font-bold text-gray-900 mb-4">GalerΓa de Productos</h2>
|
| 108 |
+
<p class="text-xl text-gray-600">Conozca nuestras roladoras en acciΓ³n</p>
|
| 109 |
+
</div>
|
| 110 |
+
<div class="grid md:grid-cols-3 gap-6">
|
| 111 |
+
<div class="relative overflow-hidden rounded-xl group cursor-pointer">
|
| 112 |
+
<img src="http://static.photos/industrial/640x360/1" alt="Roladora KR181 Vista Frontal" class="w-full h-64 object-cover group-hover:scale-110 transition-transform duration-300">
|
| 113 |
+
<div class="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
| 114 |
+
<p class="text-white p-6 font-semibold">Vista Frontal</p>
|
| 115 |
+
</div>
|
| 116 |
+
</div>
|
| 117 |
+
<div class="relative overflow-hidden rounded-xl group cursor-pointer">
|
| 118 |
+
<img src="http://static.photos/technology/640x360/2" alt="Panel de Control" class="w-full h-64 object-cover group-hover:scale-110 transition-transform duration-300">
|
| 119 |
+
<div class="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
| 120 |
+
<p class="text-white p-6 font-semibold">Panel de Control</p>
|
| 121 |
+
</div>
|
| 122 |
+
</div>
|
| 123 |
+
<div class="relative overflow-hidden rounded-xl group cursor-pointer">
|
| 124 |
+
<img src="http://static.photos/industry/640x360/3" alt="OperaciΓ³n en Planta" class="w-full h-64 object-cover group-hover:scale-110 transition-transform duration-300">
|
| 125 |
+
<div class="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
| 126 |
+
<p class="text-white p-6 font-semibold">OperaciΓ³n en Planta</p>
|
| 127 |
+
</div>
|
| 128 |
+
</div>
|
| 129 |
+
</div>
|
| 130 |
+
</div>
|
| 131 |
+
</section>
|
| 132 |
+
|
| 133 |
+
<!-- CTA Section -->
|
| 134 |
+
<section class="py-20 px-4 bg-gradient-to-r from-blue-600 to-blue-700">
|
| 135 |
+
<div class="max-w-4xl mx-auto text-center">
|
| 136 |
+
<h2 class="text-4xl font-bold text-white mb-6">ΒΏListo para mejorar su producciΓ³n?</h2>
|
| 137 |
+
<p class="text-xl text-blue-100 mb-8">ContΓ‘ctenos hoy mismo para una consulta personalizada</p>
|
| 138 |
+
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
| 139 |
+
<button class="bg-white text-blue-600 px-8 py-4 rounded-lg font-semibold hover:bg-gray-100 transition-colors flex items-center justify-center gap-2">
|
| 140 |
+
<i data-feather="phone" class="w-5 h-5"></i>
|
| 141 |
+
Llamar Ahora
|
| 142 |
+
</button>
|
| 143 |
+
<button class="bg-transparent border-2 border-white text-white px-8 py-4 rounded-lg font-semibold hover:bg-white hover:text-blue-600 transition-colors flex items-center justify-center gap-2">
|
| 144 |
+
<i data-feather="mail" class="w-5 h-5"></i>
|
| 145 |
+
Solicitar CotizaciΓ³n
|
| 146 |
+
</button>
|
| 147 |
+
</div>
|
| 148 |
+
</div>
|
| 149 |
+
</section>
|
| 150 |
+
|
| 151 |
+
<custom-footer></custom-footer>
|
| 152 |
+
|
| 153 |
+
<script src="script.js"></script>
|
| 154 |
+
<script>feather.replace();</script>
|
| 155 |
+
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
|
| 156 |
+
</body>
|
| 157 |
+
</html>
|
script.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// Initialize animations on scroll
|
| 2 |
+
const observerOptions = {
|
| 3 |
+
threshold: 0.1,
|
| 4 |
+
rootMargin: '0px 0px -50px 0px'
|
| 5 |
+
};
|
| 6 |
+
|
| 7 |
+
const observer = new IntersectionObserver(function(entries) {
|
| 8 |
+
entries.forEach(entry => {
|
| 9 |
+
if (entry.isIntersecting) {
|
| 10 |
+
entry.target.classList.add('fade-in');
|
| 11 |
+
}
|
| 12 |
+
});
|
| 13 |
+
}, observerOptions);
|
| 14 |
+
|
| 15 |
+
// Observe all sections
|
| 16 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 17 |
+
const sections = document.querySelectorAll('section');
|
| 18 |
+
sections.forEach(section => {
|
| 19 |
+
observer.observe(section);
|
| 20 |
+
});
|
| 21 |
+
|
| 22 |
+
// Mobile menu toggle
|
| 23 |
+
const mobileMenuButton = document.getElementById('mobile-menu-button');
|
| 24 |
+
const mobileMenu = document.getElementById('mobile-menu');
|
| 25 |
+
|
| 26 |
+
if (mobileMenuButton && mobileMenu) {
|
| 27 |
+
mobileMenuButton.addEventListener('click', function() {
|
| 28 |
+
mobileMenu.classList.toggle('hidden');
|
| 29 |
+
});
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
// Smooth scroll for anchor links
|
| 33 |
+
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
| 34 |
+
anchor.addEventListener('click', function (e) {
|
| 35 |
+
e.preventDefault();
|
| 36 |
+
const target = document.querySelector(this.getAttribute('href'));
|
| 37 |
+
if (target) {
|
| 38 |
+
target.scrollIntoView({
|
| 39 |
+
behavior: 'smooth',
|
| 40 |
+
block: 'start'
|
| 41 |
+
});
|
| 42 |
+
}
|
| 43 |
+
});
|
| 44 |
+
});
|
| 45 |
+
|
| 46 |
+
// Form validation
|
| 47 |
+
const forms = document.querySelectorAll('form');
|
| 48 |
+
forms.forEach(form => {
|
| 49 |
+
form.addEventListener('submit', function(e) {
|
| 50 |
+
e.preventDefault();
|
| 51 |
+
// Add your form validation logic here
|
| 52 |
+
console.log('Form submitted');
|
| 53 |
+
});
|
| 54 |
+
});
|
| 55 |
+
});
|
| 56 |
+
|
| 57 |
+
// Counter animation for numbers
|
| 58 |
+
function animateCounter(element, target, duration = 2000) {
|
| 59 |
+
let start = 0;
|
| 60 |
+
const increment = target / (duration / 16);
|
| 61 |
+
|
| 62 |
+
function updateCounter() {
|
| 63 |
+
start += increment;
|
| 64 |
+
if (start < target) {
|
| 65 |
+
element.textContent = Math.floor(start);
|
| 66 |
+
requestAnimationFrame(updateCounter);
|
| 67 |
+
} else {
|
| 68 |
+
element.textContent = target;
|
| 69 |
+
}
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
updateCounter();
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
// Lazy loading images
|
| 76 |
+
const imageObserver = new IntersectionObserver((entries, observer) => {
|
| 77 |
+
entries.forEach(entry => {
|
| 78 |
+
if (entry.isIntersecting) {
|
| 79 |
+
const img = entry.target;
|
| 80 |
+
img.src = img.dataset.src;
|
| 81 |
+
img.classList.remove('lazy');
|
| 82 |
+
imageObserver.unobserve(img);
|
| 83 |
+
}
|
| 84 |
+
});
|
| 85 |
+
});
|
| 86 |
+
|
| 87 |
+
document.addEventListener('DOMContentLoaded', () => {
|
| 88 |
+
const lazyImages = document.querySelectorAll('img.lazy');
|
| 89 |
+
lazyImages.forEach(img => imageObserver.observe(img));
|
| 90 |
+
});
|
style.css
CHANGED
|
@@ -1,28 +1,75 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
|
|
|
| 4 |
}
|
| 5 |
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
margin-top: 0;
|
| 9 |
}
|
| 10 |
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
margin-bottom: 10px;
|
| 15 |
-
margin-top: 5px;
|
| 16 |
}
|
| 17 |
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
padding: 16px;
|
| 22 |
-
border: 1px solid lightgray;
|
| 23 |
-
border-radius: 16px;
|
| 24 |
}
|
| 25 |
|
| 26 |
-
.
|
| 27 |
-
|
| 28 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/* Custom animations and styles */
|
| 2 |
+
@keyframes fadeIn {
|
| 3 |
+
from { opacity: 0; transform: translateY(20px); }
|
| 4 |
+
to { opacity: 1; transform: translateY(0); }
|
| 5 |
}
|
| 6 |
|
| 7 |
+
.fade-in {
|
| 8 |
+
animation: fadeIn 0.8s ease-out;
|
|
|
|
| 9 |
}
|
| 10 |
|
| 11 |
+
/* Smooth scrolling */
|
| 12 |
+
html {
|
| 13 |
+
scroll-behavior: smooth;
|
|
|
|
|
|
|
| 14 |
}
|
| 15 |
|
| 16 |
+
/* Custom hover effects */
|
| 17 |
+
.hover-lift {
|
| 18 |
+
transition: transform 0.3s ease;
|
|
|
|
|
|
|
|
|
|
| 19 |
}
|
| 20 |
|
| 21 |
+
.hover-lift:hover {
|
| 22 |
+
transform: translateY(-4px);
|
| 23 |
}
|
| 24 |
+
|
| 25 |
+
/* Gradient text */
|
| 26 |
+
.gradient-text {
|
| 27 |
+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
| 28 |
+
-webkit-background-clip: text;
|
| 29 |
+
-webkit-text-fill-color: transparent;
|
| 30 |
+
background-clip: text;
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
/* Custom scrollbar */
|
| 34 |
+
::-webkit-scrollbar {
|
| 35 |
+
width: 10px;
|
| 36 |
+
}
|
| 37 |
+
|
| 38 |
+
::-webkit-scrollbar-track {
|
| 39 |
+
background: #f1f1f1;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
::-webkit-scrollbar-thumb {
|
| 43 |
+
background: #2563eb;
|
| 44 |
+
border-radius: 5px;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
::-webkit-scrollbar-thumb:hover {
|
| 48 |
+
background: #1d4ed8;
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
/* Responsive video embed */
|
| 52 |
+
.video-container {
|
| 53 |
+
position: relative;
|
| 54 |
+
padding-bottom: 56.25%;
|
| 55 |
+
height: 0;
|
| 56 |
+
overflow: hidden;
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
.video-container iframe {
|
| 60 |
+
position: absolute;
|
| 61 |
+
top: 0;
|
| 62 |
+
left: 0;
|
| 63 |
+
width: 100%;
|
| 64 |
+
height: 100%;
|
| 65 |
+
}
|
| 66 |
+
|
| 67 |
+
/* Card shadow effects */
|
| 68 |
+
.card-shadow {
|
| 69 |
+
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
| 70 |
+
transition: box-shadow 0.3s ease;
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
.card-shadow:hover {
|
| 74 |
+
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
| 75 |
+
}
|