UNPKG

reactbits-mcp-server

Version:

MCP Server for React Bits - Access 99+ React components with animations, backgrounds, and UI elements

661 lines (558 loc) 11.4 kB
.features-section { position: relative; margin-top: 12em; padding: 8rem 2rem 4em; padding-bottom: 0 !important; z-index: 22; user-select: none; } .features-container { max-width: 1200px; margin: 0 auto; } .features-header { text-align: center; margin-bottom: 4rem; } .features-title { font-size: 4rem; font-weight: 600; letter-spacing: -2px; color: #fff; margin-bottom: .2rem; background: linear-gradient(135deg, #fff 0%, #8660fa 20%, #a855f7 40%, #8400ff 60%, #a855f7 80%, #fff 100%); background-size: 200% 200%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-align: center; animation: gradientShift 4s ease-in-out infinite; display: inline-block; white-space: nowrap; } .features-title * { background: inherit; background-size: inherit; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: inherit; } @keyframes gradientShift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } .features-subtitle { font-size: 1.2rem; color: #ffffffb7; text-shadow: 0 0 2px rgba(255, 255, 255, 0.1), 0 0 4px rgba(255, 255, 255, 0.3), 0 0 8px rgba(255, 255, 255, 0.4), 0 0 136px rgba(132, 0, 255, 0.9); font-weight: 400; margin: 0; text-align: center; } @media (max-width: 768px) { .features-title { font-size: 2.5rem; } .features-subtitle { font-size: 1.1rem; } .features-header { margin-bottom: 3rem; } } @media (max-width: 480px) { .features-title { font-size: 2rem; } .features-subtitle { font-size: 1rem; } } .bento-grid { max-width: 1200px; display: grid; gap: 1.5em; grid-template-columns: 1fr; grid-auto-rows: auto; } @media (min-width: 480px) and (max-width: 767px) { .bento-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25em; } .card1 { grid-column: 1 / 3; grid-row: 1 / 2; } .card2 { grid-column: 1 / 2; grid-row: 2 / 3; } .card4 { grid-column: 2 / 3; grid-row: 2 / 3; } } @media (min-width: 50rem) { .bento-grid { grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(3, auto); gap: 1.5em; } .card1 { grid-column: 1 / 3; grid-row: 1 / 2; } .card2 { grid-column: 3 / 5; grid-row: 1 / 3; } .card4 { grid-column: 1 / 3; grid-row: 2 / 3; } } @media (min-width: 768px) and (max-width: 49.99rem) { .bento-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25em; } .card1 { grid-column: 1 / 3; grid-row: 1 / 2; } .card2 { grid-column: 3 / 4; grid-row: 1 / 3; } .card4 { grid-column: 1 / 2; grid-row: 2 / 3; } } .feature-card { user-select: none; background: #060010; border: 1px solid rgba(169, 148, 184, 0.2); border-radius: 16px; padding: 2rem; text-align: left; text-decoration: none; transition: all 0.3s ease; backdrop-filter: blur(10px); position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; height: 100%; min-height: 220px; --glow-x: 50%; --glow-y: 50%; --glow-intensity: 0; } .feature-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, rgba(163, 148, 184, 0.3), transparent); transition: opacity 0.3s ease; opacity: 0; } .feature-card::after { content: ''; position: absolute; inset: 0; padding: 1px; background: radial-gradient(200px circle at var(--glow-x) var(--glow-y), rgba(132, 0, 255, calc(var(--glow-intensity) * 0.8)) 0%, rgba(132, 0, 255, calc(var(--glow-intensity) * 0.4)) 30%, transparent 60%); border-radius: inherit; mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: subtract; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; pointer-events: none; transition: opacity 0.3s ease; } .feature-card:hover { box-shadow: 0 4px 40px -15px rgba(46, 24, 78, 0.4) !important; background: #0D0716; } .feature-card:hover::before { opacity: 1; } .feature-icon { font-size: 2.5rem; margin-bottom: 2rem; display: flex; justify-content: flex-start; align-items: center; flex-shrink: 0; } .feature-card h3 { font-size: 1rem; font-weight: 600; color: #fff; margin-bottom: 0.5rem; letter-spacing: -0.01em; flex-shrink: 0; position: relative; z-index: 10; } .feature-card h2 { font-size: 6rem; position: relative; top: 22px; margin: 0; font-weight: 800; background: linear-gradient(135deg, #fff 0%, #8660fa 20%, #a855f7 40%, #8400ff 60%, #a855f7 80%, #fff 100%); background-size: 200% 200%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: gradientShift 4s ease-in-out infinite; z-index: 10; } .feature-card p { color: rgba(161, 148, 184, 0.9); line-height: 1.4; font-size: 0.95rem; text-align: left; max-width: 100%; position: relative; z-index: 10; } .particle-container { position: relative; overflow: hidden; } .particle { position: absolute; width: 4px; height: 4px; background: rgba(132, 0, 255, 0.8); border-radius: 50%; pointer-events: none; z-index: 100; box-shadow: 0 0 6px rgba(132, 0, 255, 0.6); } .particle::before { content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; background: rgba(132, 0, 255, 0.3); border-radius: 50%; z-index: -1; } .feature-card.particle-container { overflow: hidden; } .feature-card.particle-container:hover { box-shadow: 0 4px 20px rgba(46, 24, 78, 0.4), 0 0 30px rgba(132, 0, 255, 0.2); background: #0D0716; } .global-spotlight { mix-blend-mode: screen; will-change: transform, opacity; z-index: 200 !important; pointer-events: none; } .components-gif-wrapper { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 1; overflow: hidden; opacity: 0; transition: opacity 0.3s ease; } .feature-card:hover .components-gif-wrapper { opacity: 1; } .components-gif { width: 100%; height: auto; opacity: 0.2; mix-blend-mode: lighten; display: block; } .components-gif-wrapper::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(to top, #060010 0%, transparent 100%); border-radius: 0 0 8px 8px; pointer-events: none; z-index: 2; } .components-gif-wrapper::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 20%; background: linear-gradient(to bottom, #060010 0%, transparent 100%); border-radius: 8px 8px 0 0; pointer-events: none; z-index: 2; } .messages-gif-wrapper { position: absolute; mix-blend-mode: lighten; top: 0.5rem; right: 1rem; bottom: 1rem; width: 50%; border-radius: 8px; z-index: 1; overflow: hidden; opacity: 0; transition: opacity 0.3s ease; } .feature-card:hover .messages-gif-wrapper { opacity: 1; } .messages-gif { width: 100%; height: 100%; object-fit: contain; border-radius: 0; opacity: 0.3; display: block; } .messages-gif-wrapper::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(to top, #060010 0%, transparent 100%); border-radius: 0 0 8px 8px; pointer-events: none; z-index: 2; } .messages-gif-wrapper::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 20%; background: linear-gradient(to bottom, #060010 0%, transparent 100%); border-radius: 8px 8px 0 0; pointer-events: none; z-index: 2; } .switch-gif-wrapper { position: absolute; top: 0; right: 1rem; width: 40%; mix-blend-mode: lighten; border-radius: 8px; z-index: 1; overflow: hidden; opacity: 0; transition: opacity 0.3s ease; } .feature-card:hover .switch-gif-wrapper { opacity: 1; } .switch-gif { width: 100%; height: 100%; object-fit: contain; border-radius: 0; opacity: 0.3; display: block; } .switch-gif-wrapper::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(to top, #060010 0%, transparent 100%); border-radius: 0 0 8px 8px; pointer-events: none; z-index: 2; } .switch-gif-wrapper::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 20%; background: linear-gradient(to bottom, #060010 0%, transparent 100%); border-radius: 8px 8px 0 0; pointer-events: none; z-index: 2; } @media (max-width: 479px) { .features-section { padding: 4rem 1rem 2rem; padding-bottom: 0; margin-top: 4em; } .bento-grid { gap: 1rem; max-width: 100%; } .feature-card { min-height: 160px; padding: 1.25rem; border-radius: 12px; } .feature-icon { font-size: 1.75rem; margin-bottom: 0.75rem; } .feature-card h2 { font-size: 4rem; } .feature-card h3 { font-size: 1rem; margin-bottom: 0.5rem; } .feature-card p { font-size: 0.85rem; line-height: 1.6; } .components-gif-wrapper, .messages-gif-wrapper, .switch-gif-wrapper { display: none !important; } } @media (max-width: 360px) { .features-section { padding: 2.5rem 0.5rem 1rem; } .bento-grid { gap: 0.75rem; } .feature-card { min-height: 150px; padding: 1rem; border-radius: 10px; } .feature-icon { font-size: 1.5rem; margin-bottom: 0.5rem; } .feature-card h2 { font-size: 4rem; } .feature-card h3 { font-size: 0.95rem; margin-bottom: 0.4rem; } .feature-card p { font-size: 0.8rem; line-height: 1.7; } .components-gif-wrapper, .messages-gif-wrapper, .switch-gif-wrapper { display: none !important; } } @media (min-width: 768px) { .features-section { padding: 6rem 2rem 3rem; margin-top: 6em; } .feature-card { min-height: 200px; padding: 1.75rem; } .feature-icon { font-size: 2.25rem; margin-bottom: 1.5rem; } .feature-card h3 { font-size: 1.15rem; } .feature-card p { font-size: 0.92rem; } .components-gif-wrapper, .messages-gif-wrapper, .switch-gif-wrapper { display: none !important; } } @media (min-width: 50rem) { .features-section { padding: 8rem 2rem 4rem; padding-bottom: 0; margin-top: 8em; } .feature-card { min-height: 220px; padding: 2rem; } .feature-icon { font-size: 2.5rem; margin-bottom: 1rem; } .feature-card h3 { font-size: 2rem; } .feature-card p { font-size: 0.95rem; } .components-gif-wrapper, .messages-gif-wrapper, .switch-gif-wrapper { display: block !important; } } @media (max-height: 500px) and (orientation: landscape) { .features-section { margin-top: 2em; padding: 2rem 1rem; } .feature-card { min-height: 140px; padding: 1rem; } .feature-icon { font-size: 1.5rem; margin-bottom: 0.5rem; } .feature-card h3 { font-size: 0.9rem; margin-bottom: 0.3rem; } .feature-card p { font-size: 0.8rem; } }