@font-face {
	font-family: Plus Jakarta Sans;
	src: url(/assets/fonts/PlusJakartaSans-VariableFont_wght.ttf)
		format("truetype");
	font-display: "swap";
}
:root {
	font-family: Plus Jakarta Sans, sans-serif;
	line-height: 1.5;
	font-weight: 400;
	color-scheme: light dark;
	color: #ffffffde;
	background-color: #242424;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	font-size: 100%;
}
a {
	font-weight: 500;
	color: #646cff;
	text-decoration: inherit;
}
a:hover {
	color: #535bf2;
}
body {
	margin: 0;
	display: flex;
	place-items: center;
	width: 100%;
	height: 100dvh;
	transition: 0.25s all ease;
	overflow-x: hidden;
	-webkit-animation: body 0.5s ease-in;
	animation: body 0.5s ease-in;
	scroll-behavior: smooth;
	background-color: #0b0015;
}
.animateFromLeft.animated {
	-webkit-animation: fadeInLeft 0.5s ease;
	animation: fadeInLeft 0.5s ease-in;
}
.animateFromRight.animated {
	-webkit-animation: fadeInRight 0.5s ease-in;
	animation: fadeInRight 0.5s ease-in;
}
.animateFadeBottom.animated {
	-webkit-animation: fadeInBottom 0.5s ease-in;
	animation: fadeInBottom 0.5s ease-in;
}
svg {
	background-color: #fff;
	border: none;
	outline: none;
	margin-top: -50px;
}
h1 {
	font-size: 3.2rem;
	line-height: 1.1;
}
.logo {
	padding: 1.5em;
	will-change: filter;
	transition: -webkit-filter 0.3s;
	height: 24px;
	width: 24px;
}
.logo.vanilla:hover {
	-webkit-filter: drop-shadow(0 0 2em #f7df1eaa);
	filter: drop-shadow(0 0 2em #f7df1eaa);
}
button {
	border-radius: 8px;
	border: 1px solid transparent;
	padding: 0.6em 1.2em;
	font-size: 1rem;
	font-weight: 500;
	font-family: inherit;
	background-color: #1a1a1a;
	cursor: pointer;
	transition: border-color 0.25s;
}
button:hover {
	border-color: #646cff;
}
button:focus,
button:focus-visible {
	outline: 4px auto -webkit-focus-ring-color;
}
@media (prefers-color-scheme: light) {
	:root {
		color: #213547;
		background-color: #fff;
	}
	a:hover {
		color: #747bff;
	}
	button {
		background-color: #f9f9f9;
	}
}
h1,
h4,
p {
	padding: 0;
	margin: 0;
}
#app {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	text-align: center;
	overflow-x: hidden;
	background: #0b0015;
	position: relative;
}
nav {
	width: 100%;
	height: 50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	background-color: #0b0015;
	z-index: 30;
}

#mobile-container {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 55px;
	z-index: 35;
}
.mobile-nav {
	background-color: #0d0017;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 75%;
	height: auto;
	padding: 0 15px;
	border-radius: 15px;
	border: 2px solid #22003f;
}

.mobile-nav a {
	-webkit-text-decoration: none;
	text-decoration: none;
	color: #fff;
	width: 100%;
	transition: all 0.5 ease;
	margin-bottom: 5px;
}
.mobile-nav a {
	width: 50px;
	text-align: center;
	font-size: 8px;
	padding: 2px 5px;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.mobile-nav a img {
	padding: 0;
	margin: 0;
	filter: invert(0.2);
}
.mobile-nav a img:hover {
	transform: scale(1.1);
	filter: invert(0);
	transition: transform 0.15s ease, filter 0.15s ease;
}

nav a {
	width: 30px;
	height: 30px;
}
nav #logo {
	width: 30px;
	height: 30px;
	-webkit-animation: fadeIn 1s ease-in;
	animation: fadeIn 1s ease-in;
	padding: 0;
}
.social {
	padding: 5px;
	-webkit-animation: fadeInRight 1s ease;
	animation: fadeInRight 1s ease;
	display: flex;
	align-items: center;
	margin-bottom: -3px;
	transition: ease-in 0.15s;
}
.social a img:hover {
	filter: invert(40%);
	transition: ease-in 0.15s;
}

.social a:nth-child(2) {
	margin: 0 6vw;
}
.social a:nth-child(1) img {
	width: 25px;
	height: 25px;
}
.social a:nth-child(2) img {
	width: 26px;
	height: 26px;
}
.social a:nth-child(3) img {
	width: 35px;
	height: 35px;
	margin-top: -5px;
}
#introduction {
	width: 90%;
	background-color: transparent;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	border-radius: 50px;
	position: relative;
	z-index: 0;
	padding-bottom: 50px;
	overflow: hidden;
}
#introduction .intro-background {
	width: 100%;
	height: 100dvh;
	max-height: max-content;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -10;
}

#introduction .intro-background img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.intro-text {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.intro-text header {
	display: flex;
}
.intro-text header h1,
h2 {
	flex-grow: 1fr;
	white-space: nowrap;
}
.intro-text header h4 {
	color: #c689ff;
	font-size: 1.5rem;
	-webkit-animation: fadeIn 0.5s ease-in;
	animation: fadeIn 0.5s ease-in;
	margin-right: 5px;
}
.intro-text header h1 {
	font-size: 3rem;
	color: #ffffff;
	-webkit-animation: fadeIn 0.55s ease-in;
	animation: fadeIn 0.55s ease-in;
}
.intro-text b {
	color: #ffffff;
	-webkit-animation: fadeInLeft 0.5s ease;
	animation: fadeInLeft 0.5s ease;
	font-weight: 600;
	flex-wrap: wrap;
}
.intro-text p {
	color: #c689ff;
	font-weight: 600;
	-webkit-animation: fadeInLeft 1.5s ease;
	animation: fadeInLeft 1.5s ease;
}
.intro-text .connect {
	width: 100%;
	margin: 15px auto 50px;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.intro-text .connect a {
	-webkit-text-decoration: none;
	text-decoration: none;
	color: #1b0022;
	background-color: #bc48ff;
	padding: 8px;
	font-weight: 900;
	border-radius: 10px;
	white-space: nowrap;
	transition: 0.25s all ease;
	-webkit-animation: fadeInEnlarge 1s ease-in;
	animation: fadeInEnlarge 1s ease-in;
	display: flex;
	align-items: center;
}
.intro-text .connect a:hover {
	transform: translate(5px);
}
.intro-text .connect a:nth-child(0):hover {
	content: "Lets talk 👋";
}
.intro-text .connect a:nth-child(1) {
	background-color: #00c0ce;
	margin-right: 20px;
}
.intro-text .connect a:nth-child(1):hover {
	background-color: #00cddb;
	box-shadow: -5px 5px #006a72;
}
.intro-text .connect a:nth-child(2) {
	background-color: #a556ff;
}
.intro-text .connect a:nth-child(2):hover {
	background-color: #e100ff;
	box-shadow: -5px 5px #71008d;
}
.intro-images {
	width: 100%;
	height: auto;
	margin: 30px 120px 0;
	background-color: #0b0015;
	border: 2px solid #bc48ff;
	-webkit-animation: blob 12s infinite ease-out;
	animation: blob 12s infinite ease-out;
	position: relative;
}
.intro-images #blob {
	width: 100%;
	height: auto;
	position: absolute;
	top: -30px;
	left: 65px;
}
.intro-images #avatar {
	width: 50%;
	height: auto;
	position: absolute;
	top: 0;
	left: 60px;
	padding: 30px 0;
	margin-bottom: 10px;
	-webkit-animation: fadeIn 0.25s ease-in;
	animation: fadeIn 0.25s ease-in;
	border-radius: 80px;
}
#about,
#contact,
#portfolio,
#projects {
	width: 100%;
	height: auto;
	background-image: url(../svgs/portfolio/portfolio1199.svg);
	background-position: bottom;
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: -20px;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	padding: 40px 0;
	box-shadow: 0 -5px 20px #5f00a8;
	z-index: 0;
	overflow: hidden;
}
#projects {
	min-height: auto;
	max-height: -webkit-max-content;
	max-height: -moz-max-content;
	max-height: max-content;
	margin-top: -1px;
}
#contact,
#projects {
	width: 100%;
	height: auto;
	box-shadow: none;
	border-radius: 0;
	background-image: url(../svgs/projects/projects1199.svg);
	background-position: top;
}
.projects-container {
	width: 100%;
}
.projects-container .project {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto 100px;
}
.main-content {
	width: 48%;
}
.main-content img {
	width: 452px;
	height: 229px;
	border-radius: 10px;
}
.main-content .links {
	display: flex;
	list-style: none;
	justify-content: space-evenly;
	padding: 0;
	align-items: center;
}
.main-content .links li a {
	-webkit-text-decoration: none;
	text-decoration: none;
	background-color: #000;
	padding: 5px;
	display: flex;
	align-items: center;
	border-radius: 10px;
	color: #fff;
	font-size: 0.85rem;
	transition: all 0.25s ease;
	font-weight: 900;
}
.main-content .links li:nth-child(2) a {
	padding: 8px;
	background-color: #fff;
}
.main-content .links li a .github {
	width: 30px;
	height: 30px;
}
.main-content .links li a .link {
	width: 22px;
	height: 22px;
}
.main-description {
	width: 40%;
	text-align: left;
	padding: 0 10px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}
