@charset "utf-8";

@font-face {
	font-family: 'open-sans';
	src: url("contenus/fonts/open-sans/OpenSans-Regular.ttf") format('truetype');
}

@font-face {
	font-family: 'roboto';
	src: url("contenus/fonts/roboto/Roboto-Regular.ttf")  format('truetype');
}
	


		/* CSS Document */


* {
	font-family: 'open-sans';
	margin: 0;
	padding: 0;
	text-decoration: none;
	scroll-behavior: smooth;
	scroll-margin-top: 20vh;
}



		/* Général */

h1 {
	font-family: 'roboto';
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 2.6rem;
	margin-bottom: 15px;
	color: rgba(110,110,110,1);
}

h2 {
	font-family: 'roboto';
	color: #FEC806;
	font-size: 1.6rem;
	font-weight: 400;
}

h3 {
	font-family: 'roboto';
	font-weight: 600;
	font-size: 1.25rem;
	line-height: 1.4rem;
}

h4 {
	font-weight: 400;
	font-size: 0.95rem;
}

h5 {
	font-family: 'roboto';
	font-weight: 500;
	font-size: 0.9rem;
	text-transform: uppercase;
	margin-bottom: 8px;
}

h6 {
	font-family: 'roboto';
	font-weight: 500;
	font-size: 1rem;
	text-transform: uppercase;
	color: #FEC806;
	margin-bottom: 5px;
}


a {
	color: #051CFF;
	transition: color 300ms;
}

a:hover {
	color: rgba(110,110,110,1);
}

p {
	font-family: 'open-sans';
	font-size: 0.89rem;
	font-weight: 400;
	color: rgba(110,110,110,1);
	line-height: 1rem;
}

li {
	list-style-type: square;
}

button {
	outline: none;
	background-color: transparent;
	border: none;
	font-size: 0.89rem;
}

		/* En-tête */

header {
	min-height: 550px;
	background-image: url("contenus/undraw/undraw-worker.svg");
	background-size: 35%;
	background-position: right 18% bottom 2vh;
	background-repeat: no-repeat;
	margin-bottom: 90px;
	position: relative;
}

#bienvenue {
	width: 60%;
	max-width: 900px;
	height: 280px;
	margin-left: 17%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

#bienvenue h2 {
	letter-spacing: 0.07rem;
}

		/* Menu de navigation */

nav {
	width: 80%;
	max-width: 1100px;
	margin: 1.8rem auto 0;
	height: 2.5rem;
	border-radius: 20px;
	border : solid 1px rgba(140,140,140,0.4);
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	background-color: white;
	box-shadow: 3px 3px 6px 0px #DCE1E6;
	position: fixed;
	left: 10%;
	right: 10%;
	z-index: 9;
}

nav ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-right: 20px;
}

nav li {
	list-style-type: none;
	margin: 0px 7px;
	color: rgba(110,110,110,1);
	text-transform: uppercase;
	font-weight: 500;
	font-size: 0.9rem;
}


		/* Profil */

#profil-container {
	min-height: 650px;
	background: linear-gradient(to top, #E9EDF2, #F0F5FA 6%, #F0F5FA 94%, #E9EDF2);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 90px;
}

#profil {
	width: 75%;
	max-width: 1100px;
	margin: auto;
	display: grid;
	grid-template-columns: 20% 1fr;
	grid-column-gap: 30px;
	grid-row-gap: 30px;
	position: relative;
}

#contact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	padding-left: 15%;
	overflow: hidden;
}

#contact h2 {
	margin-bottom: 10px;
}

#contact li {
	font-family: 'roboto';
	font-size: 1rem;
	font-weight: 400;
	color: rgba(110,110,110,1);
	line-height: 1.3rem;
	max-width: 80%;
	margin: 0px 0px 0px 5px;
	list-style: none;
}

#contact img {
	width: 12px;
	margin: 1px 5px 0px 0px;
}


		/* Photo de profil */

.photo-profil {
	max-width: 100%;
	border-radius: 10px;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
}


		/* À propos */

#a-propos {
	height: auto;
	grid-column-start: 1;
	grid-column-end: span 2;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	padding: 50px;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	
}

#a-propos h2 {
	width: auto;
}

#a-propos .presentation {
	column-count: 2;
	position: relative;
	width: 70%;
}

#a-propos .presentation:nth-child(1n)::first-letter {
	font-size: 2rem;
}

#a-propos p {
	font-style: italic;
}

#a-propos .guillemet1 {
	font-size: 10rem;
	color: rgba(153,153,153,20%);
	position: absolute;
	top: 20px;
	left: -80px;
}

#a-propos .guillemet2 {
	font-size: 10rem;
	color: rgba(153,153,153,20%);
	position: absolute;
	right: -30px;
}



		/* Expériences */


#experiences {
	width: 75%;
	max-width: 1100px;
	margin: 0px auto 120px;
}

