/* GENERAL */

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap");

* {
	margin: 0;
	padding: 0;
}

/* General Scrollbar Styling */
::-webkit-scrollbar {
	width: 8px;
	/* Width of the scrollbar */
	height: 8px;
	/* Height of the scrollbar */
}

::-webkit-scrollbar-track {
	background: transparent;
	/* Track background color */
}

::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.3);
	/* Scrollbar color */
	border-radius: 4px;
	/* Rounded corners for the scrollbar */
	transition: background 0.3s;
	/* Smooth transition on hover */
}

::-webkit-scrollbar-thumb:hover {
	background: rgba(0, 0, 0, 0.5);
	/* Darker color when hovered */
}


/* Firefox */
body {
	scrollbar-width: thin;
	/* Thin scrollbar */
	scrollbar-color: rgba(0, 0, 0, 0.3) transparent;
	/* Scrollbar color and track color */
}

/* Dark Mode Scrollbar */
body.dark-mode {
	scrollbar-color: rgba(255, 255, 255, 0.3) !important;
	/* Scrollbar color and track color for dark mode */
}

body.dark-mode ::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.3) !important;
	/* Light color for scrollbar in dark mode */
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
	background: rgba(255, 255, 255, 0.5);
	/* Lighter color when hovered in dark mode */
}

body {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	line-height: 1.6;
	word-break: break-word;
	transition: background-color 300ms ease, color 300ms ease;
}

html {
	scroll-behavior: smooth;
}

p {
	color: rgb(85, 85, 85);
}

/* TRANSITION */

a,
.btn {
	transition: all 300ms ease;
}

/* DESKTOP NAV */

nav,
.nav-links {
	display: flex;
}

nav {
	justify-content: space-between;
	align-items: center;
	height: 18vh;
	padding: 0 40px;
	box-sizing: border-box;
}

.nav-links {
	gap: 1rem;
	list-style: none;
	font-size: 18px;
}

a {
	color: black;
	text-decoration: none;
}


.logo {
	font-size: 2rem;
}

.logo:hover {
	cursor: default;
}

/* HAMBURGER MENU */

#hamburger-nav {
	display: none;
}

.hamburger-menu {
	position: relative;
	display: inline-block;
}

.hamburger-icon {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 24px;
	width: 30px;
	cursor: pointer;
}

.hamburger-icon span {
	width: 100%;
	height: 2px;
	background-color: black;
	transition: all 0.3 ease-in-out;
}

.menu-links {
	position: absolute;
	top: 100%;
	right: 0;
	background-color: white;
	width: fit-content;
	max-height: 0;
	overflow: hidden;
	transition: all 0.3 ease-in-out;
}

.menu-links a {
	display: block;
	padding: 10px;
	text-align: center;
	font-size: 1.5rem;
	color: black;
	text-decoration: none;
	transition: all 0.3 ease-in-out;
}

.menu-links li {
	list-style: none;
}

.menu-links.open {
	max-height: 300px;
}

.hamburger-icon.open span:first-child {
	transform: rotate(45deg) translate(10px, 5px);
}

.hamburger-icon.open span:nth-child(2) {
	opacity: 0;
}

.hamburger-icon.open span:last-child {
	transform: rotate(-45deg) translate(10px, -5px);
}

.hamburger-icon span:first-child {
	transform: none;
}

/* SECTIONS */

section {
	padding-top: 4vh;
	height: auto;
	margin: 0 10rem;
	box-sizing: border-box;
	min-height: fit-content;
	scroll-margin-top: 70px;
	/* Adjust this value to the height of your nav bar */
}

.section-container {
	display: flex;
}

/* PROFILE SECTION */

#profile {
	display: flex;
	justify-content: center;
	gap: 5rem;
	height: 80vh;
}

.section__pic-container {
	display: flex;
	height: 400px;
	width: 400px;
	margin: auto 0;
}

.text-container p {
	text-align: justify;
	text-justify: inter-word;
	/* Optional: improves text justification */
}

.section__text {
	align-self: center;
	text-align: center;
}

.section__text p {
	font-weight: 600;
}

.section__text__p1 {
	font-size: 1.5rem;
	/* Adjusted font size */
	text-align: center;
}

.section__text__p2 {
	font-size: 1.75rem;
	/* Adjusted font size */
	margin-bottom: 1rem;
}

.title {
	font-size: 3rem;
	/* Adjusted font size */
	text-align: center;
}

#socials-container {
	display: flex;
	justify-content: center;
	margin-top: 1rem;
	gap: 1rem;
}

