:root {
	--main-background: #fff;
	--hover-background: #c0c0c0;
	--main-background-light: #fff;
	--hover-background-light: #c0c0c0;
	--main-text-color: #333333;
	--dark-text-color: #333333;
	--light-text-color: #e0e0e0;
	--topbar-height: 50px;
	--floating-menu-width: 200px;
	--hamburger-size: 30px;
	--card-width: min(320px, 95vw);
	--card-height: 540px;
	--shadow-light: #fff;
	--shadow-dark: #000;
	--card-padding: 15px;
	--secondary-text-color: rgb(50, 55, 60);
	--font-display: "Fraunces", Georgia, serif;
	--font-body: "Inter", -apple-system, sans-serif;
	--font-mono: "JetBrains Mono", ui-monospace, monospace;

	--text-xs: 0.8125rem;
	--text-sm: 0.9375rem;
	--text-base: 1.0625rem;
	--text-ml: 1.1875rem;
	--text-lg: 1.25rem;
	--text-xl: 1.75rem;
	--text-2xl: 2.5rem;
	--text-3xl: 4rem;
}

:root[data-theme="dark"] {
	--main-background: #333333;
	--hover-background: #404040;
	--main-text-color: #e0e0e0;
	--secondary-text-color: rgb(219, 222, 225);
	--shadow-light: #888888;
}

* {
	font-family: var(--font-body);
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	scroll-behavior: smooth !important;
	/* text-shadow:
		-0.013em -0.0195em 0.06em var(--shadow-light),
		0.0375em 0.015em 0.03em var(--shadow-dark),
		0.075em 0.03em 0.05em var(--shadow-dark); */
	/* color: var(--main-background) !important; */
	text-rendering: optimizeLegibility;
	transition: 0.2s;
}

html {
	width: 100% !important;
	min-height: 100vh !important;
	overflow-x: hidden;
}

body {
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.5;
	margin: 0;
	padding: 0;
	width: 100% !important;
	max-width: 100%;
	min-height: 100vh !important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: var(--main-background);
	flex-direction: column;
	color: var(--main-text-color);
	/* color: var(--main-background) !important; */
	overflow-y: scroll;
	overflow-x: hidden;
	scroll-behavior: smooth !important;
}

nav {
	display: flex;
}

#topbar {
	width: 100%;
	height: var(--topbar-height);
	padding: 15px;
	background-color: var(--main-background);
	justify-content: space-between;
	flex-direction: row;
	align-items: center;
	position: sticky !important;
	top: 0;
	left: 0;
}

menu.compressed {
	width: 30vw;
	display: flex;
	justify-content: space-evenly;
	flex-direction: row;
	align-items: center;
}

menu.compressed a {
	text-decoration: none;
	color: var(--main-text-color);
	font-size: var(--text-ml);
	font-family: var(--font-display);
	border-radius: 5px;
}

menu.compressed a:hover {
	filter: brightness(200%);
}

#name {
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: bold;
	color: var(--main-text-color);
}
.badge {
	border: 1px solid rgba(0, 0, 0, 0.15);
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
	background-color: var(--main-background);
}
.badge:hover {
	border-color: rgba(0, 0, 0, 0.35);
	background-color: rgba(0, 0, 0, 0.03);
	transform: translateY(-1px);
}
.company-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin-top: -0.25rem;
	margin-bottom: 0.25rem;
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	color: var(--main-text-color);
	text-decoration: none;
	line-height: 1;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
}
.company-badge-label {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--secondary-text-color);
	opacity: 0.75;
	line-height: 1;
	transform: translateY(0.5px);
}
.company-badge-name {
	display: inline-block;
	font-family: var(--font-display);
	font-size: var(--text-base);
	font-weight: 600;
	color: var(--main-text-color);
	line-height: 1;
}
:root[data-theme="dark"] .company-badge {
	border-color: rgba(255, 255, 255, 0.15);
}
:root[data-theme="dark"] .company-badge:hover {
	border-color: rgba(255, 255, 255, 0.4);
	background-color: rgba(255, 255, 255, 0.04);
}
h1,
h2 {
	font-family: var(--font-display);
	font-weight: bold;
	margin-bottom: 1rem;
}

.main-section {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	min-height: 300px;
}

#main-content {
	padding: 5rem 6rem;
	width: 100%;
	/* height: calc(100vh - var(--topbar-height)); */
	background-color: var(--main-background);
	text-align: center;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	min-height: calc(100vh - var(--topbar-height));
}
#main-content .left-main {
	flex: 1;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}