#titre-experiences-container h2 {
	margin-bottom: 40px;
	text-align: center;
}

#experiences .mission-item {
	min-height: 360px;
	margin-bottom: 80px;
}

#experiences .mission-item:nth-child(2) {
	background-image: url("contenus/undraw/undraw-building.svg");
	background-size: 40%;
	background-repeat: no-repeat;
	background-position: bottom 18% left 6%;
}

#experiences .mission-item:nth-child(3) {
	background-image: url("contenus/undraw/undraw-amusement-park.svg");
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: bottom 0% right 5%;
}

#experiences .mission-item:nth-child(3) .mission-item-details {
	display: flex;
	flex-direction: row;
	flex-direction: row-reverse;
}

#experiences .mission-item:nth-child(4) {
	background-image: url("contenus/undraw/undraw-photograph.svg");
	background-size: 48%;
	background-repeat: no-repeat;
	background-position: bottom 0% left 0%;
}


.mission-item-details {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}

.mission-item-presentation {
	width: 40%;
}

.mission-item-description {
	width: 50%;
	padding-top: 35px;
}

.mission-item h4 {
	font-style: italic;
	color: #051CFF;
}

.mission-item h5 {
	text-transform: none;
}

.mission-item-description h6:nth-child(3) {
	margin-top: 20px;
}

#experiences ul {
}

#experiences li {
	font-family: 'roboto';
	font-size: 1rem;
	font-weight: 400;
	color: rgba(110,110,110,1);
	line-height: 1.3rem;
	margin-left: 20px;
}

#experiences .button-portfolio {
	width: 90%;
	margin: 30px auto 0px;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
}

#experiences button {
	border: solid 1px rgba(5,28,255,0.2);
	padding: 3px 10px;
	margin: 0 8px;
	border-radius: 15px;
	transition: border 500ms;
}


#experiences .mission-item:nth-child(3) .mission-item-details button {
	position: relative;
	right: 15px;
}

#experiences button:hover {
	border: solid 1px rgba(110,110,110,1);
}



		/* Formations */

#formations-container {
	height: 550px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	background: linear-gradient(to top, #E9EDF2, #F0F5FA 6%, #F0F5FA 94%, #E9EDF2);
	margin-bottom: 90px;
}

#formations {
	width: 85%;
	max-width: 1100px;
	margin: auto;
	position: relative;
	top: -60px;
}

.timeline-container {
	max-width: 98%;
	margin: auto;
}

.timeline-container::before {
	content:"";
	position: absolute;
	height: 3px;
	width: 100%;
	background-color: #FEC806;
	margin-top: 30px;
}

.timeline {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	max-height: 30vh;
	position: relative;
}

.timeline-item {
	max-width: 25%;
	position: relative;
}

.timeline-item::before {
	content:"";
	height: 15px;
	width: 15px;
	border-radius: 50%;
	background-color: #FEC806;
	position: absolute;
	top: 24px;
	left: 60px;
}

.timeline-item-details {
	position: relative;
	left: 23px;
}


.timeline-details-description {
	/* height: 220px; */
	min-height: 180px;
	position: relative;
	top: 28px;
	left: 45px;
	margin-right: 30px;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 0% 6% 6% 6%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: left;
	padding: 12px 15px;
	z-index: 1;
	transform: scale(1);
	transition: transform 300ms;
}

.timeline-details-description::after {
	content:"";
	box-shadow: inset 0rem 1rem 1rem #DCE1E6;
	border-radius: 0% 6% 6% 6%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	opacity: 0;
	z-index: -1;
	transition: opacity 500ms;
}

.timeline-details-description:hover::after {
	opacity: 0.3;
}

.timeline-details-description:hover {
	transform: perspective(500px) rotateX(7deg) rotateY(7deg);
}

.timeline-details-description div {
	
}

.timeline-details-description .plus {
	position: absolute;
	align-self: center;
	bottom: 10px;
	display: flex;
	flex-direction: column;
}

.timeline-details-description button {
	font-family: 'open-sans';
	font-size: 0.90rem;
	font-weight: 400;
	color: #051CFF;
}

.timeline-details-description .plus img {
	width: 13px;
	margin: auto;
	transform: rotate(90deg);
}

.timeline-details-description .arrow-top {
	position: relative;
	top: 4px;
}

.timeline-details-description .arrow-bottom {
	position: relative;
	bottom: 4px;
}

#formations h2 {
	margin-bottom: 20px;
}

#formations h3 {
	width: 87%;
	margin: 2px 0px;
}

#formations h4 {
}

#formations h5 {

}

#formations p {

}
	

		/* Compétences */

#competences {
	width: 70%;
	max-width: 1100px;
	margin: 0px auto 90px;
	text-align: center;
}

#competences h2 {
	margin: 80px auto 70px;
}

