/***************Main***************/

main {
	display: flex;
	flex-direction: column;
	background-color: var(--blanc);
	overflow-x: hidden;
}

/***************Parallax***************/

#Accueil {
	height: 99vh;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: url(../Images/lyon.jpg) center fixed;
	background-size: cover;
	font-family: 'Lato', Helvetica, sans-serif;
	text-align: center;
	text-transform: uppercase;
	text-shadow: 3px -3px 11px hsla(0, 0%, 0%, 0.5);
}

/***************Texte du parallax***************/

#Accueil h1 {
	color: var(--blanc);
	margin: 0;
	font-size: 4em;
	letter-spacing: 8px;
}

.rolling-txt {
	display: block;
	height: 20%;
	min-height: 50px;
	width: 100%;
	overflow: hidden;
}

.rolling-txt span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 50px;
	width: 100%;
	font-size: 3.5em;
	letter-spacing: 2px;
	color: var(--rouge);
	animation: rolling-txt 7s .8s infinite ease-in-out;
}

@keyframes rolling-txt {
	0% {
		transform: translateY(0);
	}
	
	16.7% {
		transform: translateY(-100%);
	}

	33.4% {
		transform: translateY(-100%);
	}

	50% {
		transform: translateY(-200%);
	}

	66.7% {
		transform: translateY(-200%);
	}

	83.4% {
		transform: translateY(-300%);
	}

	100% {
		transform: translateY(-300%);
	}
}

/***************L'indication de scroll***************/

.scroll-indication {
	height: 5em;
	width: 3em;
	position: absolute;
	bottom: 2%;
	display: flex;
	justify-content: center;
	opacity: 0;
	transition: all 0.3s ease;
	cursor: default;
}

.scroll-indication.active{
	opacity: 1;
	cursor: pointer;
}

.scroll-indication.active:hover::before{
	border-color : var(--rouge);
}

.scroll-indication::before {
	content: '';
	position: absolute;
	width: 2em;
	height: 2em;
	border-right: 1.5px solid hsl(0, 0%, 60%);
	border-bottom: 1.5px solid hsl(0, 0%, 60%);
	animation: scroll 1.7s infinite;
}

/***************Animation de l'indication de scroll***************/

@keyframes scroll {
	from {
		transform: rotate(45deg) translate(0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	to {
		transform: rotate(45deg) translate(20px, 20px);
		opacity: 0;
	}
}

/***************La barre de séparation qui stick au header***************/

#Accueil + hr {
	height: 1vh;
	width: 100%;
	margin: 0;
	background-color: var(--rouge);
	border: 0;
}

/***************Chaque section regroupe une partie image et une texte***************/

#Accueil ~ section {
	position: relative;
	padding: 15vh 9em;
	display: flex;
	justify-content: space-evenly;
	gap: 5%;
	background-color: var(--blanc);
}

section ~ section h2 {
	height: 100%;
	margin: 0;
	position: absolute;
	left: 0.25em;
	top: 0;
	color: hsl(0, 5%, 78%);
	font-family: 'Lato', Helvetica, sans-serif;
	font-size: 5em;
	text-transform: uppercase;
	text-align: center;
	writing-mode: vertical-rl;
	text-orientation: upright;
	user-select: none;
	overflow: hidden;
}

#IUT h2 {
	color: hsla(0, 7%, 83%, 0.2);
	left: initial;
	right: 0.25em;
}

/***************La section du milieu a des couleurs inversées***************/

main #IUT {
	color: var(--blanc);
	background-color: hsl(228, 5%, 18%);
}

/***************Chaque partie à l'intérieur d'une section***************/

.image,
.article {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	box-sizing: border-box;
}

/***************Personnalisation de la partie texte de l'article***************/

.article {
	margin-top: 5%;
	flex: 1 1 45%;
	justify-content: flex-start;
	gap: 15%;
}

.article .titre {
	margin: 0;
	font-size: 1.1em;
	font-weight: normal;
}

.article .texte {
	margin: 0;
	font-size: 1.3em;
	font-weight: bold;
	text-align: justify;
}

.article .lien {
	padding: 5px;
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--noir);
	
	width: 250px;
	justify-content: space-around;

	height: 40px;
	border-radius: 20px;
	cursor: pointer;
	font-weight: 900;
	box-shadow: 6px 6px 6px hsla(0, 0%, 0%, 20%);
	transition: all .25s ease;
}

.article .lien:hover {
	box-shadow: none;
}

.article .lien .arrow {
	height: 15px;
	width: 15px;
	padding-left: 5px;
}

/***************Personnalisation de la partie image de l'article***************/

.image {
	flex: 1 1 55%;
	justify-content: space-between;
}

.image .img-article {
	height: 80%;
	width: 100%;
	border-radius: 20px;
}

.image .desc-photo {
	margin: 0;
	padding-top: 8%;
	font-size: 1.1em;
	font-weight: normal;
	text-align: justify;
	text-indent: 30px;
}

.image img {
	box-shadow: hsla(240, 30%, 28%, 0.25) 0px 30px 60px -12px,
		hsla(0, 0%, 0%, 0.3) 0px 18px 36px -18px;
}

/***************La section du milieu***************/

#IUT .article .lien {
	color: inherit;
	border-color: var(--blanc);
}

/***************Animation des photos***************/

.slide {
	opacity: 0;
	transition: transform 2s .4s cubic-bezier(0, 1, .3, 1), opacity 3s .4s;
}

.slide.left {
	transform: translateX(-100%);
}

.slide.right {
	transform: translateX(100%);
}

.slide.is-visible {
	opacity: 1;
	transform: translateX(0);
}

/***************Media queries***************/

@media (max-width: 580px)
{
	#Accueil h1 {
		color: var(--rouge);
		font-size: 3em;
	}


	.rolling-txt {
		display: none;
	}

	#Accueil ~ section {
		padding: 10vh 5vw;
	}

	#BUT h2,
	#Info h2 {
		order: 1;
	}

	section ~ section h2 {
		position: static;
		height: unset;
		margin-bottom: 5vh;
		writing-mode: unset;
	}

	.article {
		align-items: center;
	}
}

@media (orientation: portrait)
{
	#BUT,
	#Info {
		flex-direction: column-reverse;
	}

	#IUT {
		flex-direction: column;
	}

	.article {
		margin: 0;
	}

	.article .texte {
		margin: 2em 0;
	}

	.article .lien {
		margin-bottom: 12%;
	}

	.image .desc-photo {
		padding-top: 12%;
	}
}