.hero {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	padding: 0 168px;
	padding-top: 68px !important;
	gap: 25vh;
}

.title-hero {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.title-hero .bloc {
	display: flex;
	align-items: center;
}

.hero h1 {
	color: var(--black);
}

.metier {
	display: inline-flex;
	position: absolute;
	height: 250px;
	padding: 0px 25px;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 15px;
	border-radius: 100px;
	border: 1px solid var(--black);
	top: 450px;
	right: 200px;
}

.metier h2 {
	color: var(--primary-color);
	font-size: 3rem;
	font-weight: 600;
	transition: color 1s ease-in-out;
}

.metier h3 {
	color: var(--black);
}

.metier svg {
	position: absolute;
	left: -225px;
}

.metier svg > path {
	fill: var(--primary-color);
	transition: fill 1s ease-in-out;
}

.slogan {
	position: absolute;
	left: 15%;
	top: 450px;
}

.slogan h3 {
	color: var(--primary-color);
	font-size: 2rem;
	transition: color 1s ease-in-out;
}

.slogan h3 span {
	font-weight: 900;
}

.title-card-cv p {
	font-size: 2rem;
	font-style: normal;
	font-weight: 500;
}

.star-title {
	display: flex;
	gap: 15px;
}

.star-title h2 {
	font-size: 3rem;
	font-weight: 600;
}

.elowise {
	display: flex;
	justify-content: center;
	height: 30vh;
	align-items: center;
}

.elowise svg {
	height: auto;
	width: 100%;
	opacity: 30%;
}

.stars {
	position: absolute;
	animation: glow 2000ms linear infinite 1000ms;
}
@keyframes glow {
	40% {
		filter: drop-shadow(0 0 1rem var(--color-200));
	}
}

#first-star {
	left: 20%;
	top: 250px;
}

#second-star {
	left: 30%;
	top: 450px;
}

#third-star {
	right: 30%;
	top: 350px;
}

#fourth-star {
	right: 15%;
	top: 150px;
}

@media screen and (max-width: 1440px) and (min-width: 769px) {
	.hero {
		padding: 0 100px;
	}

	.metier {
		right: 100px;
	}

	.card-cv {
		left: 100px;
	}
}

@media screen and (max-width: 1024px) {
	.title-hero {
		width: 100%;
	}

	.hero h1 {
		text-align: center;
	}
	.section-presentation {
		display: flex;
		flex-direction: column;
	}
}

@media screen and (max-width: 768px) {
	.hero {
		padding: 0 20px;
		padding-top: 125px !important;
	}

	.card-cv {
		position: initial;
	}

	.slogan {
		right: 0;
		top: 378px;
		left: auto;
		width: 135px;
	}

	.slogan h3 {
		color: var(--primary-color);
		font-size: 1.5rem;
	}

	#first-star {
		left: 15%;
		top: 340px;
	}
}

.grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 250px 261px repeat(3, 200px);
	grid-column-gap: 16px;
	grid-row-gap: 16px;
	padding-top: 350px;
}

.grid .card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	border-radius: 16px;
	padding: 16px;
}

.card .infos {
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	overflow: hidden;
}

.card.nom-site {
	grid-area: 1 / 1 / 2 / 4;
	background-color: var(--color-200);
	position: relative;
	justify-content: center;
}

.card.nom-site .image-container {
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	bottom: -3px;
	padding-left: 25px;
	padding-right: 25px;
	height: auto;
	width: 100%;
	max-width: 350px;
	animation: glow2 3000ms linear infinite 3000ms;
	z-index: 2;
}

@keyframes glow2 {
	40% {
		filter: drop-shadow(0 0 1rem var(--primary-color));
	}
}

.card.cv {
	grid-area: 5 / 1 / 6 / 2;
	background-color: var(--primary-color);
	justify-content: space-between;
	background: linear-gradient(
			0deg,
			rgba(241, 241, 244, 0.2) 0%,
			rgba(241, 241, 244, 0) 100%
		),
		url(../medias/photos/photo-cv.png);
	background-size: cover;
	background-position: center;
	border: 3px solid var(--color-700);
}
.card.me {
	grid-area: 2 / 2 / 3 / 4;
	background-color: var(--color-100);
	justify-content: space-between;
}
.card.project {
	grid-area: 3 / 1 / 5 / 2;
	background-color: var(--color-100);
}

.card.project .infos {
	position: relative;
}

.card.project .projet {
	flex-direction: column;
	gap: 8px;
	height: 100%;
}

.projet .title > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.card.project .infos .projet {
	display: none;
	opacity: 0;
	transition: opacity 0.5s ease;
	position: absolute;
	top: 0;
	width: 100%;
}

.card.project .infos .projet.active {
	display: flex;
	opacity: 1;
	position: relative;
}

