kazzykaned's picture
Create a one-page personal portfolio website for a 'digital dream' artist named ALACON SHOLAKEH.
0f9c236 verified
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
:root {
--celestial-blue: #004f98;
--deep-space: #001a33;
--nebula-purple: #2d1b69;
--silver: #c0c0c0;
--starlight: #ffffff;
}
body {
font-family: 'Inter', sans-serif;
scroll-behavior: smooth;
}
/* Celestial Animations */
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
}
@keyframes twinkle {
0%, 100% { opacity: 0.3; }
50% { opacity: 1; }
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes nebulaPulse {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
/* Star Elements */
.star {
position: absolute;
width: 2px;
height: 2px;
background: white;
border-radius: 50%;
animation: twinkle 3s infinite;
}
.star:nth-child(2n) {
animation-delay: 1s;
}
.star:nth-child(3n) {
animation-delay: 2s;
}
/* Celestial Text Effects */
.celestial-text {
background: linear-gradient(135deg, #ffffff 0%, #c0c0c0 50%, #a8a8a8 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: fadeInUp 1.5s ease-out;
}
.celestial-title {
background: linear-gradient(135deg, #ffffff 0%, #c0c0c0 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.celestial-subtitle {
animation: fadeInUp 1.5s ease-out 0.5s both;
}
.celestial-card {
animation: fadeInUp 1s ease-out;
border: 1px solid rgba(192, 192, 192, 0.1);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
/* Portfolio Gallery Styles */
.portfolio-item {
position: relative;
overflow: hidden;
border-radius: 12px;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
border: 1px solid rgba(192, 192, 192, 0.1);
}
.portfolio-item:hover {
transform: translateY(-8px) scale(1.02);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
border-color: rgba(192, 192, 192, 0.3);
}
.portfolio-image {
width: 100%;
height: 300px;
object-fit: cover;
transition: transform 0.6s ease;
}
.portfolio-item:hover .portfolio-image {
transform: scale(1.1);
}
.portfolio-overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(transparent, rgba(0, 79, 152, 0.9));
padding: 2rem 1.5rem 1.5rem;
transform: translateY(100%);
transition: transform 0.4s ease;
}
.portfolio-item:hover .portfolio-overlay {
transform: translateY(0);
}
/* Navigation Styles */
.nav-link {
position: relative;
transition: all 0.3s ease;
}
.nav-link::after {
content: '';
position: absolute;
bottom: -5px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(90deg, #c0c0c0, #ffffff);
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: 100%;
}
/* Form Styles */
input, textarea {
backdrop-filter: blur(10px);
}
input:focus, textarea:focus {
backdrop-filter: blur(15px);
}
/* Responsive Design */
@media (max-width: 768px) {
.celestial-text {
font-size: 3rem !important;
}
.portfolio-item {
margin-bottom: 2rem;
}
}
/* Scroll Animations */
.fade-in {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
/* Nebula Background Effect */
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
radial-gradient(circle at 20% 80%, rgba(45, 27, 105, 0.1) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(0, 79, 152, 0.1) 0%, transparent 50%),
radial-gradient(circle at 40% 40%, rgba(0, 26, 51, 0.1) 0%, transparent 50%);
animation: nebulaPulse 20s ease-in-out infinite;
pointer-events: none;
z-index: -1;
}