/* ========== THEME VARIABLES ========== */
/* Define light mode variables */
:root {
	--base-color: white; /* Background color */
	--base-variant: #e8e9ed; /* Lighter variant for sections */
	--text-color: #111528; /* Main text color */
	--secondary-text: #232738; /* Subtext color */
	--primary-color: #3a435d; /* Primary color (used in icons) */
	--accent-color: #0071ff; /* Accent color for buttons and highlights */
}
/* Define dark mode variables */
.darkmode {
	--base-color: #070b1d; /* Dark mode background color */
	--base-variant: #101425; /* Darker variant for sections */
	--text-color: #ffffff; /* Main text color in dark mode */
	--secondary-text: #a4a5b8; /* Subtext color in dark mode */
	--primary-color: #ffffff; /* Primary color (used in icons) */
	--accent-color: #0071ff; /* Accent color for dark mode */
}

/* ========== THEME SWITCH ========== */
/* Style for the theme toggle button */
#theme-switch {
	height: 30px;
	width: 30px;
	padding: 0;
	border-radius: 50%; /* Circular button */
	background-color: var(--base-variant);
	display: flex;
	justify-content: center;
	align-items: center; /* Center the icon */
}

/* Icons inside the theme switch button */
#theme-switch svg {
	fill: var(--primary-color); /* Center the icon */
}
/* Toggle visibility of icons based on theme */
#theme-switch svg:last-child {
	display: none; /* Dark mode icon hidden by default */
}
.darkmode #theme-switch svg:first-child {
	display: none; /* Light mode icon hidden in dark mode */
}
.darkmode #theme-switch svg:last-child {
	display: block; /* Show dark mode icon */
}
/* ========== RESET STYLES ========== */
/* Reset browser default styling to create a clean slate */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* ========== GLOBAL STYLES ========== */
body {
	font-family: "Arial", sans-serif; /* Primary font */
	line-height: 1.6; /* Text spacing */
	color: var(--text-color); /* Text color */
	background-color: var(--base-color); /* Background color */
	padding: 0;
	margin: 0;
}
/* Smooth scrolling effect */
html {
	scroll-behavior: smooth;
}

/* ========== NAVIGATION STYLES ========== */
/* Navbar container */
.navbar {
	background-color: var(--accent-color); /* Navbar background */
	color: white; /*changes color of the hamburger icon*/
	padding: 10px 0;
	position: relative;
}
/* Navbar content alignment */
.navdiv {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/* Style for navigation links */
.nav-links {
	list-style: none; /* Remove bullet points */
	display: flex; /* Display links inline */
}

.nav-links li {
	margin: 0 15px; /* Add space between links */
}

.nav-links a {
	color: white; /* Link text color */
	text-decoration: none; /* Remove underline */
	font-weight: bold; /* Emphasize links */
	padding: 10px; /* Add clickable area */
}

/* Hamburger menu (hidden on large screens) */
.hamburger {
	display: none; /* Hidden by default */
	font-size: 30px;
	cursor: pointer; /* Pointer cursor for interactivity */
}

/* Navigation list styles */
.navbar ul {
	list-style: none; /* Remove default list styling */
	display: flex; /* Inline links */
	justify-content: space-around; /* Spread out links */
}

.navbar a {
	color: white; /* Link color */
	text-decoration: none;
	font-weight: bold; /* Bold links */
}
/* Logo styling */
.logo img {
	width: 80px;
	height: 80px;
	border-radius: 50px; /* makes image a circle*/
}

/* ========== PROFILE SECTION STYLES ========== */
/* Section for profile introduction */
#profile {
	display: flex; /* Flex layout for alignment */
	align-items: center;
	justify-content: space-between;
	height: 100vh; /* Full-screen height */
	padding: 0 50px; /* Horizontal padding */
	background-color: var(--base-color); /* Background matching theme */
	position: relative;
}
/* Container for profile section elements */
.container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
.profile-pic-container {
	margin-bottom: 80px;
}

/* Image styling in the profile section */
.img-Headshot {
	width: 300px;
	height: 300px;
	object-fit: cover; /* Keep aspect ratio */
	border-radius: 10px;
	box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2); /* Add shadow effect */
}

/* Introductory text in the profile section */
.intro-text {
	text-align: left; /* Align text to the left */
}

/* Section title */
.title {
	font-size: 2.5rem; /* Large font for headings */
	color: var(--text-color); /* Match text color with theme */
	margin-bottom: 10px; /* Spacing below title */
}