#competences #grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 10%;
	grid-row-gap: 3rem;
	text-align: center;
}

#competences h3 {
	margin-bottom: 10px;
}

#competences p {
	min-height: 3rem;
}

#competences button {
	margin-top: 15px;
	border: solid 1px rgba(5,28,255,0.2);
	padding: 3px 10px;
	border-radius: 15px;
	transition: border 500ms;
}

#competences button:hover {
	border: solid 1px rgba(110,110,110,1);
}



		/* Références */

#references {
	width: 80%;
	margin: 0px auto 100px;
}

#references h2 {
}


#references-item-container {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	padding: 0 20px;
}

#references .references-item {
	padding: 2.5rem;
	display: flex;
	flex-direction: column;
}

#references .container-quote {
	min-height: 100px;
}

#references .quote-references {
	font-style: italic;
	position: relative;
}

#references h5 {
	margin-top: 15px;
}

#references .guillemet1 {
	font-size: 4rem;
	color: rgba(153,153,153,20%);
	position: absolute;
	left: -40px;
	top: 10px;
}

#references .guillemet2 {
	font-size: 4rem;
	color: rgba(153,153,153,20%);
	position: absolute;
	right: -10px;
	bottom: -10px;
}

#references h5 {
	text-align: end;
}

#references button {
	margin: 15px auto 0px;
	border: solid 1px rgba(5,28,255,0.2);
	padding: 3px 10px;
	border-radius: 15px;
	transition: border 500ms;
}

#references button:hover {
	border: solid 1px rgba(110,110,110,1);
}



		/* Portfolio professionnel */

#portfolio-container {
	background: linear-gradient(to top, #E9EDF2, #F0F5FA 6%, #F0F5FA 94%, #E9EDF2);
	margin: 0px auto 0px;
}

#portfolio {
	width: 85%;
	max-width: 1100px;
	margin: auto;
	padding: 100px 0;
}

#grid-portfolio-container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-column-gap: 30px;
	grid-row-gap: 30px;
}



			/* Général */

#portfolio section {
	padding: 50px;
}

#portfolio h2 {
	min-height: 50px;
	width: 100%;
	margin: auto;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	grid-column: 1 / span 4;
}


#portfolio h5 {
	margin-top: 1rem;
}

#portfolio li {
	font-size: 0.89rem;
	font-weight: 400;
	line-height: 1.2rem;
	color: #051CFF;
	margin-left: 30px;
}




			/* Productions rédactionnelles */

#ecrits-titre {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 30%;
	text-align: center;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	grid-column: 1 / 1;
}

#ecrits-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	grid-column: 2 / span 3;
}

.genre-ecrits {
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.genre-ecrits li {
	width: 90%;
}

#genre-ecrits h5 {
}

#graphisme {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	grid-column: 1 / span 3;
}

#graphisme h3 {
	text-align: center;
	width: 35%;
}
	
#audiovisuel {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	grid-column: 2 / span 3;
	grid-row: 4 / 4;
}

#audiovisuel h3 {
	text-align: center;
	width: 35%;
	padding-right: 15px;
}

#webdesign-titre {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 30%;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	grid-column: 1 / 1;
	grid-row: 5 / 5;
}

#webdesign {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	grid-column: 2 / span 2;
	grid-row: 5 / 5;
}

#webdesign p {
	text-align: center;
	margin: 1rem auto 0;
}

#photographies {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: white;
	border : solid 2px #F0F5FA;
	box-shadow: 6px 6px 15px 0px #DCE1E6;
	border-radius: 10px;
	grid-column: 4 / 4;
	grid-row: 5 / 5;
}

#photographies h3 {
	padding: 20px 0;
}

#photographies button {
	margin: 0 auto 0;
	border: solid 1px rgba(5,28,255,0.2);
	padding: 3px 10px;
	border-radius: 15px;
	transition: border 500ms;
}

#photographies button:hover {
	border: solid 1px rgba(110,110,110,1);
}


		/* Pied de page */

footer {
	min-height: 600px;
	background-image: url("contenus/undraw/undraw-walk.svg");
	background-size: 35%;
	background-position: right 10% bottom 5.5vh;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}


#conlusion-container {
	width: 60%;
	max-width: 900px;
	height: 280px;
	margin: 10% 0 0 17%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

footer ul {
	margin: 30px 0px 0px 0px;
}

footer li {
	font-family: 'roboto';
	font-size: 1rem;
	font-weight: 400;
	color: rgba(110,110,110,1);
	line-height: 1.3rem;
	max-width: 80%;
	margin: 0px 0px 0px 5px;
	list-style: none;
}

footer img {
	width: 12px;
	margin: 1px 5px 0px 0px;
}

		/* Copyright */

#copyright-container {
	background-color: black;
	height: 7vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#copyright-container p {
	text-align: center;
	color: white;
}












