UNPKG

create-eleva-app

Version:
294 lines (246 loc) 4.63 kB
/* * Eleva App Styles * * This is the main stylesheet for your Eleva application. * Feel free to modify or extend it to match your design needs. */ :root { /* Eleva Brand Colors */ --eleva-primary: #4b0082; /* Deep Purple */ --eleva-secondary: #00bcd4; /* Teal */ --eleva-white: #ffffff; --eleva-light: #f8f9fa; --eleva-dark: #212529; --eleva-gray: #6c757d; /* Gradient Colors */ --eleva-gradient: linear-gradient( 135deg, var(--eleva-primary), var(--eleva-secondary) ); /* Typography */ --font-family-base: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } /* Base Styles */ * { box-sizing: border-box; margin: 0; padding: 0; } html, body { height: 100%; width: 100%; } body { font-family: var(--font-family-base); font-size: 1rem; line-height: 1.5; color: var(--eleva-dark); background-color: var(--eleva-white); } a { color: var(--eleva-primary); text-decoration: none; transition: color 0.2s ease; } a:hover { color: var(--eleva-secondary); } button { cursor: pointer; font-family: inherit; font-size: 1rem; padding: 0.5rem 1rem; background-color: var(--eleva-primary); color: var(--eleva-white); border: none; border-radius: 4px; transition: background-color 0.2s ease, transform 0.1s ease; } button:hover { background-color: var(--eleva-secondary); transform: translateY(-1px); } button:active { transform: translateY(0); } /* Layout */ .container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 1rem; } /* App Wrapper */ #app { min-height: 100vh; display: flex; flex-direction: column; } /* Header */ .app-header { color: var(--eleva-white); padding: 1rem 0; } .app-header .container { display: flex; justify-content: space-between; align-items: center; } .app-logo { height: 52px; } .nav-menu { display: flex; list-style: none; gap: 1.5rem; } .nav-link { color: var(--eleva-primary); font-weight: 500; position: relative; } .nav-link:hover { color: var(--eleva-secondary); } .nav-link::after { content: ""; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background-color: var(--eleva-white); transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; } .nav-link.active::after { width: 100%; } /* Main Content */ .app-main { flex: 1; padding: 2rem 0; } /* Hero Section */ .hero { text-align: center; padding: 4rem 0; } .hero-title { font-size: 2.5rem; font-weight: 700; margin-bottom: 1rem; background: var(--eleva-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; } .hero-subtitle { font-size: 1.25rem; color: var(--eleva-gray); max-width: 700px; margin: 0 auto 2rem; } .hero-buttons { display: flex; justify-content: center; gap: 1rem; } .btn-outlined { background: transparent; border: 2px solid var(--eleva-primary); color: var(--eleva-primary); } .btn-outlined:hover { background-color: var(--eleva-primary); color: var(--eleva-white); } /* Card */ .card { background-color: var(--eleva-white); border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); padding: 1.5rem; margin-bottom: 1.5rem; transition: transform 0.3s ease, box-shadow 0.3s ease; } .card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); } /* Footer */ .app-footer { background-color: var(--eleva-dark); color: var(--eleva-light); padding: 2rem 0; margin-top: auto; } .footer-content { display: flex; justify-content: space-between; align-items: center; } .footer-links { display: flex; list-style: none; gap: 1rem; } .footer-link { color: var(--eleva-light); opacity: 0.8; transition: opacity 0.2s ease; } .footer-link:hover { opacity: 1; color: var(--eleva-secondary); } /* Utilities */ .text-center { text-align: center; } .text-primary { color: var(--eleva-primary); } .text-secondary { color: var(--eleva-secondary); } .bg-primary { background-color: var(--eleva-primary); } .bg-secondary { background-color: var(--eleva-secondary); } .bg-gradient { background-image: var(--eleva-gradient); } /* Animations */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fade-in { animation: fadeIn 0.5s ease-in; } /* Responsive Adjustments */ @media (max-width: 768px) { .hero-title { font-size: 2rem; } .hero-subtitle { font-size: 1rem; } .footer-content { flex-direction: column; gap: 1rem; } }