.card.project .title {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.card.project .services {
	display: flex;
	gap: 8px;
}

.projet .image {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	overflow: hidden;
	height: 100%;
}

.projet:hover .fit-image {
	transform: scale(1.1);
}

.card.project .scroll {
	display: flex;
	gap: 8px;
}

.card.project .scroll .line {
	height: 8px;
	border-radius: 4px;
	width: 100%;
	background-color: var(--color-50);
}

.card.project .scroll .line.active {
	background-color: var(--primary-color);
}

.card.project .scroll .line {
	overflow: hidden;
	position: relative;
}

.card.project .scroll .line .filler {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0%;
	background-color: var(--primary-color);
}

.card.contact {
	grid-area: 2 / 1 / 3 / 2;
	background-color: var(--primary-color);
}

.card.contact .line {
	display: flex;
	gap: 16px;
	height: 100%;
}

.card.contact .bloc {
	display: flex;
	flex-direction: column;
	background-color: var(--color-700);
	color: var(--white);
	border-radius: 8px;
	padding: 8px;
	gap: 8px;
}

.card.contact .bloc.sociaux {
	width: 35%;
}

.card.contact .bloc.sociaux div {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

.card.contact .bloc.formulaire {
	width: 75%;
}

.card.contact .text {
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
}

.card.competences {
	grid-area: 3 / 2 / 6 / 3;
	background-color: var(--color-200);
}

.card.competences .list {
	display: grid;
	height: 100%;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 16px;
}

.card.competences .competence {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px;
	background-color: var(--color-100);
	border-radius: 8px;
	width: 100%;
}

.card.competences h3,
.card.competences p {
	text-align: center;
}

#competence1 {
	grid-area: 1 / 1 / 2 / 3;
}
#competence2 {
	grid-area: 2 / 1 / 3 / 2;
}
#competence3 {
	grid-area: 2 / 2 / 3 / 3;
}
#competence4 {
	grid-area: 3 / 1 / 4 / 2;
}
#competence5 {
	grid-area: 3 / 2 / 4 / 3;
}

.card.spotify {
	grid-area: 3 / 3 / 4 / 4;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--black);
	padding: 0;
}

.card.insta {
	grid-area: 4 / 3 / 6 / 4;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 40px repeat(3, 1fr);
	grid-column-gap: 8px;
	grid-row-gap: 8px;
	border: 3px solid var(--primary-color);
}

.name-insta {
	grid-area: 1 / 1 / 2 / 3;
	display: flex;
	align-items: center;
	gap: 8px;
}
.button.abonnement {
	grid-area: 1 / 3 / 2 / 4;
	width: 100%;
	justify-content: space-between;
}
.icon-profil {
	height: 32px;
	width: 32px;
	border-radius: 32px;
	overflow: hidden;
}
.card.insta .post {
	border-radius: 8px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: background-color 0.3s ease;
	background-blend-mode: multiply;
	display: flex;
	align-items: center;
	justify-content: center;
}

.card.insta .post .button.icon {
	background-color: rgba(241, 241, 244, 0.7);
	display: none;
}

.card.insta .post:hover {
	background-color: rgba(34, 34, 43, 0.2);
}

.card.insta .post:hover .button.icon {
	display: block;
}

.post1 {
	grid-area: 2 / 1 / 3 / 2;
	background-image: url("../medias/insta/post1.png");
}
.post2 {
	grid-area: 2 / 2 / 3 / 3;
	background-image: url("../medias/insta/post2.png");
}
.post3 {
	grid-area: 2 / 3 / 3 / 4;
	background-image: url("../medias/insta/post3.png");
}
.post4 {
	grid-area: 3 / 1 / 4 / 2;
	background-image: url("../medias/insta/post4.png");
}
.post5 {
	grid-area: 3 / 2 / 4 / 3;
	background-image: url("../medias/insta/post5.png");
}
.post6 {
	grid-area: 3 / 3 / 4 / 4;
	background-image: url("../medias/insta/post6.png");
}
.post7 {
	grid-area: 4 / 1 / 5 / 2;
	background-image: url("../medias/insta/post7.png");
}
.post8 {
	grid-area: 4 / 2 / 5 / 3;
	background-image: url("../medias/insta/post8.png");
}
.post9 {
	grid-area: 4 / 3 / 5 / 4;
	background-image: url("../medias/insta/post9.png");
}

@media screen and (max-width: 1024px) {
	.grid {
		display: flex;
		flex-direction: column;
		padding-top: 350px;
	}

	.card.project {
		height: 500px;
	}

	.frame-custom {
		height: 64px;
	}

	.card.insta {
		grid-template-rows: 40px repeat(3, 100px);
	}

	.card.cv {
		height: 250px;
	}

	.card.competences .list {
		gap: 8px;
	}

	.elowise {
		height: 200px;
	}
}

@media screen and (max-width: 768px) {
	.frame-custom {
		height: 50px;
	}

	.elowise {
		height: 150px;
	}

	.card.nom-site .image-container {
		max-width: 300px;
	}
}
