Preview de mixed.css
/* MIXED CSS PACK */
/* Template: piscinasthiago.com.ar/index.html */
/* Template mtime: 2025-09-08 23:36:20 */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css */
/* external link (no embedded): https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&family=Poppins:wght@300;400;500;600;700;800&display=swap */
/* external link (no embedded): https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css */
/* ===== INLINE <style> BLOCK #1 ===== */
:root {
/* Colores */
--primary: #0066cc;
--primary-dark: #004999;
--primary-light: #4d94ff;
--accent: #00c2cb;
--accent-dark: #009da5;
--accent-light: #33d1d9;
--secondary: #ff6b6b;
--dark: #0a1929;
--dark-light: #1a3447;
--light: #f6f9fc;
--light-dark: #e8eef5;
--white: #ffffff;
--gradient-primary: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
--gradient-dark: linear-gradient(135deg, var(--dark) 0%, var(--dark-light) 100%);
--gradient-hero: linear-gradient(135deg, rgba(10, 108, 173, 0.1) 0%, rgba(0, 163, 163, 0.1) 100%);
/* Tamaños y espaciados */
--radius: 12px;
--radius-lg: 20px;
--maxw: 1280px;
--shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 15px 40px rgba(0, 0, 0, 0.15);
--shadow-hover: 0 20px 50px rgba(0, 0, 0, 0.2);
/* Transiciones */
--transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
scroll-behavior: smooth;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html, body {
font-family: 'Poppins', sans-serif;
color: #334e68;
background: var(--white);
line-height: 1.6;
overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Montserrat', sans-serif;
font-weight: 800;
line-height: 1.2;
margin-bottom: 1.2rem;
color: var(--dark);
}
a {
color: var(--primary);
text-decoration: none;
transition: var(--transition);
}
a:hover {
color: var(--primary-dark);
}
img {
max-width: 100%;
height: auto;
display: block;
}
/* Utilidades */
.container {
max-width: var(--maxw);
margin: 0 auto;
padding: 0 20px;
}
.section {
padding: 100px 0;
position: relative;
}
.section-title {
font-size: clamp(32px, 5vw, 48px);
text-align: center;
margin-bottom: 60px;
position: relative;
font-weight: 900;
}
.section-title:after {
content: '';
position: absolute;
bottom: -20px;
left: 50%;
transform: translateX(-50%);
width: 100px;
height: 5px;
background: var(--gradient-primary);
border-radius: 3px;
}
.text-center {
text-align: center;
}
.lead {
font-size: clamp(18px, 2.5vw, 22px);
color: #486581;
margin-bottom: 1.8rem;
font-weight: 400;
line-height: 1.5;
}
.grid {
display: grid;
gap: 40px;
}
@media (min-width: 992px) {
.grid-2 {
grid-template-columns: 1fr 1fr;
}
.grid-3 {
grid-template-columns: repeat(3, 1fr);
}
.grid-4 {
grid-template-columns: repeat(4, 1fr);
}
}
/* Botones */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
padding: 16px 32px;
border-radius: var(--radius);
border: none;
font-weight: 700;
cursor: pointer;
transition: var(--transition);
font-family: 'Montserrat', sans-serif;
text-transform: uppercase;
font-size: 15px;
letter-spacing: 1px;
position: relative;
overflow: hidden;
z-index: 1;
}
.btn:after {
content: '';
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 0;
background: rgba(255, 255, 255, 0.2);
transition: var(--transition);
z-index: -1;
}
.btn:hover:after {
width: 100%;
}
.btn-primary {
background: var(--gradient-primary);
color: var(--white);
box-shadow: var(--shadow);
}
.btn-primary:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-hover);
color: var(--white);
}
.btn-accent {
background: linear-gradient(135deg, var(--accent), var(--accent-dark));
color: var(--white);
box-shadow: var(--shadow);
}
.btn-accent:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-hover);
color: var(--white);
}
.btn-ghost {
background: transparent;
border: 2px solid var(--primary);
color: var(--primary);
}
.btn-ghost:hover {
background: var(--primary);
color: var(--white);
transform: translateY(-5px);
}
/* Navbar */
.nav {
position: sticky;
top: 0;
z-index: 1000;
background: rgba(255, 255, 255, 0.97);
backdrop-filter: blur(10px);
border-bottom: 1px solid rgba(232, 238, 245, 0.8);
transition: var(--transition);
}
.nav.scrolled {
box-shadow: var(--shadow);
}
.nav-inner {
display: flex;
align-items: center;
justify-content: space-between;
height: 90px;
}
.brand {
display: flex;
gap: 12px;
align-items: center;
font-weight: 900;
color: var(--dark);
font-size: 26px;
}
.brand i {
color: var(--primary);
font-size: 32px;
}
.menu {
display: flex;
gap: 32px;
align-items: center;
}
.menu a {
color: var(--dark);
font-weight: 600;
font-size: 16px;
position: relative;
padding: 8px 0;
}
.menu a:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 3px;
background: var(--gradient-primary);
transition: var(--transition);
border-radius: 3px;
}
.menu a:hover:after {
width: 100%;
}
.burger {
display: none;
font-size: 28px;
background: none;
border: 0;
color: var(--dark);
cursor: pointer;
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: var(--transition);
}
.burger:hover {
background: var(--light);
}
@media (max-width: 992px) {
.burger {
display: flex;
}
.menu {
position: fixed;
top: 90px;
left: 0;
width: 100%;
height: calc(100vh - 90px);
background: var(--white);
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding: 60px 20px;
gap: 35px;
transform: translateX(100%);
transition: transform 0.5s ease;
box-shadow: var(--shadow-lg);
}
.menu.open {
transform: translateX(0);
}
.menu a {
font-size: 20px;
}
}
/* Hero Section */
.hero {
padding: 160px 0 120px;
position: relative;
overflow: hidden;
background: var(--gradient-hero);
}
.hero:before, .hero:after {
content: '';
position: absolute;
border-radius: 50%;
z-index: -1;
opacity: 0.5;
filter: blur(40px);
}
.hero:before {
top: -100px;
right: -100px;
width: 500px;
height: 500px;
background: var(--primary-light);
}
.hero:after {
bottom: -100px;
left: -100px;
width: 400px;
height: 400px;
background: var(--accent-light);
}
.hero-content {
position: relative;
z-index: 2;
}
.badge-soft {
display: inline-flex;
gap: 8px;
align-items: center;
background: rgba(232, 242, 251, 0.9);
border: 1px solid rgba(213, 230, 247, 0.8);
color: #1f4666;
padding: 10px 20px;
border-radius: 30px;
font-weight: 600;
font-size: 15px;
margin-bottom: 25px;
backdrop-filter: blur(5px);
box-shadow: var(--shadow);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.05); }
100% { transform: scale(1); }
}
.hero h1 {
font-size: clamp(36px, 6vw, 64px);
line-height: 1.2;
margin-bottom: 25px;
background: linear-gradient(135deg, var(--dark) 0%, var(--primary) 50%, var(--accent) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.cta {
display: flex;
gap: 20px;
flex-wrap: wrap;
margin-top: 40px;
}
.hero-card {
background: rgba(255, 255, 255, 0.95);
border-radius: var(--radius-lg);
padding: 40px;
box-shadow: var(--shadow-lg);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.3);
transition: var(--transition);
position: relative;
overflow: hidden;
}
.hero-card:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 5px;
height: 100%;
background: var(--gradient-primary);
}
.hero-card:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-hover);
}
.list {
margin: 0;
padding: 0;
list-style: none;
display: grid;
gap: 16px;
}
.list li {
display: flex;
gap: 15px;
align-items: flex-start;
transition: var(--transition);
padding: 8px 0;
}
.list li:hover {
transform: translateX(5px);
}
.list i {
color: var(--accent);
margin-top: 4px;
font-size: 20px;
flex-shrink: 0;
}
/* Cards */
.card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 40px 30px;
box-shadow: var(--shadow);
transition: var(--transition);
height: 100%;
border: 1px solid rgba(232, 238, 245, 0.8);
position: relative;
overflow: hidden;
}
.card:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 5px;
background: var(--gradient-primary);
transform: scaleX(0);
transform-origin: left;
transition: var(--transition);
}
.card:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-hover);
}
.card:hover:before {
transform: scaleX(1);
}
.card h3 {
color: var(--primary);
margin-top: 0;
font-size: 24px;
position: relative;
padding-bottom: 15px;
margin-bottom: 25px;
}
.card h3:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 40px;
height: 3px;
background: var(--accent);
border-radius: 2px;
transition: var(--transition);
}
.card:hover h3:after {
width: 80px;
}
/* Por qué elegirnos */
.pill {
display: inline-block;
background: linear-gradient(135deg, var(--primary-light), var(--primary));
color: var(--white);
padding: 12px 24px;
border-radius: 30px;
font-weight: 600;
margin: 0 12px 20px 0;
box-shadow: var(--shadow);
transition: var(--transition);
font-size: 15px;
}
.pill:hover {
transform: translateY(-5px) scale(1.05);
box-shadow: var(--shadow-hover);
}
/* Ticker de trabajos */
.ticker-section {
position: relative;
overflow: hidden;
padding: 80px 0;
}
.ticker-wrap {
position: relative;
margin: 0 auto;
}
.ticker-viewport {
overflow-x: auto;
scroll-behavior: smooth;
scrollbar-width: none;
-ms-overflow-style: none;
padding: 30px 0;
}
.ticker-viewport::-webkit-scrollbar {
display: none;
}
.ticker-track {
display: flex;
align-items: center;
gap: 25px;
padding: 15px;
}
.ticker-tile {
flex: 0 0 auto;
width: min(450px, 85vw);
aspect-ratio: 4/3;
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
position: relative;
transition: var(--transition);
}
.ticker-tile:hover {
transform: scale(1.05);
box-shadow: var(--shadow-hover);
}
.ticker-tile img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.8s ease;
}
.ticker-tile:hover img {
transform: scale(1.15);
}
.ticker-tile:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 50%;
background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
opacity: 0;
transition: var(--transition);
}
.ticker-tile:hover:after {
opacity: 1;
}
.ticker-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 60px;
height: 60px;
border-radius: 50%;
display: grid;
place-items: center;
border: none;
background: var(--white);
cursor: pointer;
box-shadow: var(--shadow-lg);
z-index: 10;
transition: var(--transition);
}
.ticker-btn:hover {
background: var(--primary);
color: var(--white);
transform: translateY(-50%) scale(1.1);
}
.ticker-btn.prev {
left: -30px;
}
.ticker-btn.next {
right: -30px;
}
@media (max-width: 768px) {
.ticker-btn {
display: none;
}
}
/* FAQs */
details {
border: 1px solid var(--light-dark);
border-radius: var(--radius-lg);
padding: 25px;
background: var(--white);
transition: var(--transition);
margin-bottom: 20px;
box-shadow: var(--shadow);
}
details[open] {
background: rgba(10, 108, 173, 0.05);
border-color: var(--primary-light);
}
details summary {
font-weight: 700;
cursor: pointer;
outline: none;
position: relative;
padding-right: 40px;
list-style: none;
font-size: 18px;
color: var(--dark);
}
details summary::-webkit-details-marker {
display: none;
}
details summary:after {
content: '+';
position: absolute;
right: 0;
top: 0;
font-size: 28px;
font-weight: 400;
transition: var(--transition);
color: var(--primary);
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: var(--light);
}
details[open] summary:after {
content: '-';
background: var(--primary);
color: var(--white);
}
details p {
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid rgba(10, 108, 173, 0.2);
font-size: 16px;
line-height: 1.6;
}
/* Contacto */
.form-grid {
display: grid;
gap: 25px;
}
@media (min-width: 768px) {
.form-grid.cols-2 {
grid-template-columns: 1fr 1fr;
}
}
.campo {
position: relative;
}
.campo label {
display: block;
font-weight: 600;
margin-bottom: 10px;
color: var(--dark);
}
.campo input,
.campo textarea {
width: 100%;
padding: 18px 22px;
border: 1px solid var(--light-dark);
border-radius: var(--radius);
font: inherit;
transition: var(--transition);
background: var(--white);
}
.campo input:focus,
.campo textarea:focus {
outline: none;
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(10, 108, 173, 0.15);
}
.campo textarea {
min-height: 180px;
resize: vertical;
}
.notice {
display: none;
margin-bottom: 25px;
padding: 20px;
border-radius: var(--radius);
font-weight: 600;
text-align: center;
}
.notice.ok {
display: block;
background: rgba(39, 174, 96, 0.15);
border: 1px solid #27ae60;
color: #27ae60;
}
.notice.err {
display: block;
background: rgba(235, 87, 87, 0.15);
border: 1px solid #eb5757;
color: #eb5757;
}
/* Footer */
.footer {
background: var(--gradient-dark);
color: #cfe2f5;
padding: 80px 0 40px;
position: relative;
}
.footer:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 5px;
background: var(--gradient-primary);
}
.f-grid {
display: grid;
gap: 50px;
}
@media (min-width: 992px) {
.f-grid {
grid-template-columns: 1.5fr 1fr 1fr;
}
}
.footer a {
color: #d8ecff;
transition: var(--transition);
}
.footer a:hover {
color: var(--white);
text-decoration: underline;
}
.footer-brand {
font-size: 28px;
font-weight: 800;
margin-bottom: 20px;
display: inline-block;
}
.footer-bottom {
margin-top: 60px;
padding-top: 25px;
border-top: 1px solid rgba(255, 255, 255, 0.15);
text-align: center;
font-size: 15px;
color: #aac2d8;
}
.social-links {
display: flex;
gap: 15px;
margin-top: 20px;
}
.social-links a {
display: flex;
align-items: center;
justify-content: center;
width: 45px;
height: 45px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.1);
transition: var(--transition);
}
.social-links a:hover {
background: var(--primary);
transform: translateY(-5px);
}
/* Animaciones */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fade-in {
animation: fadeIn 1s ease forwards;
}
.delay-1 {
animation-delay: 0.2s;
}
.delay-2 {
animation-delay: 0.4s;
}
.delay-3 {
animation-delay: 0.6s;
}
/* Floating elements */
.floating {
animation: float 6s ease-in-out infinite;
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-20px); }
100% { transform: translateY(0px); }
}
/* Water effect */
.water-effect {
position: relative;
overflow: hidden;
}
.water-effect:after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: rgba(255, 255, 255, 0.1);
transform: rotate(45deg);
animation: water 8s linear infinite;
pointer-events: none;
}
@keyframes water {
0% { transform: rotate(45deg) translate(-50%, -50%) scale(0); opacity: 0; }
20% { opacity: 1; }
100% { transform: rotate(45deg) translate(50%, 50%) scale(1); opacity: 0; }
}
/* Particles background */
.particles {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
overflow: hidden;
}
.particle {
position: absolute;
border-radius: 50%;
background: var(--primary-light);
opacity: 0.3;
animation: float 15s infinite linear;
}
/* Testimonials */
.testimonial {
background: var(--white);
border-radius: var(--radius-lg);
padding: 30px;
box-shadow: var(--shadow);
position: relative;
margin: 20px 0;
}
.testimonial:before {
content: '"';
position: absolute;
top: 20px;
left: 20px;
font-size: 60px;
color: var(--primary-light);
font-family: Georgia, serif;
line-height: 1;
}
.testimonial-content {
padding-left: 30px;
}
.testimonial-author {
display: flex;
align-items: center;
margin-top: 20px;
}
.testimonial-author img {
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 15px;
object-fit: cover;
}