/* ICONS */

.icon {
	cursor: pointer;
	height: 2rem;
}

/* BUTTONS */

.btn-container {
	display: flex;
	justify-content: center;
	gap: 1rem;
}

.btn {
	font-weight: 600;
	transition: all 300ms ease;
	padding: 1rem;
	width: 8rem;
	border-radius: 2rem;
}

.btn-color-1,
.btn-color-2 {
	border: rgb(53, 53, 53) 0.1rem solid;
}

.btn-color-1:hover,
.btn-color-2:hover {
	cursor: pointer;
}

.btn-color-1,
.btn-color-2:hover {
	background: rgb(53, 53, 53);
	color: white;
}

.btn-color-1:hover {
	background: rgb(0, 0, 0);
}

.btn-color-2 {
	background: none;
}

.btn-color-2:hover {
	border: rgb(255, 255, 255) 0.1rem solid;
}

.btn-container {
	gap: 1rem;
}

/* ABOUT SECTION */

#about {
	position: relative;
	padding-top: 220px;
}

.about-containers {
	gap: 2rem;
	margin-bottom: 2rem;
	margin-top: 2rem;
}

.about-details-container {
	justify-content: center;
	flex-direction: column;
}

.about-containers,
.about-details-container {
	display: flex;
}

.about-pic {
	border-radius: 2rem;
}

.arrow {
	position: absolute;
	right: -5rem;
	bottom: 2.5rem;
}

.details-container {
	padding: 1.5rem;
	flex: 1;
	background: white;
	border-radius: 2rem;
	border: rgb(53, 53, 53) 0.1rem solid;
	border-color: rgb(163, 163, 163);
	text-align: center;
}

.section-container {
	gap: 4rem;
	height: 80%;
}

.section__pic-container {
	height: 400px;
	width: 400px;
	margin: auto 0;
}

/* EXPERIENCE SECTION */

#experience {
	position: relative;
}

.experience-sub-title {
	color: rgb(85, 85, 85);
	font-weight: 600;
	font-size: 1.75rem;
	/* Adjusted font size */
	margin-bottom: 2rem;
}

.experience-details-container {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.article-container {
	display: flex;
	text-align: initial;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 2.5rem;
	justify-content: space-around;
}

article {
	display: flex;
	width: 10rem;
	justify-content: space-around;
	gap: 0.5rem;
}

article .icon {
	cursor: default;
}


/* Skills Section*/
#skills {
	position: relative;
}

.skills-sub-title {
	color: rgb(85, 85, 85);
	font-weight: 600;
	font-size: 1.75rem;
	/* Adjusted font size */
	margin-bottom: 2rem;
}

.detailsss-container {
	padding: 1.5rem;
	flex: 1;
	background: white;
	border-radius: 2rem;
	border: rgb(53, 53, 53) 0.1rem solid;
	border-color: rgb(163, 163, 163);
}

.skills-details-container {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.article-container {
	display: flex;
	text-align: initial;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 2.5rem;
	justify-content: space-around;
}

article {
	display: flex;
	width: 10rem;
	justify-content: space-around;
	gap: 0.5rem;
}

article .icon {
	cursor: default;
}


/* PROJECTS SECTION */

#projects {
	position: relative;
}

.color-container {
	border-color: rgb(163, 163, 163);
	background: rgb(250, 250, 250);
}

.project-img {
	border-radius: 2rem;
	width: 90%;
	height: 90%;
}

.project-title {
	margin: 1rem;
	color: black;
	font-size: 1.5rem;
	/* Adjusted font size */
}

.project-btn {
	color: black;
	border-color: rgb(163, 163, 163);
}

/* CONTACT */

#contact {
	display: flex;
	justify-content: center;
	flex-direction: column;
	height: 70vh;
}

.contact-info-upper-container {
	display: flex;
	justify-content: center;
	border-radius: 2rem;
	border: rgb(53, 53, 53) 0.1rem solid;
	border-color: rgb(163, 163, 163);
	background: (250, 250, 250);
	margin: 2rem auto;
	padding: 0.5rem;
}

.contact-info-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 1rem;
}

.contact-info-container p {
	font-size: larger;
}

.contact-icon {
	cursor: default;
}

.email-icon {
	height: 2.5rem;
}

/* FOOTER SECTION */

footer {
	margin-top: auto;
	text-align: center;
	padding: 1em;
}

footer p {
	text-align: center;
}