.main-description a {
	padding: 10px 0;
	background-color: transparent;
	color: #fff;
	font-size: 1rem;
	font-weight: 900;
	border-radius: 8px;
	transition: all 0.2s ease;
}
.main-description a:hover {
	background-color: #fff;
	color: #6200ff;
	padding: 10px 20px;
}
#project2 .main-description,
#project4 .main-description {
	text-align: right;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
}
#project3 .main-content img,
#project4 .main-content img {
	width: 90%;
}
#project3 .main-content .github,
#project4 .main-content .github {
	width: 30px;
	height: 30px;
}
#project3 .main-content .link,
#project4 .main-content .link {
	width: 22px;
	height: 22px;
}
.main-description .main-title {
	color: #fff;
	margin: 10px 0;
}
.main-description .main-summary {
	height: 160px;
	color: #fff;
}
#about {
	width: 100%;
	height: auto;
	box-shadow: none;
	border-radius: 0;
	background-image: url(../svgs/about/about1399.svg);
	background-position: top;
	position: relative;
	background-size: cover;
}
#contact {
	position: relative;
	padding-bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	background-color: #fadb69;
	background-image: none;
}
#about h1,
#contact h1 {
	width: 100%;
	background-image: url(../svgs/contact/h1/h11199.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top;
	padding: 50px 0 150px;
	position: absolute;
	top: 0;
	left: 0;
}
#about h1 {
	background: none;
}
#contact .top {
	width: 100%;
	height: 300px;
	background-image: url(../svgs/contact/top/top1199.svg);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: -50px;
}
#about {
	height: auto;
	background-color: #00286d;
	padding-bottom: 250px;
}
#about .about-me {
	width: 85%;
	margin: 0 auto;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#about .about-me img {
	width: 310px;
	height: 336px;
	background-color: #210036;
	border-radius: 15px;
	transition: all 0.25s ease;
	pointer-events: none;
	margin-bottom: 50px;
	-webkit-clip-path: polygon(
		25% 0,
		75% 0,
		100% 30%,
		100% 70%,
		75% 100%,
		25% 100%,
		0% 70%,
		0% 30%
	);
	clip-path: polygon(
		25% 0,
		75% 0,
		100% 30%,
		100% 70%,
		75% 100%,
		25% 100%,
		0% 70%,
		0% 30%
	);
}
#about .img-back {
	-webkit-filter: drop-shadow(10px 8px 10px #006eff);
	filter: drop-shadow(10px 8px 0px #006eff);
	width: 310px;
	height: 336px;
	-webkit-clip-path: polygon(
		25% 0,
		75% 0,
		100% 30%,
		100% 70%,
		75% 100%,
		25% 100%,
		0% 70%,
		0% 30%
	);
	clip-path: polygon(
		25% 0,
		75% 0,
		100% 30%,
		100% 70%,
		75% 100%,
		25% 100%,
		0% 70%,
		0% 30%
	);
}
#about .about-me p {
	width: 70%;
	height: auto;
	border: 1px solid #000;
	background-color: #210036;
	padding: 25px 15px;
	text-align: justify;
	color: #81fff5;
	box-shadow: -10px -10px #006eff;
	border-radius: 20px;
	word-spacing: 10px;
}
#about .about-me p b {
	color: #fff;
}
#about a {
	background-color: #160029;
	padding: 15px 30px;
	font-size: 1rem;
	color: #00ec9e;
	font-weight: 900;
	margin-top: 0;
	border-radius: 10px;
	transition: all 0.25s ease;
	-webkit-animation-delay: 0;
	animation-delay: 0;
	box-shadow: 1vw 1vw #006eff;
	z-index: 20;
}
#about a:hover {
	box-shadow: -10px -10px #006eff;
	transform: scale(1.05);
	color: #f9f9f9;
}
#about h1 {
	padding: 150px 0;
}
#about h1,
#contact h1,
#portfolio h1,
#projects h1 {
	color: #fff;
	font-size: 2rem;
}
#contact h1 {
	color: #0b0015;
	padding-bottom: 180px;
	padding-top: 0;
}
#projects h1 {
	padding-bottom: 35px;
}
#portfolio .stack-header {
	width: 80%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 40px 5px 10px 5px;
	margin: 10px 0 -20px 0;
}
.stack-header.animated {
	-webkit-animation: fadeInLeft 1s ease-in;
	animation: fadeInLeft 1s ease-in;
}
#portfolio .stack-header img {
	width: 30px;
	height: 30px;
	margin-left: 10px;
}
#portfolio .stack-heading {
	color: #fff;
	font-weight: 900;
	white-space: nowrap;
	transform: translate(5px);
	visibility: visible;
}
.tech-stacks {
	width: 80%;
	display: grid;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	margin: 0;
	padding: 0;
	gap: 5vw;
	place-items: center;
}
.tech-stacks li {
	background-color: #160029;
	padding: 5px 15px;
	margin: 20px;
	border-radius: 20px;
	box-shadow: inset 0 0 10px #220034;
	border: 1px solid #240036;
	list-style: none;
	transition: 0.25s all ease;
}
.tech-stacks li:hover {
	background-color: #260046;
	box-shadow: 0 0 5px #000;
}
.tech-stacks li img {
	width: 50px;
	height: 50px;
	padding: 0 5px;
}
.tech-stacks li p {
	color: #faefff;
	font-size: 0.75rem;
	font-weight: 900;
}
.platforms {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin: 30px auto 50px;
}
.platforms li {
	list-style: none;
	background-color: #160029;
	padding: 5px 10px;
	border-radius: 20px;
	margin: 15px 10px;
}
.platforms li img {
	width: 35px;
	height: 35px;
	padding: 0;
}
.platforms li p {
	color: #fff;
	font-weight: 900;
	font-size: 0.75rem;
}
.backends {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin: 30px 0;
	padding: 0 0 50px;
}
.backends li {
	list-style: none;
	background-color: #22003d;
	padding: 5px 10px;
	border-radius: 20px;
	transition: 0.25 all ease;
}
.backends li img {
	width: 35px;
	height: 35px;
	padding: 0;
}
.backends li p {
	color: #fff;
	font-weight: 900;
	font-size: 0.75rem;
	padding: 5px 0;
}

