30890-vm/assets/css/custom.css
2025-09-19 13:06:01 +00:00

119 lines
2.4 KiB
CSS

/*
Custom Styles for Personal Portfolio
*/
:root {
--primary-color: #3B82F6;
--secondary-color: #10B981;
--background-color: #F9FAFB;
--surface-color: #FFFFFF;
--text-color: #1F2937;
--light-text-color: #6B7280;
--border-radius: 0.5rem;
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
background-color: var(--background-color);
color: var(--text-color);
}
.navbar {
transition: background-color 0.3s ease-in-out;
}
.navbar-scrolled {
background-color: var(--surface-color);
box-shadow: var(--shadow-md);
}
.hero {
color: white;
padding: 8rem 0;
position: relative;
text-align: center;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: linear-gradient(to right, rgba(59, 130, 246, 0.8), rgba(16, 185, 129, 0.8)), url('../images/hero-kittens-45170.jpg');
background-size: cover;
background-position: center;
z-index: -1;
}
.hero h1 {
font-size: 3.5rem;
font-weight: 700;
}
.hero p {
font-size: 1.25rem;
}
.btn-primary {
background-color: var(--primary-color);
border-color: var(--primary-color);
padding: 0.75rem 1.5rem;
border-radius: var(--border-radius);
font-weight: 600;
}
.btn-primary:hover {
opacity: 0.9;
background-color: var(--primary-color);
border-color: var(--primary-color);
}
.section {
padding: 5rem 0;
}
.section-title {
text-align: center;
margin-bottom: 3rem;
font-size: 2.5rem;
font-weight: 700;
}
.portfolio-card {
border: none;
border-radius: var(--border-radius);
box-shadow: var(--shadow-md);
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.portfolio-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
.form-control:focus {
box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25);
border-color: var(--primary-color);
}
footer {
background-color: var(--surface-color);
padding: 2rem 0;
border-top: 1px solid #e5e7eb;
}
#contact-alert {
position: fixed;
top: 1rem;
right: 1rem;
z-index: 1050;
display: none;
min-width: 250px;
}