Portfolio / static /style.css
Chaitanya895's picture
Update static/style.css
0a28c72 verified
/* Custom Fonts */
.font-orbitron {
font-family: 'Orbitron', sans-serif;
}
.font-lexend {
font-family: 'Lexend', sans-serif;
}
/* Color Variables */
:root {
--primary-blue: #1E90FF;
--dark-bg: #1A0B2E;
--light-gray: #F5F5F5;
--text-gray: #666;
}
/* Glassmorphism Effect */
.glassmorphic {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.15);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
transition: all 0.3s ease;
}
/* Neumorphic Effect */
.neumorphic {
background: #6B46C1;
box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3), -5px -5px 15px rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
}
.neumorphic:hover {
box-shadow: inset 5px 5px 15px rgba(0, 0, 0, 0.3), inset -5px -5px 15px rgba(255, 255, 255, 0.1);
}
/* Glow Effect */
.glow {
text-shadow: 0 0 10px var(--primary-blue);
transition: text-shadow 0.3s ease;
}
.glow:hover {
text-shadow: 0 0 15px var(--primary-blue);
}
img.glow, iframe.glow {
box-shadow: 0 0 15px var(--primary-blue);
}
/* Gradient wipe animation for #typing-text */
#typing-text {
display: block;
visibility: visible;
opacity: 1;
background: linear-gradient(to right, rgba(209, 213, 219, 0) 0%, rgba(209, 213, 219, 1) 50%, rgba(209, 213, 219, 1) 100%);
background-size: 200% 100%;
background-position: -100%;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
color: transparent;
animation: gradientWipe 2s ease-out forwards 1s;
}
@keyframes gradientWipe {
0% {
background-position: -100%;
-webkit-text-fill-color: transparent;
color: transparent;
}
100% {
background-position: 100%;
-webkit-text-fill-color: rgb(209, 213, 219);
color: rgb(209, 213, 219);
opacity: 1;
visibility: visible;
}
}
/* Ensure hero section contents stay visible */
#home .animate-slide-in,
#home .animate-slide-in h1,
#home .animate-slide-in p,
#home .animate-slide-in .flex {
opacity: 1 !important;
visibility: visible !important;
}
/* Ensure the image stays visible */
#home .animate-fade-in {
opacity: 1 !important;
visibility: visible !important;
}
/* Underline Effect */
.underline {
width: 60px;
height: 4px;
background: var(--primary-blue);
margin: 0 auto;
border-radius: 2px;
}
/* Buttons */
.btn-primary {
background: var(--primary-blue);
color: #fff;
padding: 10px 20px;
border-radius: 50px;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
min-height: 44px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.btn-primary:hover {
transform: translateY(-3px);
box-shadow: 0 0 20px var(--primary-blue);
}
.btn-secondary {
background: transparent;
border: 2px solid var(--primary-blue);
color: var(--primary-blue);
padding: 8px 18px;
border-radius: 50px;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
min-height: 44px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.btn-secondary:hover {
background: var(--primary-blue);
color: #fff;
box-shadow: 0 0 20px var(--primary-blue);
}
/* Ripple Effect */
.ripple .ripple-effect {
content: '';
position: absolute;
width: 80px;
height: 80px;
background: rgba(255, 255, 255, 0.3);
border-radius: 50%;
transform: scale(0);
animation: ripple-effect 0.6s ease-out;
}
@keyframes ripple-effect {
to {
transform: scale(4);
opacity: 0;
}
}
/* Skills Section */
#skills {
background: #fff;
position: relative;
overflow: hidden;
}
#skills-grid {
display: flex;
overflow-x: auto;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
}
.skill-card {
flex: 0 0 180px;
height: 280px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
text-align: center;
background: var(--light-gray);
border-radius: 15px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
padding: 0.75rem;
margin: 0 0.75rem;
}
.skill-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.skill-card i {
font-size: 1.5rem;
color: var(--primary-blue);
margin-bottom: 0.5rem;
}
.skill-card h3 {
font-size: 1rem;
font-weight: 600;
color: #333;
margin-bottom: 0.75rem;
}
.skill-card .space-y-3 {
width: 100%;
overflow-y: auto;
}
.skill-card .space-y-3::-webkit-scrollbar {
width: 4px;
}
.skill-card .space-y-3::-webkit-scrollbar-track {
background: #E5E5E5;
}
.skill-card .space-y-3::-webkit-scrollbar-thumb {
background: var(--primary-blue);
border-radius: 4px;
}
.skill-card .space-y-3::-webkit-scrollbar-thumb:hover {
background: #1E70D0;
}
.skill-item {
display: flex;
justify-content: space-between;
align-items: center;
gap: 0.5rem;
}
.skill-item span:first-child {
flex: 1;
text-align: left;
font-size: 0.85rem;
color: var(--text-gray);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 70px;
}
.progress-circle-container {
position: relative;
width: 36px;
height: 36px;
}
.progress-circle-bg {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
background: #E5E5E5;
}
.progress-circle {
width: 100%;
height: 100%;
transform: rotate(-90deg);
}
.progress-percentage {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 0.65rem;
color: var(--text-gray);
}
#skills,
#skills-grid,
.skill-card,
.skill-item,
.progress-circle-container,
.progress-circle,
.progress-percentage {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
}
#skills-grid::-webkit-scrollbar {
height: 6px;
}
#skills-grid::-webkit-scrollbar-track {
background: #E5E5E5;
}
#skills-grid::-webkit-scrollbar-thumb {
background: var(--primary-blue);
border-radius: 4px;
}
#skills-grid::-webkit-scrollbar-thumb:hover {
background: #1E70D0;
}
/* Project Overlay */
.project-overlay {
background: var(--primary-blue);
transition: opacity 0.3s ease;
}
/* Certifications, Volunteer, and Talks Cards */
.certification-card, .volunteer-card, .talk-card {
transition: transform 0.3s ease;
}
.certification-card:hover, .volunteer-card:hover, .talk-card:hover {
transform: scale(1.05);
}
/* Video Container */
.video-container {
position: relative;
padding-bottom: 56.25%; /* 16:9 aspect ratio */
height: 0;
overflow: hidden;
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/* Global Scrollbar */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
background: #2D1B46;
}
::-webkit-scrollbar-thumb {
background: var(--primary-blue);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #1E70D0;
}
/* Animations */
@keyframes slideIn {
from { opacity: 0; transform: translateY(50px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.animate-slide-in {
/* GSAP will handle this */
}
.animate-fade-in {
animation: fadeIn 1.5s ease-in-out;
}
/* Responsive Adjustments */
@media (max-width: 640px) {
#navbar .container {
padding-left: 1rem;
padding-right: 1rem;
}
#home {
padding-top: 5rem;
}
#home .container {
padding-left: 1rem;
padding-right: 1rem;
}
#typing-text {
line-height: 1.4;
}
.underline {
width: 50px;
height: 3px;
}
.btn-primary, .btn-secondary {
padding: 8px 16px;
font-size: 0.875rem;
}
#about .container {
padding-left: 1rem;
padding-right: 1rem;
}
#about p {
font-size: 0.95rem;
}
.stat-card {
padding: 1rem;
}
.stat-card h3 {
font-size: 1.5rem;
}
.stat-card p {
font-size: 0.875rem;
}
#skills .container {
padding-left: 1rem;
padding-right: 1rem;
}
.skill-card {
flex: 0 0 150px;
height: 240px;
padding: 0.5rem;
margin: 0 0.5rem;
}
.skill-card i {
font-size: 1.25rem;
}
.skill-card h3 {
font-size: 0.9rem;
margin-bottom: 0.5rem;
}
.skill-item span:first-child {
font-size: 0.75rem;
max-width: 60px;
}
.progress-circle-container {
width: 32px;
height: 32px;
}
.progress-circle circle {
cx: 16;
cy: 16;
r: 14;
stroke-width: 3;
}
.progress-percentage {
font-size: 0.6rem;
}
#skills-grid {
padding-bottom: 0.5rem;
}
#skills-grid::-webkit-scrollbar {
height: 5px;
}
#achievements .container {
padding-left: 1rem;
padding-right: 1rem;
}
.achievement-card {
padding: 1rem;
}
.achievement-card .icon-wrapper {
padding: 0.5rem;
}
.achievement-card i {
font-size: 1rem;
}
.achievement-card h3 {
font-size: 1rem;
}
.achievement-card p.text-sm {
font-size: 0.75rem;
}
.achievement-card p.text-gray-300 {
font-size: 0.875rem;
}
#hobbies .container {
padding-left: 1rem;
padding-right: 1rem;
}
.hobby-card {
padding: 1rem;
}
.hobby-card .icon-wrapper {
padding: 0.5rem;
}
.hobby-card i {
font-size: 1rem;
}
.hobby-card h3 {
font-size: 1rem;
}
.hobby-card p {
font-size: 0.875rem;
}
.hobby-card h4 {
font-size: 0.9rem;
}
.hobby-card label {
font-size: 0.75rem;
}
#star-rating {
font-size: 1.25rem;
}
#review-name, #review-description {
font-size: 0.875rem;
padding: 0.5rem;
}
#submit-review {
padding: 8px;
font-size: 0.875rem;
}
#reviews-container .glassmorphic {
padding: 0.75rem;
}
#reviews-container .font-orbitron {
font-size: 0.9rem;
}
#reviews-container .text-sm {
font-size: 0.75rem;
}
.delete-review i {
font-size: 0.875rem;
}
#projects .container {
padding-left: 1rem;
padding-right: 1rem;
}
.project-card {
padding-bottom: 1rem;
}
.project-card img {
height: 160px;
}
.project-card .p-6 {
padding: 1rem;
}
.project-card h3 {
font-size: 1rem;
}
.project-card p {
font-size: 0.75rem;
}
.tech-tag {
font-size: 0.65rem;
padding: 0.25rem 0.5rem;
}
#education .container, #certifications .container, #volunteer .container, #talks .container {
padding-left: 1rem;
padding-right: 1rem;
}
.education-card, .certification-card, .volunteer-card, .talk-card {
padding: 1rem;
}
.education-card .icon-wrapper, .certification-card .icon-wrapper, .volunteer-card .icon-wrapper, .talk-card .icon-wrapper {
padding: 0.5rem;
}
.education-card i, .certification-card i, .volunteer-card i, .talk-card i {
font-size: 1rem;
}
.education-card h3, .certification-card h3, .volunteer-card h3, .talk-card h3 {
font-size: 1rem;
}
.education-card .period, .certification-card .period, .volunteer-card .period, .talk-card .date {
font-size: 0.75rem;
}
.education-card h4, .certification-card h4, .volunteer-card h4, .talk-card h4 {
font-size: 0.9rem;
}
.education-card p, .certification-card p, .volunteer-card p, .talk-card p {
font-size: 0.875rem;
}
.education-card h5, .certification-card h5, .volunteer-card h5, .talk-card h5 {
font-size: 0.9rem;
}
.education-card ul, .certification-card ul, .volunteer-card ul, .talk-card ul {
font-size: 0.75rem;
}
#resume .container {
padding-left: 1rem;
padding-right: 1rem;
}
#resume .glassmorphic {
padding: 1.25rem;
}
#resume h3 {
font-size: 1.25rem;
}
#contact .container {
padding-left: 1rem;
padding-right: 1rem;
}
#contact-form {
padding: 1.25rem;
}
#email, #message {
padding: 0.5rem;
}
#contact-submit {
padding: 8px;
}
.footer .container {
padding-left: 1rem;
padding-right: 1rem;
}
#back-to-top {
padding: 0.75rem;
}
#back-to-top i {
font-size: 0.875rem;
}
#project-modal .glassmorphic {
padding: 1.25rem;
}
#modal-media img, #modal-media .video-container {
height: 160px;
}
#modal-title {
font-size: 1.25rem;
}
#modal-description, #modal-role {
font-size: 0.875rem;
}
#modal-tech .tech-tag {
font-size: 0.65rem;
padding: 0.25rem 0.5rem;
}
}
/* Adjustments for Very Small Screens */
@media (max-width: 400px) {
.skill-card {
flex: 0 0 140px;
height: 220px;
}
.skill-card h3 {
font-size: 0.85rem;
}
.skill-item span:first-child {
font-size: 0.7rem;
max-width: 50px;
}
.progress-circle-container {
width: 28px;
height: 28px;
}
.progress-circle circle {
cx: 14;
cy: 14;
r: 12;
stroke-width: 3;
}
.progress-percentage {
font-size: 0.55rem;
}
}