/* Subheading text */
.intro-text-2 {
	font-size: 1.5rem; /* Medium font size */
	color: var(--secondary-text); /* Subtle secondary color */
	margin-bottom: 20px; /* Space below subtitle */
}

/* ========== Resume Button ========== */
.resume-button {
	display: inline-block; /* Keep button inline */
	padding: 12px 24px;
	background-color: var(--accent-color); /* Highlight button */
	color: #fff; /* White text */
	text-decoration: none; /* Remove underline */
	border-radius: 5px; /* Rounded corners */
	margin-top: 10px;
	font-size: 1.2rem; /* Larger button text */
	cursor: pointer; /* Pointer cursor */
	position: relative;
	z-index: 0;
}

.resume-button::after {
	content: "";
	z-index: -1;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--accent-color);
	left: 0;
	top: 0;
	border-radius: 10px;
}

/* Add glowing effect to resume button */
.resume-button::before {
	content: ""; /* Empty content for effect */
	background: linear-gradient(45deg, #569db3, #24e824, #18dcc8);
	position: absolute;
	top: -2px;
	left: -2px;
	background-size: 600%;
	z-index: -1; /* Behind the button */
	width: calc(100% + 4px);
	height: calc(100% + 4px);
	filter: blur(8px);
	animation: glowing 20s linear infinite; /* Infinite animation */
	border-radius: 10px; /* Match button shape */
	opacity: 0; /* Initially hidden */
}
/* Show glowing effect on hover */
.resume-button:hover::before {
	opacity: 1;
}
.resume-button:active:after {
	background: transparent;
}
/* Adjust active state styling */
.resume-button:active {
	color: #000; /* Change text color */
	font-weight: bold; /* Emphasize text */
}
/* ========== Social Links ========== */
.social-links {
	position: absolute;
	bottom: 60px;
	right: 40px;
	display: flex;
	gap: 20px; /* Space between icons */
}

.social-icon img {
	width: 50px;
	margin: 0 10px;
}
.github-icon {
	width: 50px;
	height: auto;
	transition: transform 0.3s;
}
.github-icon:hover {
	transform: scale(1.2);
}
.linkedin-icon {
	width: 50px;
	height: auto;
	transition: transform 0.3s;
}
.linkedin-icon:hover {
	transform: scale(1.2);
}

/* ========== SECTION STYLES (General) ========== */
section {
	padding: 50px 0;
	text-align: center;
	margin-bottom: 50px;
}

section h2 {
	font-size: 2em;
	margin-bottom: 20px;
}
/*========== SKILLS ========== */
.language-container {
	margin-left: 50px;
	display: flex;
}
.cpp {
	width: 100px;
	height: auto;
}
.csharp {
	width: 100px;
	height: auto;
}
.html {
	width: 100px;
	height: auto;
}
.javascript {
	width: 100px;
	height: auto;
}
.css {
	width: 100px;
	height: auto;
}
.react {
	width: 100px;
	height: auto;
}

/* ========== ABOUT SECTION STYLES ========== */
/* Add specific styles for the about section here */
#About {
	background-color: var(--base-variant);
	padding: 50px 20px;
}

#About h2 {
	font-size: 2.5rem;
	color: var(--text-color); /*match the brand color*/
	text-align: center;
	margin-bottom: 20px;
}
.about-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto; /* center the content*/
	padding: 20px;
}
.about-text {
	flex: 1; /* Allow text to take up available space */
	font-size: 1.1rem;
	color: var(--text-color);
	line-height: 1.6;
	padding-right: 20px; /* Add some space between the text and image */
}
.about-text p {
	margin-bottom: 20px;
}
.about-text a {
	color: #8045ff; /* Highlight the link with my theme color */
	text-decoration: none;
}
.about-text a:hover {
	text-decoration: underline;
}
.about-img {
	width: 35%; /* Adjust the width to be relative to the section */
	height: auto; /* Keep the aspect ratio of the image */
	object-fit: cover; /* Ensures image fits well */
	border-radius: 10px; /* Optional: Add rounded corners */
}

@keyframes glowing {
	0% {
		background-position: 0 0;
	}
	50% {
		background-position: 400% 0;
	}
	100% {
		background-position: 0 0;
	}
}