/* Sticky Navigation */
#desktop-nav {
	position: -webkit-sticky;
	/* For Safari */
	position: sticky;
	top: 0;
	height: 75px;
	width: 100%;
	background-color: white;
	/* Adjust the background color as needed */
	z-index: 1000;
	/* Ensure it stays on top of other content */
}


#dark-mode-toggle {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.5rem;
	/* Adjust size as needed */
	color: currentColor;
}

#dark-mode-togglee {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1rem;
	/* Adjust size as needed */
	color: orangered;
}

#moon-icon {
	display: none;
	/* Initially hide the moon icon */
}

/* Dark mode styles */
.dark-mode .contact-icon {
    filter: invert(1) grayscale(100%) brightness(100%);
}
/* Dark mode styles */
.dark-mode .icon {
    filter: invert(1) grayscale(100%) brightness(100%);
}

/* Specific styles for email and LinkedIn icons in dark mode */
.dark-mode .email-icon {
    filter: invert(1) grayscale(100%) brightness(100%);
}

body.dark-mode #moon-icon {
	display: inline;
	/* Show the moon icon in dark mode */
}

body.dark-mode #sun-icon {
	display: none;
	/* Hide the sun icon in dark mode */
}

#sun-icon {
	display: inline;
	/* Show the sun icon in light mode */
}

/* Dark Mode General */
body.dark-mode {
	background-color: #121212;
	/* Dark background for body */
	color: #e0e0e0;
	/* Light text color for body */
}

/* Dark Mode Navbar */
body.dark-mode #desktop-nav {
	background-color: #121212;
	/* Dark background color for nav */
}

body.dark-mode .nav-links a {
	color: #e0e0e0;
	/* Light color for nav links */
}

body.dark-mode .logo {
	color: #e0e0e0;
	/* Light color for the logo */
}

/* Dark Mode Links and Buttons */
body.dark-mode a {
	color: white;
	/* Light color for links */
}

body.dark-mode .btn {
	color: #e0e0e0;
	/* Light text color for buttons */
	border-color: #bb86fc;
	/* Light border color for buttons */
}

body.dark-mode .btn-color-1,
body.dark-mode .btn-color-2 {
	border-color: #bb86fc;
	/* Light border color for buttons */
}

body.dark-mode .btn-color-1:hover,
body.dark-mode .btn-color-2:hover {
	background-color: #bb86fc;
	/* Light background color on hover */
}

/* Dark Mode Nav */
body.dark-mode nav {
	background-color: #1f1f1f;
	/* Dark background color for nav */
}

body.dark-mode .nav-links a {
	color: #e0e0e0;
	/* Light color for nav links */
}

body.dark-mode .nav-links a:hover {
	color: whitesmoke;
	/* Light color for nav link hover */
}

/* Dark Mode Profile Section */
body.dark-mode #profile .section__text p {
	color: #e0e0e0;
	/* Light color for text */
}

body.dark-mode #profile .btn-container .btn {
	border-color: #bb86fc;
	/* Light border color for profile buttons */
}

body.dark-mode #profile .icon {
	filter: brightness(0) invert(1);
	/* Invert icons for dark mode */
}

/* Dark Mode About Section */
body.dark-mode #about .details-container {
	background-color: #1e1e1e;
	/* Dark background color for about section details */
	border-color: #333333;
	/* Darker border color */
}

body.dark-mode #about .text-container p {
	color: #e0e0e0;
	/* Light text color */
}

/* Dark Mode Experience Section */
body.dark-mode #experience .experience-sub-title {
	color: #e0e0e0;
	/* Light color for experience section titles */
}

body.dark-mode #experience .detailsss-container {
	background-color: #1e1e1e;
	/* Dark background color for experience section details */
	border-color: #333333;
	/* Darker border color */
}

body.dark-mode .detailsss-container {
	background-color: #1e1e1e;
	/* Dark background color for experience section details */
	border-color: #333333;
	/* Darker border color */
}


/* Dark Mode skills Section */
body.dark-mode #skills .skills-sub-title {
	color: #e0e0e0;
	/* Light color for experience section titles */
}

body.dark-mode #skills .details-container {
	background-color: #1e1e1e;
	/* Dark background color for experience section details */
	border-color: #333333;
	/* Darker border color */
}


.sidenavv h2 {
	display: flex;
	top: 15px;
	justify-content: flex-start;
	/* Aligns the title and toggle button to the left */
	align-items: center;
	/* Vertically centers items */
	padding: 0 10px;
	/* Adds padding inside the h2 */
	position: relative;
	/* Ensures positioning for the btnn */
}

