芝麻web文件管理V1.00
编辑当前文件:/home/paymbalq/kalibotics.com/benchmark-elements.css__456b06e
/* Benchmark Elements CSS - Inspired by leading robotics and technology institutions */ /* ===== Modern Grid Layout System ===== */ .grid-showcase { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin: 3rem 0; position: relative; z-index: 1; } .grid-item { background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(10px); border: 1px solid rgba(0, 210, 255, 0.1); border-radius: var(--border-radius); padding: 2rem; transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative; overflow: hidden; } .grid-item:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 98, 204, 0.2); } .grid-item::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 210, 255, 0.1) 0%, rgba(0, 98, 204, 0.1) 100%); z-index: -1; } /* ===== Data Visualization Elements ===== */ .data-progress { width: 100%; height: 6px; background-color: rgba(255, 255, 255, 0.1); border-radius: 3px; margin: 1rem 0; position: relative; overflow: hidden; } .data-progress-bar { height: 100%; background: linear-gradient(90deg, var(--primary-color), var(--accent-color)); border-radius: 3px; position: relative; width: 0; transition: width 1.5s cubic-bezier(0.165, 0.84, 0.44, 1); } .data-progress-bar::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); animation: progressShine 2s infinite linear; } @keyframes progressShine { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } .stat-circle { position: relative; width: 120px; height: 120px; margin: 0 auto 1.5rem; } .stat-circle svg { width: 100%; height: 100%; transform: rotate(-90deg); } .stat-circle-bg { fill: none; stroke: rgba(0, 98, 204, 0.1); stroke-width: 8; } .stat-circle-progress { fill: none; stroke: var(--accent-color); stroke-width: 8; stroke-linecap: round; stroke-dasharray: 283; stroke-dashoffset: 283; transition: stroke-dashoffset 2s ease; } .stat-circle-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: 'Orbitron', sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--primary-color); } /* ===== Interactive Timeline ===== */ .timeline { position: relative; max-width: 1200px; margin: 3rem auto; padding: 2rem 0; } .timeline::before { content: ''; position: absolute; top: 0; left: 50%; width: 2px; height: 100%; background: linear-gradient(to bottom, rgba(0, 98, 204, 0), rgba(0, 98, 204, 0.5), rgba(0, 98, 204, 0)); transform: translateX(-50%); } .timeline-item { position: relative; width: 50%; padding: 1rem 3rem; box-sizing: border-box; opacity: 0; transform: translateY(50px); transition: all 0.8s ease; } .timeline-item.visible { opacity: 1; transform: translateY(0); } .timeline-item:nth-child(odd) { left: 0; text-align: right; } .timeline-item:nth-child(even) { left: 50%; text-align: left; } .timeline-item::after { content: ''; position: absolute; top: 50%; width: 20px; height: 20px; background-color: var(--accent-color); border-radius: 50%; box-shadow: 0 0 10px rgba(0, 210, 255, 0.5); transform: translateY(-50%); z-index: 1; } .timeline-item:nth-child(odd)::after { right: -10px; } .timeline-item:nth-child(even)::after { left: -10px; } .timeline-content { background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(10px); border: 1px solid rgba(0, 210, 255, 0.1); border-radius: var(--border-radius); padding: 1.5rem; position: relative; transition: transform 0.3s ease, box-shadow 0.3s ease; } .timeline-content:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 98, 204, 0.2); } .timeline-date { font-family: 'Orbitron', sans-serif; font-size: 0.9rem; color: var(--accent-color); margin-bottom: 0.5rem; } /* ===== Hover Card Effect ===== */ .hover-card { position: relative; overflow: hidden; border-radius: var(--border-radius); transition: transform 0.5s ease; } .hover-card:hover { transform: translateY(-10px); } .hover-card-image { width: 100%; height: 250px; object-fit: cover; transition: transform 0.5s ease; } .hover-card:hover .hover-card-image { transform: scale(1.05); } .hover-card-overlay { position: absolute; bottom: 0; left: 0; width: 100%; height: 0; background: linear-gradient(to top, rgba(0, 31, 63, 0.9), transparent); transition: height 0.5s ease; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; box-sizing: border-box; } .hover-card:hover .hover-card-overlay { height: 100%; } .hover-card-title { color: var(--light-text); font-family: 'Orbitron', sans-serif; font-size: 1.5rem; margin-bottom: 0.5rem; transform: translateY(20px); opacity: 0; transition: transform 0.5s ease, opacity 0.5s ease; transition-delay: 0.1s; } .hover-card-description { color: rgba(255, 255, 255, 0.8); font-size: 0.9rem; transform: translateY(20px); opacity: 0; transition: transform 0.5s ease, opacity 0.5s ease; transition-delay: 0.2s; } .hover-card:hover .hover-card-title, .hover-card:hover .hover-card-description { transform: translateY(0); opacity: 1; } /* ===== Animated Background Gradient ===== */ .gradient-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: linear-gradient(45deg, var(--dark-background), var(--secondary-color)); opacity: 0.8; } .gradient-bg::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 30% 50%, rgba(0, 210, 255, 0.1), transparent 50%), radial-gradient(circle at 70% 70%, rgba(121, 40, 202, 0.1), transparent 50%); animation: gradientShift 15s infinite alternate; } @keyframes gradientShift { 0% { background-position: 0% 0%; } 100% { background-position: 100% 100%; } } /* ===== Floating 3D Elements ===== */ .floating-element { position: absolute; width: 100px; height: 100px; background: linear-gradient(135deg, rgba(0, 210, 255, 0.1), rgba(0, 98, 204, 0.1)); border: 1px solid rgba(0, 210, 255, 0.2); border-radius: 10px; backdrop-filter: blur(5px); transform-style: preserve-3d; animation: float3D 10s infinite ease-in-out; z-index: 0; } @keyframes float3D { 0%, 100% { transform: translateZ(0) translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateZ(20px) translateX(10px) translateY(-10px) rotate(5deg); } 50% { transform: translateZ(0) translateX(20px) translateY(0) rotate(10deg); } 75% { transform: translateZ(-20px) translateX(10px) translateY(10px) rotate(5deg); } } /* ===== Modern Button Styles ===== */ .btn-modern { position: relative; display: inline-block; padding: 12px 30px; background: rgba(0, 98, 204, 0.1); border: 1px solid rgba(0, 210, 255, 0.3); border-radius: var(--border-radius); color: var(--light-text); font-family: 'Orbitron', sans-serif; font-size: 1rem; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; overflow: hidden; transition: all 0.3s ease; z-index: 1; cursor: pointer; } .btn-modern::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, var(--primary-color), var(--accent-color)); z-index: -1; transform: scaleX(0); transform-origin: right; transition: transform 0.5s ease; } .btn-modern:hover { color: white; border-color: transparent; } .btn-modern:hover::before { transform: scaleX(1); transform-origin: left; } /* ===== Scrolling Text Effect ===== */ .scrolling-text-container { width: 100%; overflow: hidden; background: rgba(0, 31, 63, 0.5); padding: 1rem 0; margin: 3rem 0; } .scrolling-text { display: flex; white-space: nowrap; animation: scrollText 20s linear infinite; } .scrolling-text span { display: inline-block; padding: 0 2rem; color: var(--light-text); font-family: 'Orbitron', sans-serif; font-size: 1.2rem; text-transform: uppercase; } @keyframes scrollText { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } /* ===== Glitch Text Effect ===== */ .glitch-text { position: relative; font-family: 'Orbitron', sans-serif; font-size: 2.5rem; font-weight: 700; color: var(--light-text); text-shadow: 0.05em 0 0 rgba(255, 0, 0, 0.75), -0.025em -0.05em 0 rgba(0, 255, 0, 0.75), 0.025em 0.05em 0 rgba(0, 0, 255, 0.75); animation: glitch 500ms infinite; } @keyframes glitch { 0% { text-shadow: 0.05em 0 0 rgba(255, 0, 0, 0.75), -0.025em -0.05em 0 rgba(0, 255, 0, 0.75), 0.025em 0.05em 0 rgba(0, 0, 255, 0.75); } 14% { text-shadow: 0.05em 0 0 rgba(255, 0, 0, 0.75), -0.025em -0.05em 0 rgba(0, 255, 0, 0.75), 0.025em 0.05em 0 rgba(0, 0, 255, 0.75); } 15% { text-shadow: -0.05em -0.025em 0 rgba(255, 0, 0, 0.75), 0.025em 0.025em 0 rgba(0, 255, 0, 0.75), -0.05em -0.05em 0 rgba(0, 0, 255, 0.75); } 49% { text-shadow: -0.05em -0.025em 0 rgba(255, 0, 0, 0.75), 0.025em 0.025em 0 rgba(0, 255, 0, 0.75), -0.05em -0.05em 0 rgba(0, 0, 255, 0.75); } 50% { text-shadow: 0.025em 0.05em 0 rgba(255, 0, 0, 0.75), 0.05em 0 0 rgba(0, 255, 0, 0.75), 0 -0.05em 0 rgba(0, 0, 255, 0.75); } 99% { text-shadow: 0.025em 0.05em 0 rgba(255, 0, 0, 0.75), 0.05em 0 0 rgba(0, 255, 0, 0.75), 0 -0.05em 0 rgba(0, 0, 255, 0.75); } 100% { text-shadow: -0.025em 0 0 rgba(255, 0, 0, 0.75), -0.025em -0.025em 0 rgba(0, 255, 0, 0.75), -0.025em -0.05em 0 rgba(0, 0, 255, 0.75); } } /* ===== Responsive Adjustments ===== */ @media (max-width: 768px) { .timeline::before { left: 30px; } .timeline-item { width: 100%; padding-left: 70px; padding-right: 20px; text-align: left; } .timeline-item:nth-child(odd), .timeline-item:nth-child(even) { left: 0; } .timeline-item:nth-child(odd)::after, .timeline-item:nth-child(even)::after { left: 20px; } .stat-circle { width: 100px; height: 100px; } .grid-showcase { grid-template-columns: 1fr; } }