@import url("https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");

* {
	margin: 0;
	padding: 0;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

:root {
	--color--01: hsl(0, 0%, 8%);
	--color--02: hsl(0, 25%, 22%);
	--color--03: hsl(153, 71%, 59%);
	--color--04: hsl(0, 0%, 100%);
	--color--05: hsl(0, 0%, 70%);
	--color--06: hsl(7, 100%, 68%);
	--primaryColor: #ff5277;
	--primaryColorOffset: #ff2957;
	--textColor: #ffffff;
	--textColorOffset: #f4f4f4;

	--ff-primary: "Open Sans", system-ui;
	--ff-accent: "Cormorant", system-ui;
}

body {
	background-color: #0e141b;
	font-family: var(--ff-primary);
	/* color: #f4f4f4; */
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.1;
}

p {
	line-height: 1.6;
}

a {
	text-decoration: none;
}

img {
	width: 100%;
	display: block;
}

.wrapper {
	width: min(90%, 80rem);
	margin-inline: auto;
}

.desc {
	display: flex;
	justify-content: center;
	gap: 1em;
	padding: 1em;
}

.desc a img {
	max-width: 35px;
}

#hero {
	padding: 0 1em;
	min-height: 100vh;
	display: flex;
	align-items: center;
}

.hero-wrap {
	display: flex;
	flex-direction: column-reverse;
	gap: 2rem;
}

.web-span {
	color: var(--primaryColorOffset);
}

.desc1 span {
	color: var(--textColorOffset);
	display: inline-block;
	font-size: 1.5rem;
}

.hero__head {
	font-family: var(--ff-accent);
	font-size: 3rem;
	color: var(--textColor);
}

.hero__desc {
	font-size: 1.1rem;
	color: var(--textColorOffset);
	padding-bottom: 1.8rem;
}

.cta {
	background-color: var(--primaryColorOffset);
	margin: 2em 0;
	color: var(--textColor);
	padding: 0.7em 1.5em;
	transition: 0.2s ease-in;
}

.cta:hover {
	background-color: var(--primaryColor);
}

.anoth {
	display: flex;
	justify-content: center;
}

/* AbOUT ME */

.about {
	padding: 2rem 0;
}

.about__head {
	font-size: 2rem;
	text-align: center;
	padding: 1em 0;
	color: var(--textColor);
	font-family: var(--ff-accent);
}

.aboutss {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 2rem 0;
}

.about__desc {
	line-height: 2;
	color: var(--textColorOffset);
}

.desc2 img {
	/* max-width: 300px; */
	/* border-radius: 50%; */
	/* aspect-ratio: 1/1; */
	object-fit: cover;
	/* max-width: 400px; */
	object-position: right;

	border-radius: 25% 0 30px 10px;
}

.scroller {
	max-width: 1440px;
}

.skills {
	padding: 3rem 0 2rem 0;
	display: flex;
	justify-content: center;
}

.scroller__inner {
	display: flex;
	justify-content: center;

	gap: 1rem;
	flex-wrap: wrap;
}

.skill {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	white-space: nowrap;
	background-color: #16202e;
	color: var(--textColorOffset);
	padding: 0.75rem 1.5rem;
	border-radius: 5px;
}

.skill img {
	max-width: 25px;
}

.scroller[data-animated="true"] {
	overflow: hidden;
	-webkit-mask: linear-gradient(
		90deg,
		transparent,
		white 20%,
		white 80%,
		transparent
	);
	mask: linear-gradient(
		90deg,
		transparent,
		white 20%,
		white 80%,
		transparent
	);
}

.scroller[data-animated="true"] .scroller__inner {
	width: max-content;
	flex-wrap: nowrap;
	animation: scroll var(--_animation-duration, 40s)
		var(--_animation-direction, forwards) linear infinite;
}

.scroller[data-direction="right"] {
	--_animation-direction: reverse;
}

@keyframes scroll {
	to {
		transform: translate(calc(-50% - 0.5rem));
	}
}

/* PROJECTS */

.projects__head {
	font-size: 2rem;

	text-align: center;
	font-family: var(--ff-accent);
}

.projects__wrapper,
.challenges__wrapper {
	padding: 1em;
}

.projects__head,
.fem-challenges {
	padding: 1em 0;
	color: var(--textColorOffset);
}

.projects__container {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2em;
}

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

.project__item {
	background-color: #16202e;
	display: flex;
	flex-direction: column;
}

.challenge__item {
	background-color: #16202e;
}

.project__item img,
.challenge__item img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	max-width: 100%;
}

.project__item:last-child img {
	object-position: top;
}

.project__item-head,
.item__info h3 {
	color: var(--textColorOffset);
	font-size: 1.3rem;
}

.project__item-desc {
	color: var(--textColorOffset);
}

.item__info {
	padding: 1.5rem;
	display: grid;
	gap: 1rem;
}

.project__tags {
	display: flex;
	gap: 1em;
}

.project__tags span {
	color: var(--color--05);
}

.project__links {
	display: flex;
	justify-content: space-between;
}

.item__link-box {
	display: flex;
}

.item__link {
	color: var(--color--06);
	padding: 0.5em;
	border: 1px solid var(--color--06);
}

.item__link:hover {
	color: white;
	background-color: var(--color--06);
}

.checkout {
	text-align: center;
	color: var(--textColor);
	padding: 2rem 0;
}

.checkout a {
	color: white;
	text-decoration: underline;
}

.checkout a:hover {
	color: var(--primaryColorOffset);
}

/* CONTACT */

.contact__wrapper {
	margin: 0 1.5em;
}

.span-div {
	display: flex;
	justify-content: center;
}

.contact__text span {
	font-size: 1.5rem;
	text-align: center;
	color: var(--textColorOffset);
	text-decoration: underline;
}

.contact__heading {
	font-family: "Playfair Display";
	color: var(--textColor);
	font-size: 2.5rem;
	text-align: center;
	padding: 1rem 0;
}

.contact__description {
	color: var(--textColorOffset);
	text-align: center;
}

.cta-box {
	display: flex;
	justify-content: center;
	padding: 3em 0;
}

.cta__last {
	margin: 2em 0;
}

.the__links {
	display: flex;
	justify-content: center;
	gap: 1em;
}

.the__links img {
	max-width: 1.5rem;
}

.footer__text {
	color: var(--textColor);
	text-align: center;
	padding: 1.5rem 0;
}

.namaewa {
	color: var(--textColor);
	text-decoration: underline;
}

.namaewa:hover {
	color: var(--primaryColorOffset);
}

.ig-icon g {
	color: green;
	stroke: green;
}

/* 600px */
@media (min-width: 1024px) {
	nav {
		flex-direction: row;
		gap: 5em;
	}

	.hero-wrap {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
		align-items: center;
	}

	.projects__wrapper {
		width: min(90%, 80rem);
		margin-inline: auto;
	}

	.project__item {
		display: flex;
		flex-direction: row;
		align-items: center;
		/* display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center; */
	}

	.project__item img,
	.challenge__item img {
		max-width: 600px;
	}

	/* About Me */

	.aboutss {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	/* CONTACT */

	#contact {
		width: min(90%, 80rem);
		margin-inline: auto;
	}
}