.btnn {
	margin-left: 25px;
	cursor: pointer;
	top: 1px;

}

#dark-mode-togglee {

	position: absolute;
	right: 1px;
	margin-right: 20PX;
	top: 3px;
}


/* Dark Mode Projects Section */
body.dark-mode #projects .color-container {
	background-color: #1e1e1e;
	/* Dark background color for projects section details */
	border-color: #333333;
	/* Darker border color */
}

body.dark-mode #projects .project-title {
	color: #e0e0e0;
	/* Light color for project titles */
}

body.dark-mode #projects .btn-color-2 {
	color: #e0e0e0;
	/* Light color for project buttons */
	border-color: #bb86fc;
	/* Light border color */
}

body.dark-mode #projects .btn-color-2:hover {
	background-color: #bb86fc;
	/* Light background color on hover */
}

/* Dark Mode Contact Section */
body.dark-mode #contact {
	border-color: #333333;
	/* Darker border color */
}

body.dark-mode #contact .contact-info-container p {
	color: #e0e0e0;
	/* Light text color for contact info */
}

/* Dark Mode Popup Container */
.dark-mode .popup-overlay {
	background: rgba(0, 0, 0, 0.8);
	/* Dark semi-transparent background */
}

.dark-mode .popup-content {
	background-color: #333;
	/* Dark background for the popup content */
	color: #fff;
	/* Light text color */
	border: 1px solid #555;
	/* Optional: add a border to distinguish the popup */
}

.dark-mode .close-popup {
	color: #fff;
	/* Light color for the close button */
}

.dark-mode .popup-btn {
	color: #fff;
	/* Light color for the popup button icon */
}

body.dark-mode .sidenav {
	background-color: black;
	/* Dark background for sidenav */
}

body.dark-mode .sidenavv {
	background-color: black;
	/* Dark background for sidenavv */
}

body.dark-mode .sidenav-links a {
	color: #e0e0e0;
	/* Light text color for sidenav links */
}


/* Scroll to Top Button */
.scroll-to-top {
	display: none;
	/* Hidden by default */
	position: fixed;
	bottom: 30px;
	right: 30px;
	background-color: #000;
	color: #fff;
	border: none;
	border-radius: 50%;
	/* Circular shape */
	width: 50px;
	/* Set a fixed width */
	height: 50px;
	/* Set a fixed height */
	font-size: 1.5rem;
	/* Adjust icon size */
	cursor: pointer;
	z-index: 1000;
	justify-content: center;
	align-items: center;
	transition: opacity 0.3s ease, transform 0.3s ease;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.scroll-to-top i {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

/* Hover Effect */
.scroll-to-top:hover {
	background-color: #555;
	transform: scale(1.1);
	/* Slightly enlarges the button on hover */
}

/* Show button when visible */
.scroll-to-top.visible {
	display: flex;
	opacity: 1;
}

.scroll-to-top.hidden {
	opacity: 0;
}


/* Popup container */
.popup-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	justify-content: center;
	align-items: center;
	z-index: 111111;
}

/* Popup content box */
.popup-content {
	background-color: #fff;
	padding: 20px;
	top: 5%;
	width: 70%;
	max-width: 600px;
	max-height: 80vh;
	/* Limits the height to 80% of the viewport */
	overflow-y: auto;
	/* Makes the popup scrollable */
	border-radius: 8px;
	text-align: left;
	color: #333;
	position: relative;
}

/* Close button */
.close-popup {
	position: absolute;
	top: 10px;
	right: 20px;
	font-size: 24px;
	cursor: pointer;
}

.popup-btn {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 18px;
	color: #e0e0e0;
	margin-left: 10px;
	font-weight: normal;

}

.popup-btn i {
	margin: 0;
	line-height: 0;
}


/* Class to disable scrolling */
.body-no-scroll {
	overflow: hidden;
}

.sidenavv {
	position: fixed;
	top: 0;
	font-size: 10px;
	width: 100%;
	background-color: whitesmoke;
	z-index: 11111;
	height: 50px;

}

.sidenav {
	height: 100%;
	width: 0;
	position: fixed;
	z-index: 1111111;
	top: 0;
	left: 0;
	background-color: whitesmoke;
	overflow-x: hidden;
	transition: 0.5s;
	padding-top: 60px;
	transition: 0.5s;
	/* Smooth transition when opening and closing */
}

.sidenav a {
	padding: 8px 8px 8px 32px;
	text-decoration: none;
	font-size: 20px;
	color: #818181;
	display: block;
	transition: 0.3s;
}

/* Remove list style for li elements */
.sidenav li {
	list-style-type: none;
	/* Removes the bullet points */
}

/* Open sidenav */
.sidenav.open {
	width: 250px;
	/* Set the width when the sidenav is open */
}

.sidenav a:hover {
	color: #f1f1f1;
}

.sidenav .closebtn {
	position: absolute;
	top: 0;
	right: 25px;
	font-size: 36px;
	margin-left: 50px;
}

/* Overlay to cover the rest of the screen when sidenav is open */
#overlay {
	position: fixed;
	display: none;
	/* Hidden by default */
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	/* Transparent black */
	z-index: 1111;
	/* Behind the sidenav */
}