.tech.animated {
	-webkit-animation: fadeIn 0.5s ease;
	animation: fadeIn 0.5s ease;
}
#roles {
	width: 100%;
	margin: 40 auto;
	padding: 0;
	padding-top: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 350px;
}
#roles .role {
	list-style: none;
	text-align: left;
	padding: 10px 8px;
	border-radius: 15px;
	background-color: #2900429c;
	color: #fff;
	width: 97.5%;
	margin: 0 auto;
	margin-left: 6px;
}
#roles .company {
	font-weight: 600;
	padding: 0;
	font-family: Plus Jakarta Sans;
	font-size: 13px;
	margin: 5px 0;
	padding: 0 5px;
}
.role b {
	width: 40%;
	color: #2cffed;
	font-size: 0.75rem;
	font-family: monospace;
}
.role p {
	color: #fff;
	font-weight: 300;
	font-size: 0.75rem;
}
.role small {
	color: #cc74ff;
	font-size: 0.75rem;
	font-weight: 600;
	font-family: monospace;
}
.projects-container {
	width: 90%;
	margin: 20px auto;
	height: auto;
	border-radius: 30px;
}
.contact-container {
	width: 100%;
	background-color: transparent;
	height: auto;
	padding: 15px 0 10px;
	border-radius: 30px;
	justify-content: center;
	z-index: 20;
	border: 2px dashed #0d0017;
}
.contact-container form {
	width: 85%;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
}
.contact-container form h2 {
	margin: 20px 0 50px;
	color: #000;
	font-size: 1.5rem;
}
.contact-container form label {
	text-align: left;
	margin-bottom: 5px;
	font-weight: 900;
	color: #006a72;
}
.contact-container form input {
	width: 99%;
	height: auto;
	font-family: Plus Jakarta Sans, sans-serif;
	background-color: transparent;
	border: none;
	outline: none;
	color: #000;
	margin-bottom: 20px;
	font-size: 1rem;
	transition: all 0.35s ease;
	border-bottom: 2px solid #ffd500;
	font-weight: 600;
}
.contact-container form input:focus,
.contact-container form textarea:focus {
	border-bottom: 2px solid #000000;
}
.contact-container form textarea {
	min-height: 60px;
	resize: none;
	font-family: Plus Jakarta Sans, sans-serif;
	margin-bottom: 20px;
	border: none;
	border-bottom: 2px solid #ffd500;
	font-size: 0.75rem;
	max-height: auto;
	font-weight: 600;
	outline: none;
	color: #000;
	background-color: transparent;
}
.contact-container form button {
	padding: 16px 0;
	background-color: #000;
	color: #fff;
	font-weight: 900;
	border: none;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transition: all 0.35s ease;
	border-radius: 10px;
}
.contact-container #button-text {
	font-size: 0.75rem;
}
.contact-container form button img {
	width: 20px;
	height: 20px;
	opacity: 0;
	position: absolute;
	margin-top: 0;
}
#contact .bottom-wave {
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../svgs/bottom-wave/bw1199.svg);
	width: 100%;
	padding-bottom: 200px;
	position: absolute;
	bottom: 0;
}
::-webkit-scrollbar {
	width: 5px;
	background-color: #000;
}
::-webkit-scrollbar-thumb {
	background: linear-gradient(0deg, #1a0728, #bf00ff, #1a0728);
	border-radius: 10px;
}
@media screen and (max-width: 449px) {
	nav {
		justify-content: space-between;
		align-items: center;
		width: 90%;
		padding: 10px 0px;
	}
	.mobile-nav {
		width: 85%;
	}
	nav .social {
		width: 120px;
		justify-content: space-between;
		padding: 3px 0px;
		margin-right: -5px;
	}
	.social a:nth-child(2) {
		margin: 0;
	}
	.social a img {
		width: 24px;
		margin: 0;
	}
	#logo {
		padding: 0;
	}
	#introduction {
		width: 100%;
		height: 80dvh;
		max-height: 530px;
		margin: 0 auto;
		flex-direction: column-reverse;
		border-radius: 30px;
		padding-top: 0px;
		overflow: hidden;
		align-items: center;
		justify-content: center;
	}
	#introduction .intro-images {
		width: 80%;
		/* max-width: 380px; */
		height: 60vw;
		margin: 0;
		padding: 40px 10px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #00000000;
	}
	.intro-images #blob {
		width: 65%;
		height: auto;
		position: absolute;
		top: 0;
		left: 20%;
		right: 20%;
	}
	.intro-images #avatar {
		width: 60%;
		height: auto;
		position: absolute;
		top: 0;
		left: 20%;
		right: 20%;
		-webkit-animation: fadeIn 0.25s ease-in;
		animation: fadeIn 0.25s ease-in;
	}
	#introduction .intro-text {
		width: 80%;
		align-items: center;
		margin: 30px auto;
		text-align: center;
	}
	#introduction .intro-text header {
		height: 30px;
		align-items: flex-end;
		margin: 0 auto;
	}
	#introduction .intro-text header h4 {
		font-size: 1.2rem;
		margin: 0 5px -2.85px -5px;
	}
	#introduction .intro-text header h1 {
		font-size: 1.5rem;
	}
	#introduction .intro-text b {
		font-size: 1.5rem;
		line-height: 1.65rem;
		text-align: center;
		margin: 6px 0;
	}
	#introduction .intro-text p {
		font-size: 0.76rem;
		margin-top: 10px;
		line-height: 1.25rem;
	}
	#introduction .intro-text .connect {
		display: none;
	}
	#portfolio {
		padding-top: 50px;
		background-image: url(../svgs/portfolio/portfolio449.svg);
		margin-top: -40px;
	}
	#portfolio h1 {
		font-size: 1.45rem;
		padding: 15px 0;
	}
	#portfolio .stack-header {
		width: 100%;
		justify-content: center;
		align-items: center;
	}
	#portfolio .stack-header p {
		font-size: 1.15rem;
	}
	#portfolio .stack-header img {
		width: 20px;
		height: 20px;
		margin-left: 13px;
	}
	#portfolio .tech-stacks {
		width: 90%;
		margin: 0 auto;
	}
	#portfolio .tech-stacks li,
	#portfolio .platforms li,
	#portfolio .backends li {
		width: 55px;
		padding: 8px 5px;
		margin: 30px auto;
	}
	#portfolio .tech-stacks li p,
	#portfolio .backends li p,
	#portfolio .platforms li p {
		font-size: 0.6rem;
		padding: 0;
	}
	#portfolio .tech-stacks li img {
		width: 35px;
		height: 35px;
	}
	.platforms ul {
		padding: 0;
		margin: 0;
		width: 85px;
	}
	#roles {
		width: 95%;
		height: auto;
		margin-top: 0px;
	}
	#roles .role {
		height: -webkit-max-content;
		height: -moz-max-content;
		height: max-content;
	}
	#roles p {
		font-size: 0.65rem;
	}
	.role #res {
		font-family: monospace;
	}
	.role #res li p {
		font-size: 0.75rem;
	}
	.abstraction,
	.main,
	.vanilla {
		padding-left: 0;
	}
	#projects {
		padding-top: 15px;
		padding-bottom: 10px;
		background-image: url(../svgs/projects/projects449.svg);
	}
	.projects-container {
		height: auto;
	}
	.projects-container .project {
		margin-bottom: 80px;
	}
	.projects-container .project .main-summary {
		height: auto;
	}
	.projects-container #project1,
	.projects-container #project3 {
		flex-direction: column;
		height: auto;
	}
	.projects-container #project2,
	.projects-container #project4 {
		flex-direction: column-reverse;
		justify-content: center;
	}
	.project .main-title {
		font-size: 1.25rem;
	}
	.project .main-content {
		width: 100%;
	}
	.project .main-content img {
		height: 45vw;
		width: 80vw;
	}
	.project .main-description {
		width: 90%;
		margin: 0 auto;
		justify-content: center;
		align-items: flex-start;
		text-align: justify;
	}
	.projects-container p {
		font-size: 0.75rem;
		margin-bottom: 5px;
	}
	#mail-art {
		display: none;
	}
	#about,
	#contact {
		margin-top: 0;
		padding: 0;
		background-position: right;
		background-size: cover;
	}
	#contact {
		background-size: cover;
		background-position: bottom;
	}
	#contact h1 {
		padding: 50px 0 150px;
	}
	#about {
		width: 100%;
		height: auto;
		background-image: url(../svgs/about/about449.svg);
		background-position: bottom;
		background-size: contain;
		background-repeat: repeat-x;
		padding: 50px 0;
	}
	#about h1 {
		padding: 15px 0 0;
		background: none;
	}
	#about .about-me {
		height: auto;
		justify-content: flex-start;
	}
	#about .about-me img {
		width: 235px;
		height: 235px;
		background-color: #006eff;
	}
	#about .img-back {
		margin-top: 20px;
	}
	#about .about-me p {
		width: 95%;
		height: auto;
		font-size: 0.75rem;
		margin-bottom: 40px;
		word-spacing: normal;
		padding: 10px;
		margin-top: -10px;
		text-align: left;
	}
	#about a {
		font-size: 0.75rem;
		padding: 12px 20px;
	}
	#contact {
		padding: 200px 0 250px;
		background-color: #fadb69;
	}
	#contact h1 {
		background-image: url(../svgs/contact/h1/h1449.svg);
		font-size: 1.25rem;
		background-position: bottom;
		margin-top: -20px;
	}
	#contact .top {
		width: 100%;
		background-image: url(../svgs/contact/top/top449.svg);
		background-size: contain;
		position: absolute;
		top: -130px;
		left: 0;
		height: 200px;
		margin: 0;
	}
	.contact-container {
		width: 90%;
		padding-bottom: 30px;
		border-radius: 10px;
		margin-top: -50px;
	}
	.contact-container form {
		height: auto;
	}
	.contact-container form h2 {
		font-size: 1.15rem;
		margin: 0 30px 30px;
		font-weight: 900;
	}
	.contact-container form label {
		font-size: 0.65rem;
		margin-top: 2px;
	}
	.contact-container form input {
		margin-bottom: 5px;
		font-size: 0.75rem;
		font-weight: 600;
	}
	.contact-container form button {
		padding: 12px 0;
		font-size: 0.5rem;
	}
	.bottom-wave {
		background-image: url(../svgs/bottom-wave/bw449.svg);
	}
	::-webkit-scrollbar {
		width: 0;
	}
}
@media screen and (min-width: 450px) and (max-width: 639px) {
	nav {
		justify-content: space-between;
		align-items: center;
		width: 90%;
		padding: 10px 0 0;
	}
	nav .mobile-nav {
		width: 85%;
	}
	nav .social {
		width: 150px;
		justify-content: space-around;
		padding: 8px 0;
	}
	.social a:nth-child(2) {
		margin: 0 15px;
	}
	.social a img {
		width: 20px;
	}
	#logo {
		padding: 0 10px;
	}
	#mobile-container .mobile-nav {
		width: 85%;
	}
	#introduction {
		width: 100%;
		height: 85dvh;
		max-height: 700px;
		margin: 0 auto;
		flex-direction: column-reverse;
		border-radius: 20px;
	}
	#introduction .intro-images {
		width: 380px;
		height: 380px;
		margin-top: 20px;
	}
	.intro-images #blob {
		width: 65%;
		height: auto;
		position: absolute;
		top: 10px;
		left: 20%;
		right: 20%;
	}
	.intro-images #avatar {
		width: 60%;
		height: auto;
		position: absolute;
		top: 10px;
		left: 20%;
		right: 20%;
		-webkit-animation: fadeIn 0.25s ease-in;
		animation: fadeIn 0.25s ease-in;
	}
	#introduction .intro-text {
		width: 80%;
		align-items: center;
		text-align: center;
	}
	#introduction .intro-text header {
		align-items: center;
		height: 30px;
	}
	#introduction .intro-text header h4 {
		font-size: 1.25rem;
		margin: 0 10px -5.5px 0;
	}
	#introduction .intro-text header h1 {
		font-size: 1.75rem;
	}
	#introduction .intro-text b {
		font-size: 1.75rem;
		text-align: center;
		line-height: 2.4rem;
		padding: 10px 0;
	}
	#introduction .intro-text p {
		font-size: 1rem;
		margin-top: 10px;
	}
	#introduction .intro-text .connect {
		display: none;
	}
	#portfolio {
		padding-top: 55px;
		background-image: url(/svgs/portfolio/portfolio639.svg);
	}
	#portfolio h1 {
		font-size: 1.75rem;
	}
	#portfolio .stack-header {
		margin: 30px auto 0px;
		justify-content: center;
		align-items: center;
	}
	#portfolio .stack-header p {
		font-size: 1.2rem;
	}
	#portfolio .stack-header img {
		width: 22px;
		height: 22px;
		margin-left: 15px;
		margin-bottom: 0;
	}
	#portfolio #roles {
		width: 100%;
	}
	#portfolio .role {
		margin: 0 auto;
		width: 95%;
	}
	#portfolio .main,
	#portfolio .abstraction,
	#portfolio .vanilla {
		align-items: center;
	}
	#portfolio .tech-stacks {
		width: 90%;
		margin: 0 auto;
	}
	#portfolio .tech-stacks li {
		width: 90px;
		padding: 5px;
		border-radius: 10px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
		margin: 30px 0;
	}
	#portfolio .platforms li,
	#portfolio .backends li {
		width: 85px;
		padding: 5px;
		border-radius: 10px;
		margin: 20px auto;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
		margin: 30px 0;
	}
	#portfolio .tech-stacks li p,
	#portfolio .backends li p,
	#portfolio .platforms li p {
		font-size: 0.65rem;
		padding: 0;
	}
	#portfolio .tech-stacks li img,
	#portfolio .platforms li img,
	#portfolio .backends li img {
		width: 35px;
		height: 35px;
		margin: 0;
		padding: 0;
	}
	.platforms ul {
		padding: 0;
		margin: 0;
	}
	#roles {
		width: 95%;
		height: auto;
		margin-top: -10px;
	}
	#roles .role {
		height: -webkit-max-content;
		height: -moz-max-content;
		height: max-content;
	}
	#roles b {
		font-size: 1rem;
	}
	#roles p {
		font-size: 0.75rem;
		font-family: monospace;
	}
	.abstraction,
	.main,
	.vanilla {
		padding-left: 0;
	}
	#projects {
		padding-top: 15px;
		padding-bottom: 10px;
		background-image: url(/svgs/projects/projects639.svg);
	}
	.projects-container {
		height: auto;
	}
	.projects-container .project {
		margin-bottom: 80px;
		display: flex;
		flex-direction: row;
		width: 385px;
	}
	.projects-container .project .main-summary {
		height: auto;
	}
	.projects-container #project1,
	.projects-container #project3 {
		flex-direction: column;
		height: auto;
	}
	.projects-container #project2,
	.projects-container #project4 {
		flex-direction: column-reverse;
		justify-content: center;
	}
	.project .main-title {
		font-size: 1.25rem;
	}
	.project .main-content {
		width: 100%;
	}
	#project3 .main-content img,
	#project4 .main-content img,
	.project .main-content img {
		height: 200px;
		width: 100%;
	}
	.project .main-description {
		width: 100%;
		margin: 0 auto;
		justify-content: center;
		align-items: flex-start;
		text-align: justify;
		padding: 0;
	}
	.projects-container p {
		font-size: 0.75rem;
		margin-bottom: 5px;
	}
	#mail-art {
		display: none;
	}
	#about,
	#contact {
		margin-top: 0;
		padding: 0;
		background-position: right;
		background-size: cover;
	}
	#contact {
		background-size: cover;
		background-position: bottom;
		padding: 50vw 0 40vw;
	}
	#about {
		height: auto;
		background-image: url(../svgs/about/about639.svg);
		background-position: bottom;
		background-repeat: repeat-x;
		background-size: contain;
		margin-top: -2px;
		padding: 150px 0;
	}
	#about h1 {
		padding: 15px 0;
	}
	#about .about-me {
		height: auto;
	}
	#about .about-me img {
		width: 235px;
		height: 235px;
		background-color: #006eff;
	}
	#about .img-back {
		margin-top: 20px;
	}
	#about .about-me p {
		width: 350px;
		height: auto;
		font-size: 0.75rem;
		margin-bottom: 40px;
		word-spacing: normal;
		padding: 10px 12px;
		margin-top: -10px;
		text-align: left;
	}
	#about a {
		font-size: 0.85rem;
		padding: 12px 20px;
	}
	#contact {
		padding: 150px 0 200px;
		background-color: #fadb69;
	}
	#contact h1 {
		background-image: url(../svgs/contact/h1/h1639.svg);
		font-size: 1.5rem;
		padding-bottom: 50vw;
	}
	#contact .top {
		background-image: url(../svgs/contact/top/top639.svg);
		position: absolute;
		top: -60px;
		left: 0;
		height: 100px;
		padding-bottom: 15px;
	}
	.contact-container {
		width: 385px;
		padding-bottom: 30px;
		border-radius: 10px;
	}
	.contact-container form {
		height: auto;
	}
	.contact-container form h2 {
		font-size: 1.25rem;
		margin: 0 30px 30px;
		font-weight: 900;
	}
	.contact-container form label {
		font-size: 0.7rem;
		margin-top: 2px;
	}
	.contact-container form input {
		margin-bottom: 5px;
		font-size: 0.8rem;
		font-weight: 600;
	}
	.contact-container form button {
		padding: 12px 0;
		font-size: 0.5rem;
	}
	.bottom-wave {
		background-image: url(/svgs/bottom-wave/bw639.svg);
	}
	::-webkit-scrollbar {
		width: 0;
	}
}
@media screen and (min-width: 640px) and (max-width: 899px) {
	nav {
		width: auto;
		height: 50px;
		margin: 0 auto;
		justify-content: space-between;
		padding: 3px 15px;
	}
	nav a {
		width: 30px;
		margin: 0;
		padding: 0;
	}
	#mobile-container {
		width: 60px;
		height: auto;
		background-color: transparent;
		display: flex;
		flex-direction: column;
		left: unset;
		right: 1vw;
		top: 0;
	}
	.mobile-nav {
		width: 50px;
		height: 300px;
		display: flex;
		flex-direction: column;
		background-color: #0d0017;
		justify-content: space-between;
		box-shadow: none;
		padding: 15px 0;
	}
	.mobile-nav a {
		width: 30px;
		height: 25px;
		font-size: 0px;
		margin: 0 auto;
	}
	.social {
		width: 130px;
		justify-content: space-between;
		padding: 8px 0;
		z-index: 40;
	}
	.social a:nth-child(2) {
		margin: 0;
	}
	.social a img {
		width: 20px;
	}
	#introduction {
		width: 93.5%;
		margin: 0 auto 50px;
		height: 50vw;
		flex-direction: row;
		padding-right: 20px;
		align-items: center;
		justify-content: space-between;
	}
	#introduction .intro-images {
		width: 40vw;
		height: 40vw;
		margin: 0;
		padding: 10px 0;
	}
	.intro-images #blob {
		width: 65%;
		height: auto;
		position: absolute;
		top: 20px;
		left: 20%;
		right: 20%;
	}
	.intro-images #avatar {
		width: 60%;
		height: auto;
		position: absolute;
		top: 20px;
		left: 20%;
		right: 20%;
		-webkit-animation: fadeIn 0.25s ease-in;
		animation: fadeIn 0.25s ease-in;
	}
	#introduction .intro-text {
		width: 50vw;
		justify-content: space-around;
		align-items: flex-start;
		text-align: center;
		height: 20vw;
		padding-left: 5vw;
	}
	#introduction .intro-text header {
		align-items: flex-end;
		height: auto;
	}
	#introduction .intro-text header h4 {
		font-size: 2vw;
		margin: 0;
		margin-right: 5px;
		margin-bottom: -1px;
	}
	#introduction .intro-text header h1 {
		font-size: 3.8vw;
	}
	#introduction .intro-text b {
		font-size: 3.8vw;
		line-height: 4.5vw;
		text-align: left;
		margin: 10px 0;
	}
	#introduction .intro-text p {
		font-size: 2vw;
	}
	#introduction .intro-text .connect {
		justify-content: flex-start;
		margin-top: 15px;
	}
	#introduction .intro-text .connect a {
		padding: 8px 10px;
		font-size: 0.75rem;
	}
	#portfolio {
		padding-top: 25px;
	}
	#portfolio h1 {
		font-size: 1.75rem;
	}
	#portfolio .stack-header {
		margin: 30px auto 0px;
		justify-content: center;
		align-items: center;
	}
	#portfolio .stack-header p {
		font-size: 1.2rem;
	}
	#portfolio .stack-header img {
		width: 25px;
		height: 25px;
		margin-left: 15px;
		margin-bottom: 0;
	}
	#portfolio .role {
		width: 90%;
	}
	#portfolio .main,
	#portfolio .abstraction,
	#portfolio .vanilla {
		align-items: center;
	}
	#portfolio .tech-stacks,
	#portfolio .backends,
	#portfolio .platforms {
		width: 75%;
		margin: 0 auto;
		justify-content: space-around;
	}
	#portfolio .tech-stacks li {
		padding: 8px 8px 8px 0;
		border-radius: 10px;
		display: flex;
		flex-direction: row;
		align-items: center;
		margin: 40px auto;
		justify-content: space-around;
	}
	#portfolio .platforms li,
	#portfolio .backends li {
		width: auto;
		padding: 8px 0 8px 8px;
		border-radius: 10px;
		margin: 40px auto;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
	}
	#portfolio .tech-stacks li p {
		font-size: 0.65rem;
		padding: 0;
	}
	#portfolio .backends li p,
	#portfolio .platforms li p {
		font-size: 0.65rem;
		padding: 0 10px;
	}
	#portfolio .tech-stacks li img {
		width: 35px;
		height: 35px;
		margin-left: 0;
		padding-left: 5px;
	}
	.platforms ul {
		padding: 0;
		margin: 0;
	}
	#roles {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	#roles .role {
		width: 95%;
		height: -webkit-max-content;
		height: -moz-max-content;
		height: max-content;
		margin: 0 auto;
	}
	#roles b {
		font-size: 1rem;
	}
	#roles p {
		font-size: 0.75rem;
		font-family: monospace;
	}
	.abstraction,
	.main,
	.vanilla {
		padding-left: 0;
	}
	#projects {
		padding-top: 15px;
		padding-bottom: 10px;
		background-image: url(/svgs/projects/projects899.svg);
	}
	.projects-container {
		height: auto;
	}
	.projects-container .project {
		margin-bottom: 80px;
		width: 400px;
	}
	.projects-container .project .main-summary {
		height: auto;
	}
	.projects-container #project1,
	.projects-container #project3 {
		flex-direction: column;
		height: auto;
	}
	.projects-container #project2,
	.projects-container #project4 {
		flex-direction: column-reverse;
		justify-content: center;
	}
	.project .main-title {
		font-size: 1.25rem;
	}
	.project .main-content {
		width: 400px;
	}
	#project3 .main-content img,
	#project4 .main-content img,
	.project .main-content img {
		height: 220px;
		width: 100%;
	}
	.project .main-description {
		width: 100%;
		margin: 0 auto;
		justify-content: center;
		align-items: flex-start;
		text-align: justify;
		padding: 0;
	}
	.projects-container p {
		font-size: 0.75rem;
		margin-bottom: 5px;
	}
	#mail-art {
		display: none;
	}
	#about,
	#contact {
		margin-top: 0;
		padding: 0;
		background-position: right;
		background-size: cover;
	}
	#contact {
		background-size: cover;
		background-position: bottom;
		padding: 50vw 0 40vw;
	}
	#about {
		height: auto;
		background-image: url(../svgs/about/about899.svg);
		background-position: bottom;
		background-repeat: repeat-x;
		background-size: contain;
		padding: 250px 0;
		margin-top: -2px;
	}
	#about h1 {
		padding: 15px 0 0;
		margin-bottom: 20px;
	}
	#about .about-me {
		width: 90%;
		height: auto;
		padding: 10vw 0 80px;
		flex-direction: row;
		justify-content: space-between;
		max-width: 750px;
	}
	#about .about-me img {
		width: 235px;
		height: 235px;
		background-color: #006eff;
		margin-right: 10px;
	}
	#about .img-back {
		height: auto;
		margin-top: 50px;
	}
	#about .about-me p {
		width: 350px;
		height: auto;
		font-size: 0.75rem;
		margin-bottom: 0;
		word-spacing: normal;
		padding: 10px 12px;
		text-align: justify;
		margin-left: 15px;
	}
	#about a {
		font-size: 0.85rem;
		padding: 12px 20px;
	}
	#contact {
		padding: 180px 0 230px;
		background-color: #fadb69;
	}
	#contact h1 {
		background-image: url(../svgs/contact/h1/h1899.svg);
		font-size: 1.55rem;
		margin-top: 0;
		padding-bottom: 15vw;
		background-size: cover;
	}
	#contact .top {
		background-image: url(../svgs/contact/top/top899.svg);
		background-size: contain;
		position: absolute;
		top: -16vw;
		left: 0;
		height: 25vw;
	}
	.contact-container {
		width: 500px;
		padding-bottom: 30px;
		border-radius: 10px;
	}
	.contact-container form {
		height: auto;
	}
	.contact-container form h2 {
		font-size: 1.5rem;
		margin: 0 30px 30px;
		font-weight: 900;
	}
	.contact-container form label {
		font-size: 0.85rem;
		margin-top: 2px;
	}
	.contact-container form input {
		margin-bottom: 5px;
		font-size: 0.95rem;
		font-weight: 600;
	}
	.contact-container form textarea {
		min-height: 100px;
	}
	.contact-container form button {
		padding: 14px 0;
		font-size: 0.6rem;
	}
	.bottom-wave {
		background-image: url(../svgs/bottom-wave/bw899.svg);
		background-size: contain;
	}
	::-webkit-scrollbar {
		width: 0;
	}
}
@media screen and (min-width: 900px) and (max-width: 1199px) {
	nav {
		justify-content: space-between;
		align-items: center;
		width: 95%;
		padding: 5px 20px;
	}
	#mobile-container {
		width: 60px;
		height: 100%;
		background-color: transparent;
		display: flex;
		flex-direction: column;
		left: unset;
		right: 0.8vw;
		top: 0;
	}
	.mobile-nav {
		width: 50px;
		height: 300px;
		display: flex;
		flex-direction: column;
		background-color: #0d0017;
		justify-content: space-between;
		box-shadow: none;
		padding: 15px 0;
	}
	.mobile-nav a {
		width: 35px;
		height: 30px;
		font-size: 0px;
		margin: 0 auto;
	}
	nav .social {
		width: 140px;
		justify-content: space-between;
		padding: 8px 0;
		z-index: 40;
	}
	.social a:nth-child(2) {
		margin: 0;
	}
	.social a img {
		width: 20px;
	}
	#introduction {
		width: 85.5%;
		margin: 0 auto 50px;
		height: 53vw;
		flex-direction: row;
		padding: 0;
		align-items: center;
		justify-content: space-between;
		padding: 0 60px;
	}
	#introduction .intro-images {
		width: 40vw;
		height: 38vw;
		max-width: 450px;
		max-height: 420px;
		margin: 0;
		padding: 25px 0;
	}
	.intro-images #blob {
		width: 65%;
		height: auto;
		position: absolute;
		top: 20px;
		left: 18%;
		right: 18%;
	}
	.intro-images #avatar {
		width: 65%;
		height: auto;
		position: absolute;
		top: 20px;
		left: 18%;
		right: 18%;
		-webkit-animation: fadeIn 0.25s ease-in;
		animation: fadeIn 0.25s ease-in;
	}
	#introduction .intro-text {
		width: 40vw;
		justify-content: center;
		align-items: flex-start;
		text-align: center;
		height: 30vw;
		margin-top: 50px;
	}
	#introduction .intro-text header {
		align-items: center;
	}
	#introduction .intro-text header h4 {
		font-size: 1.5vw;
		margin: 0 10px -17px 0;
	}
	#introduction .intro-text header h1 {
		font-size: 3.7vw;
	}
	#introduction .intro-text b {
		font-size: 3.7vw;
		line-height: 4.5vw;
		text-align: left;
		margin-top: 5px;
	}
	#introduction .intro-text p {
		font-size: 1.5vw;
		margin-top: 10px;
	}
	#introduction .intro-text .connect {
		justify-content: flex-start;
		margin-top: 20px;
	}
	#introduction .intro-text .connect a {
		padding: 7.5px 10px;
		font-size: 0.85rem;
	}
	#portfolio {
		padding-top: 25px;
		padding-bottom: 150px;
		background-image: url(../svgs/portfolio/portfolio1199.svg);
	}
	#portfolio h1 {
		font-size: 1.85rem;
	}
	#portfolio .stack-header {
		margin: 30px auto 20px;
		justify-content: center;
		align-items: center;
	}
	#portfolio .stack-header p {
		font-size: 1.3rem;
	}
	#portfolio .stack-header img {
		width: 25px;
		height: 25px;
		margin-left: 15px;
		margin-bottom: 0;
	}
	#portfolio .stack-heading {
		font-size: 1.5rem;
	}
	#portfolio #roles {
		margin: 0 auto;
	}
	#portfolio .role {
		width: 97.5%;
	}
	#portfolio .role b {
		font-size: 0.95rem;
	}
	#portfolio .role p {
		font-size: 0.85rem;
	}
	#portfolio .main,
	#portfolio .abstraction,
	#portfolio .vanilla,
	#portfolio .tools,
	#portfolio .platform,
	#portfolio .backends {
		align-items: center;
		display: flex;
		flex-direction: row;
	}
	#portfolio .tech-stacks,
	#portfolio .backends,
	#portfolio .platforms {
		width: 100%;
		margin: 0 auto 30px;
		justify-content: center;
	}
	#portfolio .tech-stacks {
		width: 100%;
		display: flex;
		flex-direction: row;
		margin: 0 auto;
		gap: 0;
		justify-content: center;
	}
	#portfolio .tech-stacks ul {
		width: -webkit-min-content;
		width: -moz-min-content;
		width: min-content;
	}
	#portfolio .tech-stacks li {
		width: 60px;
		padding: 8px 6px;
		border-radius: 20px;
		margin: 0 2.5vw;
	}
	#portfolio .platforms li,
	#portfolio .backends li {
		width: 50px;
		padding: 8px;
		border-radius: 20px;
		margin: 0 2.5vw;
	}
	#portfolio .tech-stacks li p,
	#portfolio .backends li p,
	#portfolio .platforms li p {
		font-size: 0.75rem;
		padding: 0;
	}
	#portfolio .backends li {
		padding: 8px 10px;
	}
	#portfolio .tech-stacks li img {
		width: 35px;
		height: 35px;
	}
	.platforms ul {
		padding: 0;
		margin: 0;
	}
	#roles {
		width: 95%;
		height: auto;
		margin-top: -10px;
	}
	#roles .role {
		height: -webkit-max-content;
		height: -moz-max-content;
		height: max-content;
		width: 800px;
		margin: 0 auto;
	}
	#roles b {
		font-size: 1rem;
	}
	#roles p {
		font-size: 0.75rem;
		font-family: monospace;
	}
	.abstraction,
	.main,
	.vanilla {
		padding-left: 0;
	}
	#projects {
		padding-top: 20px;
		padding-bottom: 50px;
		height: auto;
		background-image: url(../svgs/projects/projects1199.svg);
	}
	#projects h1 {
		padding-bottom: 50px;
	}
	.projects-container {
		height: auto;
	}
	.projects-container .project {
		margin-bottom: 80px;
		width: 90%;
		display: flex;
		flex-direction: row;
		align-items: center;
		height: auto;
	}
	.projects-container .project .main-summary {
		height: auto;
	}
	.project #project1,
	.project #project3 {
		flex-direction: column;
		height: auto;
	}
	.project #project2,
	.project #project4 {
		flex-direction: column-reverse;
		justify-content: center;
	}
	.project .main-title {
		font-size: 1.25rem;
	}
	.project .main-content {
		width: 50%;
	}
	#project3 .main-content img,
	#project4 .main-content img,
	.project .main-content img {
		max-height: 229px;
		max-width: 452px;
		width: 100%;
		height: 100%;
	}
	.project .main-description {
		width: 40%;
		justify-content: center;
		align-items: flex-start;
		text-align: justify;
		padding: 0 50px;
		margin-top: -100px;
	}
	.main-description .main-title {
		font-size: 1.5rem;
	}
	.main-description .main-summary {
		font-size: 0.85rem;
	}
	.projects-container p {
		font-size: 0.75rem;
		margin-bottom: 5px;
	}
	#about,
	#contact {
		margin-top: 0;
		padding: 0;
		background-position: right;
		background-size: cover;
	}
	#contact {
		background-size: cover;
		background-position: bottom;
		padding: 50vw 0 40vw;
	}
	#about {
		height: auto;
		background-image: url(../svgs/about/about1199.svg);
		background-position: bottom;
		background-size: contain;
		background-repeat: repeat-x;
		padding: 250px 0;
		margin-top: -3px;
	}
	#about h1 {
		padding: 50px 0;
		margin-bottom: 20px;
	}
	#about .about-me {
		width: 90%;
		height: auto;
		padding: 10vw 0 80px;
		flex-direction: row;
		justify-content: space-around;
		max-width: 900px;
	}
	#about .about-me img {
		width: 250px;
		height: 250px;
		background-color: #006eff;
		margin-right: 10px;
		margin-top: 10px;
	}
	#about .img-back {
		height: auto;
		margin: 50px 50px 50px 0;
	}
	#about .about-me p {
		width: 450px;
		height: auto;
		font-size: 0.8rem;
		margin-bottom: 0;
		word-spacing: normal;
		padding: 10px 12px;
		text-align: justify;
		margin-left: 15px;
	}
	#about a {
		font-size: 0.85rem;
		padding: 12px 20px;
		margin-right: -20px;
	}
	#mail-art {
		display: none;
	}
	#contact {
		padding: 180px 0 230px;
		background-color: #fadb69;
	}
	#contact h1 {
		background-image: url(../svgs/contact/h1/h11199.svg);
		font-size: 1.75rem;
		/* margin-top: -20px; */
		padding-bottom: 20vw;
		background-position: center;
		background-size: cover;
	}
	#contact .top {
		background-image: url(../svgs/contact/top/top1199.svg);
		background-position: center;
		background-size: cover;
		position: absolute;
		top: -70px;
		left: 0;
		height: 15vw;
	}
	.contact-container {
		width: 550px;
		padding-bottom: 30px;
		border-radius: 10px;
	}
	.contact-container form {
		height: auto;
	}
	.contact-container form h2 {
		font-size: 1.5rem;
		margin: 0 30px 30px;
		font-weight: 900;
	}
	.contact-container form label {
		font-size: 0.85rem;
		margin-top: 2px;
	}
	.contact-container form input {
		margin-bottom: 5px;
		font-size: 0.95rem;
		font-weight: 600;
	}
	.contact-container form textarea {
		min-height: 100px;
		font-size: 0.95rem;
	}
	.contact-container form button {
		padding: 12px 0;
		font-size: 0.75rem;
	}
	.bottom-wave {
		background-image: url(../svgs/bottom-wave/bw1199.svg);
	}
	::-webkit-scrollbar {
		width: 0;
	}
}
@media screen and (min-width: 1200px) and (max-width: 1399px) {
	nav {
		justify-content: space-between;
		align-items: center;
		width: 95%;
		padding-top: 5px;
	}
	#mobile-container {
		width: 60px;
		height: 100%;
		background-color: transparent;
		display: flex;
		flex-direction: column;
		left: unset;
		right: 0.8vw;
		top: 0;
	}
	.mobile-nav {
		width: 50px;
		height: 300px;
		display: flex;
		flex-direction: column;
		background-color: #0d0017;
		justify-content: space-between;
		box-shadow: none;
		padding: 15px 0;
	}
	.mobile-nav a {
		width: 35px;
		height: 30px;
		font-size: 0px;
		margin: 0 auto;
	}
	nav .social {
		width: 140px;
		justify-content: space-between;
		padding: 8px 0;
		z-index: 40;
	}
	.social a:nth-child(2) {
		margin: 0;
	}
	.social a img {
		width: 30px;
	}
	#introduction {
		width: 87.5%;
		margin: 0 auto 50px;
		height: 650px;
		flex-direction: row;
		padding: 0 5vw 0 3vw;
		align-items: center;
		justify-content: space-between;
	}
	#introduction .intro-images {
		width: 35vw;
		height: 35vw;
		max-width: 430px;
		max-height: 430px;
		margin: 0;
		padding: 10px 20px;
	}
	.intro-images #blob {
		width: 65%;
		height: auto;
		position: absolute;
		top: 0px;
		left: 20%;
		right: 20%;
	}
	.intro-images #avatar {
		width: 60%;
		height: auto;
		position: absolute;
		top: 20px;
		left: 20%;
		right: 20%;
		-webkit-animation: fadeIn 0.25s ease-in;
		animation: fadeIn 0.25s ease-in;
	}
	#introduction .intro-text {
		width: 40vw;
		justify-content: center;
		align-items: flex-start;
		text-align: center;
		height: 25vw;
		margin-top: 40px;
		padding-left: 35px;
	}
	#introduction .intro-text header {
		align-items: center;
	}
	#introduction .intro-text header h4 {
		font-size: 1.5vw;
		margin: 0 10px -20px 0;
	}
	#introduction .intro-text header h1 {
		font-size: 3.5vw;
	}
	#introduction .intro-text b {
		font-size: 3.5vw;
		line-height: 3.8vw;
		text-align: left;
		margin: 10px 0;
	}
	#introduction .intro-text p {
		font-size: 1.5vw;
		margin-top: 10px;
	}
	#introduction .intro-text .connect {
		justify-content: flex-start;
		margin-top: 20px;
	}
	#introduction .intro-text .connect a {
		padding: 8px 12px;
		font-size: 0.85rem;
	}
	#portfolio {
		padding-top: 25px;
		padding-bottom: 150px;
		background-image: url(../svgs/portfolio/portfolio1399.svg);
	}
	#portfolio h1 {
		font-size: 1.85rem;
	}
	#portfolio .stack-header {
		margin: 50px auto 30px;
		justify-content: center;
		align-items: center;
	}
	#portfolio .stack-header p {
		font-size: 1.3rem;
	}
	#portfolio .stack-header img {
		width: 25px;
		height: 25px;
		margin-left: 15px;
		margin-bottom: 0;
	}
	#portfolio .stack-heading {
		font-size: 1.5rem;
	}
	#portfolio .role {
		width: 800px;
		margin: 0 auto;
	}
	#portfolio .role b {
		font-size: 0.95rem;
	}
	#portfolio .role p {
		font-size: 0.85rem;
	}
	#portfolio .main,
	#portfolio .abstraction,
	#portfolio .vanilla,
	#portfolio .tools,
	#portfolio .platform,
	#portfolio .backends {
		align-items: center;
		display: flex;
		flex-direction: row;
	}
	#portfolio .tech-stacks,
	#portfolio .backends,
	#portfolio .platforms {
		width: 1000px;
		max-width: 1200px;
		margin: 0 auto 30px;
		justify-content: center;
	}
	#portfolio .tech-stacks {
		display: flex;
		flex-direction: row;
		margin: 0 auto;
		gap: 0;
		justify-content: space-around;
	}
	#portfolio .tech-stacks ul {
		width: -webkit-min-content;
		width: -moz-min-content;
		width: min-content;
	}
	#portfolio .platforms ul {
		width: 100%;
	}
	#portfolio .tech-stacks li {
		padding: 8px 6px;
		border-radius: 20px;
		margin: 0 2.5vw;
		width: 60px;
	}
	#portfolio .platforms ul li,
	#portfolio .backends ul li {
		width: 50px;
		padding: 8px;
		border-radius: 20px;
		margin: 0 2.5vw;
	}
	#portfolio .tech-stacks li p,
	#portfolio .backends li p,
	#portfolio .platforms li p {
		font-size: 0.75rem;
		padding: 0;
	}
	#portfolio .backends li {
		padding: 8px 10px;
	}
	#portfolio .tech-stacks li img {
		width: 35px;
		height: 35px;
	}
	#roles {
		width: 95%;
		height: auto;
		margin-top: -10px;
	}
	#roles .role {
		height: -webkit-max-content;
		height: -moz-max-content;
		height: max-content;
	}
	#roles b {
		font-size: 1rem;
	}
	#roles p {
		font-size: 0.75rem;
		font-family: monospace;
	}
	.abstraction,
	.main,
	.vanilla {
		padding-left: 0;
	}
	#projects {
		padding-top: 20px;
		padding-bottom: 50px;
		height: auto;
	}
	#projects h1 {
		padding-bottom: 50px;
	}
	.projects-container {
		height: auto;
	}
	.projects-container .project {
		margin-bottom: 80px;
		width: 90%;
		display: flex;
		flex-direction: row;
		align-items: center;
		height: auto;
	}
	.projects-container .project .main-summary {
		height: auto;
	}
	.project #project1,
	.project #project3 {
		flex-direction: column;
		height: auto;
	}
	.project #project2,
	.project #project4 {
		flex-direction: column-reverse;
		justify-content: center;
	}
	.project .main-title {
		font-size: 1.25rem;
	}
	.project .main-content {
		width: 50%;
	}
	#project3 .main-content img,
	#project4 .main-content img,
	.project .main-content img {
		max-height: 229px;
		max-width: 452px;
		width: 100%;
		height: 100%;
	}
	.project .main-description {
		width: 40%;
		justify-content: center;
		align-items: flex-start;
		text-align: justify;
		padding: 0 50px;
		margin-top: -100px;
	}
	.main-description .main-title {
		font-size: 1.5rem;
	}
	.main-description .main-summary {
		font-size: 0.85rem;
	}
	.projects-container p {
		font-size: 0.75rem;
		margin-bottom: 5px;
	}
	#mail-art {
		display: block;
	}
	#about,
	#contact {
		margin-top: 0;
		padding: 0;
		background-position: right;
		background-size: cover;
	}
	#contact {
		background-size: cover;
		background-position: bottom;
		padding: 230px 0 300px;
	}
	#about {
		height: auto;
		background-image: url(../svgs/about/about1399.svg);
		background-position: bottom;
		background-repeat: repeat-x;
		background-size: contain;
		padding: 250px 0;
	}
	#about h1 {
		padding: 15px 0 0;
		margin-bottom: 20px;
	}
	#about .about-me {
		width: 90%;
		height: 600px;
		padding: 50px 0 0;
		flex-direction: row;
		justify-content: space-around;
		max-width: 1000px;
	}
	#about .about-me img {
		width: 300px;
		height: 300px;
		background-color: #006eff;
		margin-right: 10px;
		margin-top: 10px;
	}
	#about .img-back {
		height: auto;
		margin: 50px 50px 50px 0;
	}
	#about .about-me p {
		width: 450px;
		height: auto;
		font-size: 0.9rem;
		margin-bottom: 0;
		word-spacing: normal;
		padding: 12px 14px;
		text-align: left;
		margin-left: 15px;
	}
	#about a {
		font-size: 0.85rem;
		padding: 12px 20px;
		margin-right: -20px;
	}
	#contact {
		padding: 200px 0 230px;
		background-color: #fadb69;
	}
	#contact h1 {
		background-image: url(../svgs/contact/h1/h11399.svg);
		font-size: 1.55rem;
		margin-top: 0;
		padding-bottom: 5vw;
		background-size: contain;
		height: 10vw;
	}
	#contact .top {
		background-image: url(../svgs/contact/top/top1399.svg);
		position: absolute;
		top: -250px;
		left: 0;
		height: 25vw;
		background-size: contain;
	}
	.contact-container {
		width: 450px;
		padding-bottom: 30px;
		border-radius: 10px;
		margin-left: 100px;
		border: none;
		margin-right: 0;
	}
	.contact-container form {
		height: auto;
	}
	.contact-container form h2 {
		font-size: 1.5rem;
		margin-bottom: 60px;
		font-weight: 900;
		text-align: left;
		margin-top: -50px;
	}
	.contact-container form label {
		font-size: 0.85rem;
		margin-top: 2px;
	}
	.contact-container form input {
		margin-bottom: 5px;
		font-size: 0.95rem;
		font-weight: 600;
	}
	.contact-container form textarea {
		min-height: 80px;
		font-size: 0.95rem;
	}
	.contact-container form button {
		padding: 12px 0;
		font-size: 0.75rem;
	}
	::-webkit-scrollbar {
		width: 0;
	}
}
@media screen and (min-width: 1400px) {
	#app {
		width: 1399px;
		margin: 0 auto;
		background-color: #0b0015;
	}
	nav {
		justify-content: space-between;
		align-items: center;
		width: 97.5%;
		padding: 5px 15px;
	}
	#mobile-container {
		width: 60px;
		height: 100%;
		background-color: transparent;
		display: flex;
		flex-direction: column;
		left: unset;
		right: 0.5vw;
		top: 0;
	}
	.mobile-nav {
		width: 50px;
		height: 300px;
		display: flex;
		flex-direction: column;
		background-color: #1a002e;
		justify-content: space-between;
		box-shadow: none;
		padding: 15px 0;
		border: none;
	}
	.mobile-nav a {
		width: 35px;
		height: 30px;
		font-size: 0px;
		margin: 0 auto;
	}
	nav .social {
		width: 140px;
		justify-content: space-between;
		padding: 8px 0;
		z-index: 40;
	}
	.social a:nth-child(2) {
		margin: 0;
	}
	.social a img {
		width: 20px;
	}
	nav #logo {
		width: 30px;
		height: 30px;
	}
	#introduction {
		width: 100%;
		margin: 0 auto;
		height: 600px;
		flex-direction: row;
		align-items: center;
		justify-content: space-evenly;
		padding: 20px 0;
		padding-right: 10px;
	}
	#introduction .intro-images {
		width: 400px;
		height: 400px;
		margin: 0;
		padding: 20px 40px 80px;
	}
	.intro-background {
		background-size: contain;
		background-repeat: repeat-y;
		background-position: right;
	}
	.intro-images #blob {
		width: 65%;
		height: auto;
		position: absolute;
		top: 20px;
		left: 20%;
		right: 20%;
	}
	.intro-images #avatar {
		width: 60%;
		height: auto;
		position: absolute;
		top: 40px;
		left: 20%;
		right: 20%;
		-webkit-animation: fadeIn 0.25s ease-in;
		animation: fadeIn 0.25s ease-in;
	}
	#introduction .intro-text {
		width: 650px;
		justify-content: center;
		align-items: flex-start;
		text-align: center;
		height: 450px;
		margin-bottom: -30px;
	}
	#introduction .intro-text header {
		align-items: center;
	}
	#introduction .intro-text header h4 {
		font-size: 1.25rem;
		margin: 0 10px -30px 0;
	}
	#introduction .intro-text header h1 {
		font-size: 3.5rem;
	}
	#introduction .intro-text b {
		font-size: 3.5rem;
		line-height: 3.8rem;
		text-align: left;
		margin: 10px 0;
	}
	#introduction .intro-text p {
		font-size: 1.25rem;
		margin-top: 10px;
	}
	#introduction .intro-text .connect {
		justify-content: flex-start;
		margin-top: 35px;
	}
	#introduction .intro-text .connect a {
		padding: 10px 15px;
		font-size: 0.85rem;
	}
	#portfolio {
		width: 100%;
		padding-top: 25px;
		margin-top: 30px;
		border-top: 2px solid #3c006d;
		border-bottom: 2px solid #410075;
		border-radius: 40px;
		box-shadow: none;
		padding-bottom: 0;
		background-image: url(../svgs/portfolio/portfolio1399.svg);
		margin-bottom: 10px;
		overflow-x: hidden;
	}
	#portfolio h1 {
		font-size: 1.85rem;
	}
	#portfolio .stack-header {
		margin: 50px auto 30px;
		justify-content: center;
		align-items: center;
	}
	#portfolio .stack-header p {
		font-size: 1.3rem;
	}
	#portfolio .stack-header img {
		width: 25px;
		height: 25px;
		margin-left: 15px;
		margin-bottom: 0;
	}
	#portfolio .stack-heading {
		font-size: 1.5rem;
	}
	#portfolio .role {
		width: 1000px;
		margin: 0 auto;
	}
	#portfolio .role b {
		font-size: 0.95rem;
	}
	#portfolio .role p {
		font-size: 0.85rem;
	}
	#portfolio .main,
	#portfolio .abstraction,
	#portfolio .vanilla,
	#portfolio .tools,
	#portfolio .platform,
	#portfolio .backends {
		align-items: center;
		display: flex;
		flex-direction: row;
	}
	#portfolio .tech-stacks,
	#portfolio .backends,
	#portfolio .platforms {
		width: auto;
		max-width: 1300px;
		margin-bottom: 30px;
		justify-content: center;
		overflow-x: hidden;
		margin: 0 auto;
	}
	#portfolio .tech-stacks {
		display: flex;
		flex-direction: row;
		margin: 0 auto;
		gap: 0;
		justify-content: center;
	}
	#portfolio .tech-stacks ul {
		width: auto;
	}
	#portfolio .platforms ul {
		width: auto;
		margin-left: -40px;
		justify-content: center;
	}
	#portfolio .tech-stacks li {
		padding: 8px 6px;
		border-radius: 20px;
		margin: 0 2vw;
		width: 60px;
	}
	#portfolio .platforms li,
	#portfolio .backends li {
		width: 50px;
		padding: 8px;
		border-radius: 20px;
		margin: 0 1.5vw;
	}
	#portfolio .tech-stacks li p,
	#portfolio .backends li p,
	#portfolio .platforms li p {
		font-size: 0.75rem;
		padding: 0;
		line-clamp: 1;
	}
	#portfolio .backends li {
		padding: 8px 10px;
	}
	#portfolio .tech-stacks li img {
		width: 35px;
		height: 35px;
	}
	#roles {
		width: 95%;
		height: auto;
		margin: 0 auto;
		margin-top: -20px;
	}
	#roles .role {
		height: -webkit-max-content;
		height: -moz-max-content;
		height: max-content;
	}
	#roles b {
		font-size: 1rem;
	}
	#roles p {
		font-size: 0.75rem;
		font-family: monospace;
	}
	.abstraction,
	.main,
	.vanilla {
		padding-left: 0;
	}
	#projects {
		padding-top: 20px;
		padding-bottom: 50px;
		height: auto;
		border-top: 2px solid #3c006d;
		border-bottom: 2px solid #3c006d;
		margin-bottom: 10px;
		border-radius: 40px;
		background-image: url(../svgs/projects/projects1399.svg);
	}
	#projects h1 {
		padding-bottom: 50px;
	}
	.projects-container {
		height: auto;
	}
	.projects-container .project {
		margin-bottom: 10px;
		width: 90%;
		display: flex;
		flex-direction: row;
		align-items: center;
		height: auto;
		padding-top: 10px;
		justify-content: center;
	}
	.projects-container .project .main-summary {
		height: auto;
	}
	.project #project1,
	.project #project3 {
		flex-direction: column;
		height: auto;
	}
	.project #project2,
	.project #project4 {
		flex-direction: column-reverse;
		justify-content: center;
	}
	.project .main-title {
		font-size: 1.25rem;
	}
	.project .main-content {
		width: 50%;
	}
	#project3 .main-content img,
	#project4 .main-content img,
	.project .main-content img {
		max-height: 229px;
		max-width: 452px;
		width: 100%;
		height: 100%;
	}
	.project .main-description {
		width: 40%;
		justify-content: center;
		align-items: flex-start;
		text-align: justify;
		padding: 0;
		margin-top: -100px;
	}
	.main-description .main-title {
		font-size: 1.5rem;
	}
	.main-description .main-summary {
		font-size: 0.85rem;
	}
	.projects-container p {
		font-size: 0.75rem;
		margin-bottom: 5px;
	}
	#mail-art {
		display: block;
		width: 520px;
		height: 520px;
	}
	#about,
	#contact {
		margin-top: 0;
		padding: 0;
		background-position: right;
		background-size: cover;
	}
	#contact {
		padding: 150px 0 250px;
		height: 800px;
		background-color: #fadb69;
		height: 500px;
		border-radius: 50px;
	}
	#about {
		padding: 0;
		height: 800px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		border-top: 2px solid #3c006d;
		border-bottom: 2px solid #410075;
		margin-bottom: 10px;
		border-radius: 40px;
		background-image: url(../svgs/about/about1399.svg);
		background-position: top;
		background-size: cover;
	}
	#about h1 {
		border-top: 2px solid #3c006d;
		border-radius: 40px 40px 0 0;
		padding: 15px 0 0;
	}
	#about .about-me {
		width: 90%;
		height: 500px;
		padding: 0;
		flex-direction: row;
		justify-content: space-around;
		max-width: 1000px;
	}
	#about .about-me img {
		width: 300px;
		height: 300px;
		background-color: #006eff;
		margin-right: 10px;
		margin-top: 10px;
	}
	#about .img-back {
		height: auto;
		margin: 50px;
	}
	#about .about-me p {
		width: 480px;
		height: auto;
		font-size: 0.95rem;
		margin-bottom: 0;
		word-spacing: normal;
		padding: 12px 14px;
		text-align: left;
	}
	#about a {
		font-size: 1rem;
		padding: 12px 20px;
		margin-right: -20px;
		margin-top: 50px;
	}
	#contact h1 {
		background-image: url(../svgs/contact/h1/h11399.svg);
		font-size: 1.85rem;
		margin-top: 0;
		padding-bottom: 100px;
		border-top-left-radius: 40px;
		border-top-right-radius: 40px;
		background-size: cover;
		padding-top: 30px;
	}
	#contact .top {
		background-image: url(../svgs/contact/top/top1399.svg);
		position: absolute;
		top: -60px;
		left: 0;
		height: 25vw;
		display: none;
	}
	.contact-container {
		width: 450px;
		padding-bottom: 30px;
		border-radius: 10px;
		margin-left: 100px;
		border: none;
		margin-right: 0;
	}
	.contact-container form {
		height: auto;
	}
	.contact-container form h2 {
		font-size: 1.5rem;
		margin-bottom: 60px;
		font-weight: 900;
		text-align: left;
	}
	.contact-container form label {
		font-size: 0.85rem;
		margin-top: 2px;
	}
	.contact-container form input {
		margin-bottom: 5px;
		font-size: 0.95rem;
		font-weight: 600;
	}
	.contact-container form textarea {
		min-height: 10px;
		font-size: 0.95rem;
	}
	.contact-container form button {
		padding: 12px 0;
		font-size: 0.75rem;
	}
	::-webkit-scrollbar {
		width: 0;
	}
}
@-webkit-keyframes blob {
	0% {
		border-radius: 25% 56% 65% 24%/58% 48% 53% 45%;
	}
	20% {
		border-radius: 58% 42% 52% 48%/59% 50% 50% 41%;
	}
	40% {
		border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
	}
	60% {
		border-radius: 46% 54% 38% 62%/49% 60% 40% 51%;
	}
	80% {
		border-radius: 36% 64% 63% 37%/63% 37% 54% 46%;
	}
	99% {
		border-radius: 26% 46% 24% 58%/53% 32% 51% 46%;
	}
	to {
		border-radius: 23% 57% 64% 26%/55% 48% 52% 45%;
	}
}
@keyframes blob {
	0% {
		border-radius: 25% 56% 65% 24%/58% 48% 53% 45%;
	}
	20% {
		border-radius: 58% 42% 52% 48%/59% 50% 50% 41%;
	}
	40% {
		border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
	}
	60% {
		border-radius: 46% 54% 38% 62%/49% 60% 40% 51%;
	}
	80% {
		border-radius: 36% 64% 63% 37%/63% 37% 54% 46%;
	}
	99% {
		border-radius: 26% 46% 24% 58%/53% 32% 51% 46%;
	}
	to {
		border-radius: 23% 57% 64% 26%/55% 48% 52% 45%;
	}
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
		transform: scale(0.97);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: scale(0.97);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
@-webkit-keyframes fadeInRight {
	0% {
		opacity: 0;
		transform: translate(-5%);
	}
	to {
		opacity: 1;
		transform: translate(0);
	}
}
@keyframes fadeInRight {
	0% {
		opacity: 0;
		transform: translate(-5%);
	}
	to {
		opacity: 1;
		transform: translate(0);
	}
}
@-webkit-keyframes fadeInEnlarge {
	0% {
		opacity: 0;
		transform: translate(-20px);
		transform: scale(0);
	}
	to {
		opacity: 1;
		transform: translate(0);
		transform: scale(1);
	}
}
@keyframes fadeInEnlarge {
	0% {
		opacity: 0;
		transform: translate(20px);
		transform: scale(0.8);
	}
	to {
		opacity: 1;
		transform: translate(0);
		transform: scale(1);
	}
}
@-webkit-keyframes fadeInLeft {
	0% {
		opacity: 0;
		transform: translate(5%);
	}
	to {
		opacity: 1;
		transform: translate(0);
	}
}
@keyframes fadeInLeft {
	0% {
		opacity: 0;
		transform: translate(5%);
	}
	to {
		opacity: 1;
		transform: translate(0);
	}
}
@-webkit-keyframes fadeInBottom {
	0% {
		opacity: 0;
		transform: translateY(-5%);
	}
	to {
		opacity: 1;
		transform: translate(0);
	}
}
@keyframes fadeInBottom {
	0% {
		opacity: 0.6;
		transform: translateY(-5%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
