provisioning-outreach/presentations/rust-laspalmas-250926/auroraframe/assets/css/poster.css

1069 lines
No EOL
20 KiB
CSS

@import url("https://fonts.googleapis.com/css2?family=Merienda:wght@300;400;700;800;900&family=Inter:wght@400;600;700;900&family=JetBrains+Mono:wght@400;600&display=swap");
@import url("svg-data.css");
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: "Inter", sans-serif;
background: #0a0a0a;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 20px;
}
.poster {
width: 794px;
position: relative;
overflow: hidden;
background: #000;
}
.old-poster {
height: 1123px;
}
/* Fondo oceánico de Las Palmas con overlay tecnológico */
.ocean-tech-bg {
position: absolute;
width: 100%;
height: 100%;
background: linear-gradient(
180deg,
rgba(0, 20, 40, 0.95) 0%,
rgba(0, 40, 80, 0.9) 30%,
rgba(206, 66, 43, 0.3) 60%,
rgba(15, 23, 42, 0.95) 100%
);
animation: waves 20s ease-in-out infinite;
}
@keyframes waves {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(-20px);
}
}
/* Símbolo del infinito animado */
.infinity-container {
position: absolute;
top: 265px;
left: 50%;
transform: translate(-50%, -50%);
width: 600px;
height: 300px;
z-index: 10;
opacity: 0.8;
}
.infinity-symbol {
width: 100%;
height: 100%;
position: relative;
}
.infinity-path {
stroke: url(#infinityGradient);
stroke-width: 8;
fill: none;
stroke-linecap: round;
filter: drop-shadow(0 0 30px rgba(0, 212, 255, 0.8));
animation: infinity-draw 8s linear infinite;
}
@keyframes infinity-draw {
0% {
stroke-dasharray: 0 1000;
}
50% {
stroke-dasharray: 1000 0;
}
100% {
stroke-dasharray: 0 1000;
}
}
.infinity-particles {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.infinity-particle {
position: absolute;
width: 8px;
height: 8px;
background: radial-gradient(circle, #00ffb3, transparent);
border-radius: 50%;
animation: follow-infinity 4s linear infinite;
box-shadow: 0 0 15px rgba(0, 255, 179, 0.8);
}
.infinity-particle:nth-child(1) {
animation-delay: 0s;
}
.infinity-particle:nth-child(2) {
animation-delay: 0.5s;
}
.infinity-particle:nth-child(3) {
animation-delay: 1s;
}
.infinity-particle:nth-child(4) {
animation-delay: 1.5s;
}
.infinity-particle:nth-child(5) {
animation-delay: 2s;
}
.infinity-particle:nth-child(6) {
animation-delay: 2.5s;
}
@keyframes follow-infinity {
0% {
left: 50%;
top: 50%;
opacity: 0;
}
12.5% {
left: 40%;
top: 30%;
opacity: 1;
}
25% {
left: 30%;
top: 50%;
opacity: 1;
}
37.5% {
left: 40%;
top: 70%;
opacity: 1;
}
50% {
left: 50%;
top: 50%;
opacity: 1;
}
62.5% {
left: 60%;
top: 30%;
opacity: 1;
}
75% {
left: 70%;
top: 50%;
opacity: 1;
}
87.5% {
left: 60%;
top: 70%;
opacity: 1;
}
100% {
left: 50%;
top: 50%;
opacity: 0;
}
}
/* Cangrejo de Rust gigante emergiendo del océano digital */
.rust-crab-container {
position: absolute;
top: 120px;
left: 50%;
transform: translateX(-50%);
width: 600px;
height: 400px;
filter: drop-shadow(0 20px 40px rgba(206, 66, 43, 0.5));
z-index: 5;
}
.digital-crab {
width: 100%;
height: 100%;
position: relative;
}
/* Cuerpo del cangrejo */
.crab-body {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 300px;
height: 200px;
background: linear-gradient(
135deg,
#ce422b 0%,
#8b2f20 50%,
#ce422b 100%
);
border-radius: 50% 50% 40% 40%;
box-shadow:
inset 0 -20px 40px rgba(0, 0, 0, 0.3),
0 30px 60px rgba(206, 66, 43, 0.4);
}
/* Pinzas del cangrejo */
.claw {
position: absolute;
width: 120px;
height: 80px;
background: linear-gradient(135deg, #ce422b, #a0351f);
clip-path: polygon(
0 50%,
30% 0,
70% 20%,
100% 30%,
100% 70%,
70% 80%,
30% 100%
);
}
.claw-left {
top: 40%;
left: -60px;
transform: rotate(-30deg);
}
.claw-right {
top: 40%;
right: -60px;
transform: rotate(30deg) scaleX(-1);
}
/* Ojos del cangrejo */
.crab-eyes {
position: absolute;
top: 30%;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 100px;
}
.eye {
width: 40px;
height: 40px;
background: radial-gradient(
circle,
#fff 30%,
#1a1a1a 35%,
#ce422b 40%
);
border-radius: 50%;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
animation: blink 4s infinite;
}
@keyframes blink {
0%,
90%,
100% {
transform: scaleY(1);
}
95% {
transform: scaleY(0.1);
}
}
/* Circuitos digitales emanando del cangrejo */
.digital-circuits {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.circuit-line {
position: absolute;
background: linear-gradient(
90deg,
transparent,
#3b82f6,
transparent
);
height: 2px;
opacity: 0.4;
animation: circuit-flow 3s linear infinite;
}
.circuit-line:nth-child(1) {
top: 20%;
left: -100%;
right: -100%;
animation-delay: 0s;
}
.circuit-line:nth-child(2) {
top: 40%;
left: -100%;
right: -100%;
animation-delay: 1s;
}
.circuit-line:nth-child(3) {
top: 60%;
left: -100%;
right: -100%;
animation-delay: 2s;
}
@keyframes circuit-flow {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(100%);
}
}
/* Islas flotantes de servidores */
.floating-servers {
position: absolute;
width: 100%;
height: 200px;
top: 150px;
z-index: 3;
}
.server-island {
position: absolute;
width: 80px;
height: 100px;
background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
border: 2px solid #3b82f6;
border-radius: 8px;
box-shadow: 0 10px 30px rgba(59, 130, 246, 0.3);
opacity: 0.8;
}
.server-island::before {
content: "";
position: absolute;
width: 60%;
height: 4px;
background: #10b981;
top: 20px;
left: 20%;
border-radius: 2px;
animation: server-blink 2s infinite;
}
@keyframes server-blink {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.3;
}
}
.server-1 {
top: 50px;
left: 10%;
animation: float-1 6s ease-in-out infinite;
}
.server-2 {
top: 120px;
right: 15%;
animation: float-2 8s ease-in-out infinite;
}
.server-3 {
top: 30px;
right: 30%;
animation: float-3 7s ease-in-out infinite;
}
@keyframes float-1 {
0%,
100% {
transform: translateY(0) rotate(2deg);
}
50% {
transform: translateY(-20px) rotate(-2deg);
}
}
@keyframes float-2 {
0%,
100% {
transform: translateY(0) rotate(-1deg);
}
50% {
transform: translateY(-15px) rotate(1deg);
}
}
@keyframes float-3 {
0%,
100% {
transform: translateY(0) rotate(1deg);
}
50% {
transform: translateY(-25px) rotate(-1deg);
}
}
/* Contenido del póster */
.content {
position: relative;
z-index: 10;
padding: 40px;
height: 100%;
display: flex;
flex-direction: column;
}
.header {
text-align: center;
margin-bottom: 20px;
}
.event-location {
font-family: "Merienda", cursive;
font-size: 34px;
font-weight: 700;
letter-spacing: 3px;
color: #ce422b;
text-shadow: 0 0 20px rgba(206, 66, 43, 0.5);
margin-bottom: 10px;
}
.event-name {
font-size: 20px;
color: #3b82f6;
letter-spacing: 2px;
}
/* Espacio para el cangrejo */
.crab-space {
height: 135px;
}
.main-title {
text-align: center;
margin-bottom: 30px;
margin-top: 0px;
}
.title {
font-family: "Merienda", cursive;
font-size: 59px;
font-weight: 550;
letter-spacing: 1.8px;
margin-bottom: 15px;
background: linear-gradient(
135deg,
#00d4ff,
#1e40af,
#00ffb3,
#00d4ff
);
background-size: 200% 200%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: gradient-shift 4s ease infinite;
filter: drop-shadow(0 0 30px rgba(0, 212, 255, 0.5));
-webkit-text-stroke: 0.4px rgba(0, 212, 255, 0.2);
position: relative;
}
.title::after {
content: "";
position: absolute;
bottom: 8px;
left: 0;
width: 95%;
height: 3px;
background: rgba(0, 212, 255, 0.6);
border-radius: 1.5px;
filter: drop-shadow(0 0 6px rgba(0, 212, 255, 0.3));
transform-origin: left center;
animation: progressBar 4s ease-out infinite;
}
@keyframes progressBar {
0% {
transform: scaleX(0);
opacity: 0;
}
10% {
opacity: 1;
}
70% {
transform: scaleX(1);
opacity: 1;
}
100% {
transform: scaleX(1);
opacity: 0;
}
}
.title-prov {
font-family: "Merienda", cursive;
font-weight: 300;
letter-spacing: 8px;
font-size: 50px;
}
@keyframes gradient-shift {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.subtitle {
font-family: "Merienda", cursive;
font-size: 17px;
color: #94a3b8;
margin-bottom: 10px;
font-weight: 400;
letter-spacing: 0px;
}
.tagline {
font-size: 16px;
color: #3b82f6;
font-style: italic;
}
.top-logo {
position: absolute;
top: 35px;
right: 35px;
width: 90px;
height: 90px;
z-index: 20;
}
.logo-hexagon {
width: 100%;
height: 100%;
position: relative;
animation: logo-rotate 15s linear infinite;
}
@keyframes logo-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.hex-shape {
width: 100%;
height: 100%;
background: linear-gradient(135deg, #00d4ff, #7b2bff, #00ffb3);
clip-path: polygon(
30% 0%,
70% 0%,
100% 30%,
100% 70%,
70% 100%,
30% 100%,
0% 70%,
0% 30%
);
position: relative;
box-shadow:
0 0 40px rgba(0, 212, 255, 0.6),
inset 0 0 20px rgba(255, 255, 255, 0.2);
}
.hex-inner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 75%;
height: 75%;
background: rgba(10, 10, 10, 0.95);
clip-path: polygon(
30% 0%,
70% 0%,
100% 30%,
100% 70%,
70% 100%,
30% 100%,
0% 70%,
0% 30%
);
}
.hex-text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-family: "Merienda", cursive;
font-size: 48px;
font-weight: 700;
color: #00ffb3;
text-shadow:
0 0 20px rgba(0, 255, 179, 0.9),
0 0 40px rgba(0, 255, 179, 0.5);
}
/* Anillo de energía alrededor del hexágono */
.energy-ring {
position: absolute;
top: -10px;
left: -10px;
right: -10px;
bottom: -10px;
border: 2px solid transparent;
border-radius: 50%;
background: linear-gradient(
45deg,
transparent 30%,
rgba(0, 255, 179, 0.3) 50%,
transparent 70%
);
animation: ring-pulse 3s linear infinite;
}
@keyframes ring-pulse {
0% {
transform: rotate(0deg) scale(1);
opacity: 0;
}
50% {
opacity: 1;
}
100% {
transform: rotate(360deg) scale(1.2);
opacity: 0;
}
}
/* Grid de características */
.features-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 15px;
margin-bottom: 30px;
padding: 20px;
background: rgba(0, 0, 0, 0.5);
border-radius: 12px;
backdrop-filter: blur(10px);
}
.feature-item {
text-align: center;
padding: 15px;
background: rgba(206, 66, 43, 0.1);
border-radius: 8px;
border: 1px solid rgba(206, 66, 43, 0.3);
}
.feature-emoji {
font-size: 32px;
margin-bottom: 5px;
}
.feature-text {
font-size: 12px;
color: #cbd5e1;
font-weight: 600;
}
/* Terminal holográfico */
.holographic-terminal {
background: rgba(0, 0, 0, 0.8);
border: 2px solid transparent;
background-image:
linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
linear-gradient(135deg, #00d4ff, #7b2bff, #00ffb3);
background-origin: border-box;
background-clip: padding-box, border-box;
border-radius: 8px;
padding: 20px;
margin-bottom: 30px;
position: relative;
overflow: hidden;
}
.holographic-terminal::before {
content: "";
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
45deg,
transparent 30%,
rgba(59, 130, 246, 0.1) 50%,
transparent 70%
);
animation: hologram 4s linear infinite;
}
@keyframes hologram {
0% {
transform: translate(-50%, -50%) rotate(0deg);
}
100% {
transform: translate(-50%, -50%) rotate(360deg);
}
}
.terminal-text {
font-family: "JetBrains Mono", monospace;
font-size: 14px;
color: #10b981;
position: relative;
z-index: 1;
}
/* Speaker info */
.speaker-section {
text-align: center;
margin-bottom: 30px;
padding: 20px;
background: rgba(206, 66, 43, 0.1);
border-radius: 12px;
border: 2px solid rgba(206, 66, 43, 0.3);
}
.speaker-name {
font-size: 24px;
font-weight: 700;
color: #ce422b;
margin-bottom: 5px;
}
.speaker-title {
font-size: 14px;
color: #cbd5e1;
}
/* Footer */
.footer {
margin-top: auto;
text-align: center;
padding: 20px;
background: linear-gradient(
135deg,
rgba(206, 66, 43, 0.2),
rgba(59, 130, 246, 0.2)
);
border-radius: 12px;
}
.contact-row {
display: flex;
justify-content: center;
gap: 30px;
margin-bottom: 15px;
font-size: 14px;
color: #cbd5e1;
}
.register-cta {
font-size: 18px;
font-weight: 700;
color: #fff;
text-transform: none;
letter-spacing: 2px;
padding: 15px 30px;
margin: 15px;
background: linear-gradient(135deg, #ce422b, #f97316);
border-radius: 30px;
display: inline-block;
box-shadow: 0 10px 30px rgba(206, 66, 43, 0.4);
animation: pulse-cta 2s infinite;
}
@keyframes pulse-cta {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
}
/* Partículas de datos */
.data-particles {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 2;
pointer-events: none;
}
.particle {
position: absolute;
width: 4px;
height: 4px;
background: #3b82f6;
border-radius: 50%;
opacity: 0;
animation: particle-rise 8s linear infinite;
}
.particle:nth-child(1) {
left: 10%;
animation-delay: 0s;
}
.particle:nth-child(2) {
left: 30%;
animation-delay: 2s;
}
.particle:nth-child(3) {
left: 50%;
animation-delay: 4s;
}
.particle:nth-child(4) {
left: 70%;
animation-delay: 6s;
}
.particle:nth-child(5) {
left: 90%;
animation-delay: 8s;
}
@keyframes particle-rise {
0% {
bottom: -10px;
opacity: 0;
}
10% {
opacity: 1;
}
90% {
opacity: 1;
}
100% {
bottom: 100%;
opacity: 0;
}
}
.event-content {
font-family: "Inter", sans-serif;
display: flex;
z-index: 20;
gap: 15px;
color: white;
}
.event-details {
display: flex;
font-size: 16px;
flex-direction: column;
color: white;
margin-top: 15px;
min-width: 150px;
}
.event-details span {
margin-left: 15px;
}
#event-rust-las-palmas {
border-top: 1px solid gray;
font-family: "Inter", sans-serif;
width: 300px;
margin: 0px auto;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
z-index: 20;
font-size: 16px;
color: white;
text-align: center;
padding: 10px 40px;
font-weight: bold;
gap: 15px;
}
.event-rust-las-palmas span {
margin-left: 15px;
}
.event-info {
font-size: 16px;
color: white;
text-align: center;
padding: 20px 20px;
font-weight: bold;
}
.event-info span {
margin-left: 8px;
}
.event-date {
font-size: 16px;
margin-bottom: 15px;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.event-time {
font-size: 16px;
margin-bottom: 15px;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.event-location {
font-size: 14px;
line-height: 1.3;
}
.event-location p {
margin-top: 15px;
}
.event-location .white {
background: white;
padding: 2px;
border-radius: 50%;
}
.event-type a p {
margin-top: 11px;
}
.event-type a,
.event-location a {
color: white;
font-weight: normal;
font-family: "Inter", sans-serif;
text-decoration: none;
font-size: 14px;
letter-spacing: 0.5px;
}
.event-cta-container {
display: flex;
font-size: 16px;
flex-direction: column;
color: white;
}
.event-cta-container .event-warning {
margin-top: 20px;
}
.event-cta {
display: inline-block;
padding: 5px 10px;
background: linear-gradient(90deg, #00d4ff 0%, #00ff88 100%);
color: #0a0a0a;
text-decoration: none;
border-radius: 30px;
font-weight: bold;
font-size: 15px;
transition: all 0.3s ease;
margin-bottom: 2px;
}
.event-content .event-type {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding-right: 20px;
border-right: 1px solid gray;
}
.event-container {
margin: 11px 0px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.location-header,
.event-type {
font-size: 13px;
margin: 12px 5px;
opacity: 0.9;
letter-spacing: 1px;
}
.provisioning-logo {
text-align: center;
margin-bottom: 15px;
}
#med-logo {
width: 220px;
}
#med-text-logo {
width: 400px;
display: block;
margin: 10px auto 0;
filter: drop-shadow(0 0 30px rgba(0, 212, 255, 0.5));
}
/* Animación CSS para el texto SVG - usando misma duración que gradient-shift */
#med-text-logo path {
animation: svgGradientShift 4s ease infinite !important;
}
#med-text-logo path:nth-child(1) { animation-delay: 0s; }
#med-text-logo path:nth-child(2) { animation-delay: 0.1s; }
#med-text-logo path:nth-child(3) { animation-delay: 0.2s; }
#med-text-logo path:nth-child(4) { animation-delay: 0.3s; }
#med-text-logo path:nth-child(5) { animation-delay: 0.4s; }
#med-text-logo path:nth-child(6) { animation-delay: 0.5s; }
#med-text-logo path:nth-child(7) { animation-delay: 0.6s; }
#med-text-logo path:nth-child(8) { animation-delay: 0.7s; }
#med-text-logo path:nth-child(9) { animation-delay: 0.8s; }
#med-text-logo path:nth-child(10) { animation-delay: 0.9s; }
#med-text-logo path:nth-child(11) { animation-delay: 1s; }
#med-text-logo path:nth-child(12) { animation-delay: 1.1s; }
/* Animación para la línea subyacente - misma duración */
#med-text-logo g:last-child path {
animation: svgGradientShift 4s ease infinite;
}
/* Animación para las partículas - más rápida */
#med-text-logo circle {
animation: svgGradientShift 2s ease infinite;
}
@keyframes svgGradientShift {
0% {
fill: #00d4ff !important;
}
25% {
fill: #1e40af !important;
}
50% {
fill: #00ffb3 !important;
}
75% {
fill: #00d4ff !important;
}
100% {
fill: #00d4ff !important;
}
}
#event-rust-las-palmas .rust-laspalmas-logo-black {
margin-bottom: 15px;
}
.event-register {
font-size: 15px;
marging-top: 2px;
}
.event-warning {
font-size: 13px;
margin: 15px;
opacity: 0.9;
}