/* Show the overlay when sidenav is open */
#overlay.show {
	display: block;
}

@media screen and (min-width: 1024px) {
	.sidenav {
		display: none;
	}

	.sidenavv {
		display: none;
	}
}

@media screen and (max-height: 450px) {
	.sidenav {
		padding-top: 15px;
	}

	.sidenav a {
		font-size: 15px;
	}
}


/* General styling for the search section */
#search-section {
	margin-top: 50px;
	background-color: #fff;
	/* Background color to match blog section */
	padding: 20px;
	/* Padding to create space inside the section */

}

/* Container for search elements */
.search-container {
	display: flex;
	align-items: center;
	/* Center items vertically */
	justify-content: center;
	/* Center items horizontally */
	padding: 10px;
	/* Padding inside the container */
	border-radius: 2rem;
	/* Rounded corners */
}

/* Styling for the search input field */
#search-input {
	flex: 1;
	/* Take up available space */
	padding: 10px;
	margin-right: 10px;
	border: 1px solid rgb(163, 163, 163);
	/* Border color */
	border-radius: 2rem;
	/* Rounded corners */
	font-size: 16px;
	outline: none;
	transition: border-color 0.3s;
}

#search-inputt {
	flex: 1;
	/* Take up available space */
	padding: 10px;
	margin-right: 10px;
	border: 1px solid rgb(163, 163, 163);
	/* Border color */
	border-radius: 2rem;
	/* Rounded corners */
	font-size: 16px;
	outline: none;
	transition: border-color 0.3s;
}

/* Focus state for the input field */
#search-input:focus {
	border-color: #007bff;
	/* Highlight border color on focus */
}

/* Styling for the search button */
#search-button {
	background-color: #007bff;
	/* Primary button color */
	color: #fff;
	/* White text color */
	border: none;
	border-radius: 2rem;
	/* Rounded corners */
	border: 1px solid rgb(59, 59, 59);
	/* Border color */
	padding: 10px 20px;
	font-size: 17.5px;
	cursor: pointer;
	/* Pointer cursor on hover */
	transition: background-color 0.3s;
}

#search-button1 {
	background-color: #007bff;
	/* Primary button color */
	color: #fff;
	/* White text color */
	border: none;
	border-radius: 2rem;
	/* Rounded corners */
	border: 1px solid rgb(59, 59, 59);
	/* Border color */
	padding: 10px 20px;
	font-size: 17.5px;
	cursor: pointer;
	/* Pointer cursor on hover */
	transition: background-color 0.3s;
}

#searchButton {
	background-color: #007bff;
	/* Primary button color */
	color: #fff;
	/* White text color */
	border: none;
	border-radius: 2rem;
	/* Rounded corners */
	border: 1px solid rgb(59, 59, 59);
	/* Border color */
	padding: 10px 20px;
	font-size: 17.5px;
	cursor: pointer;
	/* Pointer cursor on hover */
	transition: background-color 0.3s;
}

/* Hover state for the search button */
#search-button:hover {
	background-color: #0056b3;
	/* Darker color on hover */
}

/* Dark Mode for the search section */
body.dark-mode #search-section {
	background-color: #121212;
	/* Dark background color */
	border-color: #333333;
	/* Dark border color */
}

body.dark-mode #search-input {
	border-color: #333333;
	/* Dark border color */
	background-color: #121212;
	color: #e0e0e0;
}

body.dark-mode #search-inputt {
	border-color: #333333;
	/* Dark border color */
	background-color: #121212;
	color: #e0e0e0;
}

body.dark-mode #search-button {
	background-color: #121212;
	/* Dark button color */
	color: #e0e0e0;
}

body.dark-mode #search-button:hover {
	background-color: #1e1e1e;
	/* Darker button color on hover */
}


.result-item {
	margin-bottom: 20px;
	/* Adds space between search result items */
}