/* Responsive Design: Stack text and image on smaller screens */
@media (max-width: 768px) {
	.about-content {
		flex-direction: column; /* Stack the content vertically */
	}

	.about-img {
		width: 100%; /* Image takes full width on small screens */
		margin-top: 20px; /* Add spacing above the image */
	}
}
/* ========== SKILLS SECTION STYLES ========== */
/* Add specific styles for the skills section here */

/* ========== PROJECTS SECTION STYLES ========== */
.card-container {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 100px;
}
.card {
	width: 325px;
	background-color: var(--base-variant);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0px 2px 4px rgb(0, 0, 0, 0, 3);
	margin: 20px;
}
.card img {
	width: 100%;
	height: auto;
}
.card-content {
	padding: 16px;
}
.card-content h3 {
	font-size: 28px;
	margin-bottom: 8px;
}
.card-content p {
	color: var(--text-color);
	font-size: 15px;
	line-height: 1.3;
}
.card-content .btn {
	display: inline-block;
	padding: 8px 16px;
	background-color: #333;
	text-decoration: none;
	border-radius: 4px;
	margin-top: 16px;
	color: #fff;
}

/* ========== Filter for project cards ========== */
.portfolio {
	padding: 2rem;
	text-align: center;
}

.project-filters {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 2rem;
}

.project-filters button {
	padding: 0.5rem 1rem;
	border: none;
	background-color: #007bff;
	color: #fff;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.project-filters button:hover {
	background-color: #0056b3;
}

.projects {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
}

.project {
	padding: 1rem;
	border: 1px solid #ccc;
	border-radius: 8px;
	background-color: #f9f9f9;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.project:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

.project.featured {
	border: 2px solid gold;
	background-color: #fdf3c7;
}

.project h3 {
	margin: 0.5rem 0;
	color: #333;
}

.project p {
	color: #666;
}

/* ========== CONTACT SECTION STYLES ========== */
/* Add specific styles for the contact section here */
#Contact {
	background-color: var(--base-color);
	color: var(--text-color);
	padding: 50px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100vh;
}

.contact-container {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 20px;
	background-color: var(--base-variant);
	border-radius: 10px;
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.contact-left {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 20px;
}
.contact-left-title {
	font-weight: 600;
	color: var(--text-color);
	font-size: 30px;
	margin-bottom: 5px;
}

.contact-left-title hr {
	border: none;
	width: 130px;
	height: 5px;
	background-color: var(--text-color);
	border-radius: 10px;
	margin-bottom: 20px;
}

.contact-inputs {
	width: 100%;
	height: 50px;
	border: 2px solid #0073e6;
	outline: none;
	padding-left: 25px;
	font-weight: 500;
	color: #333;
	border-radius: 50px;
	background-color: #ffffff;
	margin-bottom: 20px;
}
.contact-left textarea {
	width: 100%;
	height: 140px;
	padding-top: 15px;
	border-radius: 20px;
	margin-bottom: 20px;
}
.contact-inputs:focus {
	border: 2px solid #0073e6;
}
.contact-inputs::placeholder {
	color: rgb(5, 61, 110);
}
.contact-left button {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 30px;
	font-size: 16px;
	color: #fff;
	gap: 10px;
	border: none;
	border-radius: 50px;
	background: linear-gradient(270deg, #79d5f1, #3b5be6);
	cursor: pointer;
}

/* ========== MEDIA QUERIES ========== */
/* Make the site responsive */
@media (max-width: 768px) {
	.nav-links {
		display: none; /* Hide nav links by default on smaller screens */
		flex-direction: column; /* When shown, display the links vertically */
		position: absolute; /* Absolute position to overlay menu */
		top: 100%;
		right: 0;
		background-color: #0073e6;
		width: 100%;
		text-align: right;
	}

	/* Show the nav-links when clicked */
	.nav-links.active {
		display: none;
		flex-direction: column;
	}

	.nav-links li {
		margin: 15px 0;
	}

	.nav-links a {
		display: block;
		padding: 10px;
		border-bottom: 1px solid white;
	}

	.hamburger {
		display: block; /* Show hamburger icon on mobile */
	}

	.navbar ul {
		flex-direction: column;
		text-align: center;
	}

	.social-links img {
		width: 20px;
	}
	.github-icon {
		width: 25px; /* Smaller icon on mobile */
	}
	.linkedin-icon {
		width: 25px; /* Smaller icon on mobile */
	}
}

@media (min-width: 769px) {
	.linkedin-icon {
		width: 30px; /* Standard size for larger screens */
	}
	.github-icon {
		width: 30px; /* Standard size for larger screens */
	}
}
