@font-face {
	font-family: 'boldbold';
	src: url('fonts/bold.ttf') format('truetype');
	font-display: swap;
}

@import url(https://fonts.googleapis.com/css?family=IBM+Plex+Sans:100,200,300,regular,500,600,700,100italic,200italic,300italic,italic,500italic,600italic,700italic);

@keyframes appear {
	from {
		opacity: 0;
		transform: translateY(50px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body {
	background-color: #0d0d0d;
	color: #f2f2f2;
	margin: 0;
	overflow-x: hidden;
	user-select: none;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex: 1;
	padding-top: 80px;
}

::-webkit-scrollbar {
	width: 12px;
}

::-webkit-scrollbar-track {
	background: #0d0d0d;
}

::-webkit-scrollbar-thumb {
	background-color: #333;
	border-radius: 10px;
	border: 3px solid #0d0d0d;
}

::-webkit-scrollbar-thumb:hover {
	background-color: #555;
}

.header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #333;
	padding: 0 40px;
	height: 60px;
	position: fixed;
	width: 100%;
	top: 0;
	background-color: rgba(13, 13, 13, 0.8);
	backdrop-filter: blur(10px);
	z-index: 1000;
	box-sizing: border-box;
}

.title {
	font-size: 24px;
	font-family: 'boldbold', sans-serif;
	margin: 0;
}

.title-link {
	text-decoration: none;
	color: inherit;
}

.nav {
	display: flex;
	gap: 20px;
	align-items: center;
}

.nav-link {
	text-decoration: none;
	color: #f2f2f2;
	font-family: 'IBM Plex Sans', sans-serif;
	font-size: 16px;
	transition: color 0.3s;
}

.nav-link:hover {
	color: #a9a9a9;
}

.main-content {
	animation: appear 1s ease-out;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.center-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	min-height: calc(100vh - 80px); /* Adjust for header height */
}

.logo-text-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.center-logo {
	width: 100px;
	height: auto;
}

.center-text h1 {
	font-size: 72px;
	font-family: 'boldbold', sans-serif;
	margin: 0;
}

.center-text p {
	font-size: 20px;
	font-family: 'IBM Plex Sans', sans-serif;
	color: #9d9d9d;
	margin-top: 10px;
}

.about-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 40px;
	padding: 40px;
	max-width: 1200px;
	margin: 0 auto;
}

.about-box {
	background-color: #1a1a1a;
	border-radius: 8px;
	padding: 30px;
	text-align: left;
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.about-box.visible {
	opacity: 1;
	transform: translateY(0);
}

.about-box h2,
.about-box h3 {
	font-family: 'boldbold', sans-serif;
	font-size: 28px;
	margin-bottom: 20px;
}

.about-box p {
	font-size: 16px;
	font-family: 'IBM Plex Sans', sans-serif;
	line-height: 1.6;
	color: #ccc;
}

.about-box a {
	text-decoration: none;
	color: #f2f2f2;
	font-weight: 500;
}

.about-box a:hover {
	text-decoration: underline;
}

.github-stats img {
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.projects-section {
	padding: 40px;
	max-width: 1200px;
	margin: 40px auto;
}

.projects-section h2 {
	font-family: 'boldbold', sans-serif;
	font-size: 36px;
	text-align: center;
	margin-bottom: 40px;
}

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

.project-box {
	background-color: #1a1a1a;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s, box-shadow 0.3s;
}

.project-box:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.project-photo {
	width: 100%;
	height: 200px;
	object-fit: cover;
	transition: opacity 0.5s ease;
}

.project-content {
	padding: 20px;
}

.project-content h3 {
	font-family: 'boldbold', sans-serif;
	font-size: 22px;
	margin: 0 0 10px 0;
}

.project-content p {
	font-family: 'IBM Plex Sans', sans-serif;
	font-size: 16px;
	color: #ccc;
	line-height: 1.6;
}

.copied-box {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #333;
	color: #fff;
	padding: 10px 20px;
	border-radius: 5px;
	font-family: 'IBM Plex Sans', sans-serif;
	font-size: 14px;
	z-index: 1001;
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
}

.copied-box.show {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

.footer {
	border-top: 1px solid #333;
	background-color: #0d0d0d;
	padding: 20px 40px;
	margin-top: auto;
}

.footer-grid {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
}

.footer-box h3 {
	font-family: 'boldbold', sans-serif;
	font-size: 20px;
	margin-bottom: 10px;
}

.footer-box p {
	font-family: 'IBM Plex Sans', sans-serif;
	font-size: 16px;
	line-height: 1.8;
}

.footer-box a {
	text-decoration: none;
	color: #f2f2f2;
}

.footer-box a:hover {
	text-decoration: underline;
}

#seasonal-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: -1;
}

.snowflake,
.petal,
.sun-mote,
.leaf {
	position: absolute;
	top: -10px;
	opacity: 0.6;
	animation: fall linear infinite;
}

.snowflake {
	background-color: #fff;
	border-radius: 50%;
}

.petal {
	border-radius: 50%;
}

.sun-mote {
	background-color: #ffd700;
	border-radius: 50%;
	box-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700;
	animation-name: shimmer;
}

.leaf {
	border-radius: 0 50% 0 50%;
	animation-name: fall-rotate;
}

@keyframes fall {
	to {
		transform: translateY(105vh);
	}
}

@keyframes fall-rotate {
	to {
		transform: translateY(105vh) rotate(360deg);
	}
}

@keyframes shimmer {
	0%,
	100% {
		opacity: 0.6;
		transform: translateY(0) scale(1);
	}
	50% {
		opacity: 1;
		transform: translateY(50vh) scale(1.2);
	}
	to {
		transform: translateY(105vh) scale(1);
	}
}

/* Responsive Design */
@media (max-width: 768px) {
	.header {
		padding: 0 20px;
		height: 50px;
	}

	.title {
		font-size: 20px;
	}

	.nav {
		gap: 15px;
	}

	.nav-link {
		font-size: 14px;
	}

	main {
		padding-top: 60px;
	}

	.center-text h1 {
		font-size: 48px;
	}

	.center-text p {
		font-size: 16px;
	}

	.center-logo {
		width: 80px;
	}

	.about-grid {
		padding: 20px;
		gap: 20px;
	}

	.about-box {
		padding: 20px;
	}

	.about-box h2,
	.about-box h3 {
		font-size: 24px;
	}

	.footer {
		padding: 20px;
	}

	.footer-grid {
		justify-content: center;
		text-align: center;
	}

	.about-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.header {
		flex-direction: column;
		height: auto;
		padding: 10px;
		align-items: center;
		justify-content: center;
	}

	main {
		padding-top: 100px;
	}

	.about-grid {
		grid-template-columns: 1fr;
	}

	.nav {
		margin-top: 10px;
	}

	.center-text h1 {
		font-size: 36px;
	}

	.center-text p {
		font-size: 14px;
	}

	.center-logo {
		width: 60px;
	}

	.github-stats img {
		max-width: 100%;
		height: auto;
	}
}