#main-content .left-main .head .profile-photo {
	width: 300px;
	height: auto;
	margin: 2.5rem;
	border-radius: 20px;
}
#main-content .right-main {
	flex: 1;
	position: relative;
}

a.invisilink {
	color: var(--main-text-color);
	text-decoration: none;
}

.title-text {
	font-size: 1.3rem;
	font-weight: bold;
	color: var(--main-text-color);
	font-family: var(--font-display);
}

.floating-menu {
	position: relative;
	background-color: inherit;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

#main-floating-menu-wrapper {
	position: relative;
	width: var(--hamburger-size);
	height: var(--hamburger-size);
}

#main-floating-menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	left: calc(var(--floating-menu-width) * 3);
	width: var(--floating-menu-width);
	position: relative;
	transition: 1.1s;
	transition-delay: 0.2s;
	overflow: hidden;
	/* box-shadow:
		calc(var(--floating-menu-width) / 30) calc(var(--floating-menu-width) / 30)
			calc(var(--floating-menu-width) / 15) var(--shadow-dark),
		calc(var(--floating-menu-width) / -200)
			calc(var(--floating-menu-width) / -200)
			calc(var(--floating-menu-width) / 5) -25px var(--shadow-light); */
	/* background-color: var(--main-background); */
	/* background: var(--main-background)
		linear-gradient(145deg, rgba(0, 0, 0, 0.03), rgba(255, 255, 255, 0.05)); */
	border-radius: 24px;
	visibility: hidden;
}

#main-floating-menu-wrapper:hover #main-floating-menu {
	/* display: flex; */
	height: unset;
	left: calc(-1 * (var(--floating-menu-width) - var(--hamburger-size)));
	visibility: visible;
}

#main-floating-menu a {
	display: block;
	list-style: none;
	width: 100%;
	padding: 5px;
	text-align: center;
}

#main-floating-menu a:hover {
	background-color: var(--hover-background);
}

#projects {
	width: 100%;
}

#projects-list-wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: center;
	width: 100%;
	gap: 30px;
	padding: 30px;
}

.card {
	background-color: var(--main-background);
	width: var(--card-width);
	height: var(--card-height);
	border-radius: 20px;
	overflow: clip;
	padding: var(--card-padding);
	/* box-shadow: 6px 6px 12px var(--shadow-dark),
    -2px -2px 4px var(--shadow-light); */
	position: relative;
	text-overflow: ellipsis;
	cursor: pointer;
	/* border: 1px solid black; */
}

.card:before {
	/* box-shadow:
		inset 5px 5px 10px var(--shadow-dark),
		inset -2px -2px 8px var(--shadow-light); */
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	pointer-events: none;
	top: 0;
	left: 0;
	border-radius: 20px;
}
.card:hover:before {
	box-shadow: none;
}
.card:hover {
	/* box-shadow:
		6px 6px 12px var(--shadow-dark),
		-1.5px -1.5px 8px var(--shadow-light);
	transform: scale(105%); */
}

.card .card-main-image {
	width: var(--card-width);
	border-radius: 20px 20px 0 0;
	overflow: hidden;
	margin-left: calc(-1 * var(--card-padding));
	margin-top: calc(-1 * var(--card-padding));
}
.card-title {
	font-size: 1.15rem;
	font-weight: bold;
	color: var(--main-text-color);
	text-decoration: none;
}
.card-title:hover {
	border-bottom: 1px solid var(--main-text-color);
}
.card p {
	text-overflow: ellipsis;
	overflow: hidden;
}
a {
	color: rgb(0, 122, 255);
	text-decoration: none;
}
a:hover {
	border-bottom: 1px solid rgb(0, 122, 255);
}
a.invisilink:hover {
	border-bottom: none;
}
footer {
	margin-top: 100px;
	width: 100%;
	padding-left: 30px;
	padding-bottom: 30px;
	padding-top: 35px;
	box-shadow: 0 20px 20px 25px var(--shadow-light);
	background-color: var(--main-background);
}
.text-center {
	text-align: center;
}
#about {
	text-align: left;
	width: 100%;
	max-width: 62ch;
	margin-inline: auto;
}
#about p {
	padding: 0 0 1em 0;
	font-weight: 400;
	font-size: var(--text-ml);
	line-height: 1.65;
	font-family: var(--font-body);
}

@media only screen and (max-width: 800px) {
	.large-screen-only {
		display: none !important;
	}
	#main-content {
		flex-direction: column;
		gap: 5rem;
	}
}

@media only screen and (min-width: 800px) {
	.small-screen-only {
		display: none !important;
	}
}
