534 lines
13 KiB
CSS
534 lines
13 KiB
CSS
|
|
/* =========================================================
|
|
ECOSISTEMA - CARRUSEL
|
|
Variables nuevas + estilos del bloque refactorizado
|
|
========================================================= */
|
|
|
|
:root {
|
|
/* Color inactivo de los botones (rojo del esquema) */
|
|
--eco-tab-inactive: var(--ide-grey);
|
|
--eco-tab-inactive-text: #ffffff;
|
|
|
|
/* Color de fondo inactivo de la tarjeta (naranja del esquema) */
|
|
--eco-card-bg: #e88a0a;
|
|
|
|
/* Texto sobre la zona oscura de la tarjeta */
|
|
--eco-text-dark: #0a0a0a;
|
|
--eco-text-muted-dark: #2a2a2a;
|
|
|
|
/* Transiciones */
|
|
--eco-fade-duration: 600ms;
|
|
--eco-tab-duration: 250ms;
|
|
}
|
|
|
|
.herobg-1{
|
|
background-image:
|
|
linear-gradient(
|
|
to right,
|
|
rgba(0, 0, 0, 0.6) 0%,
|
|
rgba(0, 0, 0, 0.3) 20%,
|
|
rgba(0, 0, 0, 0.15) 70%,
|
|
rgba(0, 0, 0, 0.0) 100%
|
|
),
|
|
url('../assets/img/hero/hero_003.png');
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
.herobg-2{
|
|
background-image:
|
|
linear-gradient(
|
|
to right,
|
|
rgba(44,109,140, 1) 0%,
|
|
rgba(44,109,140, 0.5) 40%,
|
|
rgba(44,109,140, 0.2) 70%,
|
|
rgba(44,109,140, 0.05) 100%
|
|
),
|
|
url('../assets/img/hero/hero_017.png');
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
|
|
/* ---------- TABS / BOTONES ---------- */
|
|
.ecosystem-tabs {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 0.75rem;
|
|
flex-wrap: wrap;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.eco-tab {
|
|
appearance: none;
|
|
border: 2px solid var(--eco-tab-inactive);
|
|
background: var(--eco-tab-inactive);
|
|
color: var(--eco-tab-inactive-text);
|
|
font-weight: 700;
|
|
font-size: 0.95rem;
|
|
padding: 0.4rem 1.4rem;
|
|
border-radius: 999px;
|
|
cursor: pointer;
|
|
transition:
|
|
background-color var(--eco-tab-duration) ease,
|
|
color var(--eco-tab-duration) ease,
|
|
border-color var(--eco-tab-duration) ease,
|
|
transform var(--eco-tab-duration) ease;
|
|
}
|
|
|
|
.eco-tab:hover {
|
|
transform: translateY(-2px);
|
|
filter: brightness(1.08);
|
|
}
|
|
|
|
.eco-tab:focus-visible {
|
|
outline: 3px solid rgba(255, 255, 255, 0.6);
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
/* Estado activo: el color lo inyecta el JS vía data-color */
|
|
.eco-tab.is-active {
|
|
color: #ffffff;
|
|
border-color: transparent;
|
|
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
/* ---------- CARRUSEL (contenedor) ---------- */
|
|
.ecosystem-carousel {
|
|
position: relative;
|
|
width: 100%;
|
|
aspect-ratio: 16 / 9;
|
|
max-height: 450px;
|
|
min-height: 360px;
|
|
border-radius: var(--radius-md, 12px);
|
|
overflow: hidden;
|
|
background: var(--eco-card-bg);
|
|
box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
|
|
}
|
|
|
|
/* ---------- SLIDE ---------- */
|
|
.eco-slide {
|
|
position: absolute;
|
|
inset: 0;
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
transition:
|
|
opacity var(--eco-fade-duration) ease,
|
|
visibility var(--eco-fade-duration) ease;
|
|
}
|
|
|
|
.eco-slide.is-active {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
}
|
|
|
|
/* Imagen de fondo (placeholder) */
|
|
.eco-slide__bg {
|
|
position: absolute;
|
|
inset: 0;
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
/* Degradado de derecha a izquierda:
|
|
transparente a la izquierda → color sólido a la derecha
|
|
para resaltar el contenido (logo + texto) */
|
|
.eco-slide__overlay {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: linear-gradient(
|
|
to left,
|
|
var(--eco-slide-color) 0%,
|
|
var(--eco-slide-color) 45%,
|
|
rgba(0, 0, 0, 0.15) 70%,
|
|
transparent 100%
|
|
);
|
|
}
|
|
|
|
/* ---------- CONTENIDO (logo + texto) ---------- */
|
|
.eco-slide__content {
|
|
position: relative;
|
|
z-index: 2;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
height: 100%;
|
|
padding: 2.5rem 3rem;
|
|
color: var(--eco-text-dark);
|
|
}
|
|
|
|
/* Logo (PNG) - controlado por clase específica */
|
|
.eco-slide__logo {
|
|
align-self: flex-end;
|
|
width: 210px;
|
|
height: 90px;
|
|
background-size: contain;
|
|
background-repeat: no-repeat;
|
|
background-position: right center;
|
|
}
|
|
|
|
/* Texto */
|
|
.eco-slide__text {
|
|
max-width: 35%;
|
|
margin-left: auto; /* empuja el bloque a la derecha */
|
|
text-align: right;
|
|
}
|
|
|
|
.eco-slide__text h3 {
|
|
font-size: 1.6rem;
|
|
font-weight: 800;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.02em;
|
|
margin: 0 0 0.75rem 0;
|
|
color: var(--eco-text-dark);
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.eco-slide__text p {
|
|
font-size: 1.2rem;
|
|
line-height: 1.55;
|
|
color: var(--eco-text-muted-dark);
|
|
margin: 0 0 1.25rem 0;
|
|
}
|
|
|
|
.eco-slide__link {
|
|
display: inline-block;
|
|
font-size: 0.95rem;
|
|
font-weight: 700;
|
|
color: var(--eco-text-dark);
|
|
text-decoration: none;
|
|
border-bottom: 2px solid currentColor;
|
|
padding-bottom: 2px;
|
|
transition: opacity 200ms ease;
|
|
}
|
|
|
|
.eco-slide__link:hover {
|
|
opacity: 0.7;
|
|
}
|
|
/* =========================================================
|
|
BRÚJULA - MARCA DE AGUA
|
|
========================================================= */
|
|
.brujula-section {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.brujula-watermark {
|
|
position: absolute;
|
|
right: -5%;
|
|
top: 50%;
|
|
transform: translateY(-50%) rotate(15deg);
|
|
width: 600px;
|
|
height: 600px;
|
|
opacity: 0.7;
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
color: var(--ide-accent-soft);
|
|
}
|
|
|
|
.brujula-watermark svg {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
|
|
/* =========================================================
|
|
BRÚJULA - BOTÓN VOLVER (reposicionado)
|
|
========================================================= */
|
|
.quiz-container {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.quiz-back-btn {
|
|
position: absolute;
|
|
top: 1.5rem;
|
|
right: 1.5rem;
|
|
z-index: 10;
|
|
background: transparent;
|
|
border: 1px solid var(--text-muted, #888);
|
|
color: var(--text-muted, #888);
|
|
font-size: 0.85rem;
|
|
padding: 0.4rem 0.9rem;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
transition: all 200ms ease;
|
|
}
|
|
|
|
.quiz-back-btn:hover {
|
|
background: rgba(255, 255, 255, 0.05);
|
|
color: #ffffff;
|
|
border-color: #ffffff;
|
|
}
|
|
|
|
/* =========================================================
|
|
BRÚJULA - HEADER DE PASO (para alinear título y botón)
|
|
========================================================= */
|
|
.quiz-step-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
margin-bottom: 1.5rem;
|
|
padding-right: 100px; /* Espacio para el botón volver */
|
|
}
|
|
|
|
/* =========================================================
|
|
RESPONSIVE
|
|
========================================================= */
|
|
@media (max-width: 768px) {
|
|
.brujula-watermark {
|
|
width: 400px;
|
|
height: 400px;
|
|
right: -20%;
|
|
opacity: 0.03;
|
|
}
|
|
|
|
.quiz-back-btn {
|
|
top: 1rem;
|
|
right: 1rem;
|
|
font-size: 0.8rem;
|
|
padding: 0.35rem 0.75rem;
|
|
}
|
|
|
|
.quiz-step-header {
|
|
padding-right: 80px;
|
|
}
|
|
}
|
|
|
|
/* =========================================================
|
|
COLORES ESPECÍFICOS POR CAPACIDAD
|
|
========================================================= */
|
|
.eco-slide--excellence { --eco-slide-color: var(--ide-excellence); }
|
|
.eco-slide--project { --eco-slide-color: var(--ide-projects); }
|
|
.eco-slide--digital { --eco-slide-color: var(--ide-digital); }
|
|
.eco-slide--academy { --eco-slide-color: var(--ide-academy); }
|
|
|
|
/* =========================================================
|
|
PLACEHOLDERS DE LOGOS
|
|
Reemplaza las URLs por tus assets reales.
|
|
Ajusta width/height aquí para controlar el tamaño.
|
|
========================================================= */
|
|
.logo-excellence { background-image: url('../assets/img/slide/ide1.png'); }
|
|
.logo-project { background-image: url('../assets/img/slide/ide2.png'); }
|
|
.logo-digital { background-image: url('../assets/img/slide/ide3.png'); }
|
|
.logo-academy { background-image: url('../assets/img/slide/ide4.png'); }
|
|
|
|
/* =========================================================
|
|
PLACEHOLDERS DE IMÁGENES DE FONDO
|
|
========================================================= */
|
|
.eco-slide--excellence .eco-slide__bg { background-image: url('../assets/img/slide/slide-excellence.png'); }
|
|
.eco-slide--project .eco-slide__bg { background-image: url('../assets/img/slide/slide-projects.png'); }
|
|
.eco-slide--digital .eco-slide__bg { background-image: url('../assets/img/slide/slide-digital.png'); }
|
|
.eco-slide--academy .eco-slide__bg { background-image: url('../assets/img/slide/slide-academy.png'); }
|
|
|
|
/* =========================================================
|
|
ÁMBITOS DE EXPERIENCIA - TARJETAS CON HOVER REVEAL
|
|
========================================================= */
|
|
|
|
/* --- TARJETA BASE --- */
|
|
.ambito-card {
|
|
position: relative;
|
|
min-height: 240px;
|
|
border-radius: var(--radius-md, 12px);
|
|
overflow: hidden;
|
|
cursor: pointer;
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
box-shadow: var(--shadow-sm, 0 2px 8px rgba(0,0,0,0.1));
|
|
transition: box-shadow 0.3s ease, transform 0.3s ease;
|
|
}
|
|
|
|
.ambito-card:hover {
|
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
|
|
transform: translateY(-4px);
|
|
}
|
|
|
|
/* --- OVERLAY (Degradado para legibilidad) --- */
|
|
/* Un degradado de abajo hacia arriba asegura que el texto se lea
|
|
sin tapar completamente la imagen de fondo */
|
|
.ambito-card .overlay {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.2) 60%, transparent 100%);
|
|
transition: background 0.4s ease;
|
|
z-index: 1;
|
|
}
|
|
|
|
.ambito-card:hover .overlay {
|
|
background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0.1) 100%);
|
|
}
|
|
|
|
/* --- CONTENIDO --- */
|
|
.ambito-card .content {
|
|
position: relative;
|
|
z-index: 2;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-end; /* Alinea el contenido abajo para mejor revelación */
|
|
height: 100%;
|
|
padding: 1rem 1rem;
|
|
text-align: left;
|
|
}
|
|
|
|
/* --- TÍTULO --- */
|
|
.ambito-card h4 {
|
|
color: #ffffff;
|
|
font-size: 1.1rem;
|
|
font-weight: 700;
|
|
margin: 0;
|
|
line-height: 1.3;
|
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
|
|
transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), font-size 0.4s ease;
|
|
}
|
|
|
|
/* --- TEXTO A REVELAR --- */
|
|
.ambito-card .reveal-text {
|
|
color: rgba(255, 255, 255, 0.9);
|
|
font-size: 0.85rem;
|
|
font-weight: 400;
|
|
line-height: 1.4;
|
|
margin: 0;
|
|
|
|
/* Estado inicial: oculto */
|
|
opacity: 0;
|
|
max-height: 0;
|
|
transform: translateY(10px);
|
|
overflow: hidden;
|
|
|
|
/* Transición suave */
|
|
transition:
|
|
opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
|
|
max-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
|
|
transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
|
|
margin-top 0.4s ease;
|
|
}
|
|
|
|
/* =========================================================
|
|
ESTADOS HOVER (La magia)
|
|
========================================================= */
|
|
|
|
/* 1. El título sube un poco y se achica ligeramente para hacer espacio */
|
|
.ambito-card:hover h4 {
|
|
transform: translateY(-8px);
|
|
font-size: 1rem;
|
|
}
|
|
|
|
/* 2. El texto aparece, gana altura y se posiciona */
|
|
.ambito-card:hover .reveal-text {
|
|
opacity: 1;
|
|
max-height: 100px; /* Suficiente para 2-3 líneas de texto */
|
|
transform: translateY(0);
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
/* =========================================================
|
|
IMÁGENES DE FONDO POR TARJETA
|
|
(Nota: Los espacios en los nombres de archivo se codifican como %20)
|
|
========================================================= */
|
|
.cardi-agro { background-image: url('../assets//img/cards/agro.png'); }
|
|
.cardi-industria { background-image: url('../assets//img/cards/indu.png'); }
|
|
.cardi-telecom { background-image: url('../assets/img/cards/teco.png'); }
|
|
.cardi-salud { background-image: url('../assets/img/cards/salud.png'); }
|
|
.cardi-educacion { background-image: url('../assets/img/cards/edu.png'); }
|
|
|
|
/* =========================================================
|
|
RESPONSIVE
|
|
========================================================= */
|
|
|
|
@media (max-width: 768px) {
|
|
.ambitos-grid {
|
|
grid-template-columns: 1fr !important; /* Apila el encabezado y las tarjetas */
|
|
text-align: center;
|
|
}
|
|
|
|
.ambito-card {
|
|
min-height: 200px;
|
|
}
|
|
|
|
.ambito-card h4 {
|
|
font-size: 1rem;
|
|
}
|
|
}
|
|
|
|
/* =========================================================
|
|
RESPONSIVE
|
|
========================================================= */
|
|
@media (max-width: 900px) {
|
|
.ecosystem-carousel {
|
|
aspect-ratio: 4 / 3;
|
|
}
|
|
|
|
.eco-slide__content {
|
|
padding: 1.75rem 2rem;
|
|
}
|
|
|
|
.eco-slide__logo {
|
|
width: 140px;
|
|
height: 55px;
|
|
}
|
|
|
|
.eco-slide__text {
|
|
max-width: 70%;
|
|
}
|
|
|
|
.eco-slide__text h3 {
|
|
font-size: 1.3rem;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 600px) {
|
|
.ecosystem-tabs {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 0.6rem;
|
|
}
|
|
|
|
.eco-tab {
|
|
font-size: 0.85rem;
|
|
padding: 0.55rem 1rem;
|
|
}
|
|
|
|
.ecosystem-carousel {
|
|
aspect-ratio: 3 / 4;
|
|
min-height: 420px;
|
|
}
|
|
|
|
.eco-slide__content {
|
|
padding: 1.25rem 1.25rem 1.5rem;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.eco-slide__logo {
|
|
align-self: flex-end;
|
|
width: 120px;
|
|
height: 50px;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.eco-slide__text {
|
|
max-width: 100%;
|
|
text-align: left;
|
|
}
|
|
|
|
.eco-slide__text h3 {
|
|
font-size: 1.15rem;
|
|
}
|
|
|
|
.eco-slide__text p {
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
/* En móvil el degradado cubre más para garantizar legibilidad */
|
|
.eco-slide__overlay {
|
|
background: linear-gradient(
|
|
to top,
|
|
var(--eco-slide-color) 0%,
|
|
var(--eco-slide-color) 55%,
|
|
rgba(0, 0, 0, 0.1) 85%,
|
|
transparent 100%
|
|
);
|
|
}
|
|
} |