*
{
	text-decoration: none;
	list-style: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    outline: 0; /*contour sur les liens à enlever*/
    border: 0;
}

/* Loader */
@keyframes rotation {
    from {transform:translate(-50%,-50%) rotate(0deg)}
    to {transform:translate(-50%,-50%) rotate(360deg)}
}

main {
    position: relative;
}

.lock {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 2;
}

.loader::before {
    text-align: center;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    text-shadow: 2px 2px 5px white, 2px -2px 5px white, -2px -2px 5px white, -2px 2px 5px white;
    animation: rotation 1s infinite linear;
    content: '\27F3';
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform-origin: 46% 46%;
    transform: translate(-50%, -50%);
    color: #EB6C11;
    z-index: 3;
    font-size: 40px;
}

body
{
	color: white;
	background-color: black;
}

#body 
{
	min-height: 100vh;
}

.logo-haut
{
	width: auto;
	/*height: 7.3vh;
	padding-top: 0.4vh;*/
	height: 3.7vw;
	padding-top: 0.2vw;
	transition: all 500ms;
} 

#cercle-noir:hover .logo-haut
{
	width: auto;
	height: 100%;
	margin: 0.5vw;
	transition: all 500ms;
}

#cercle-noir
{
	background-color: rgb(26, 26, 26);
	margin-left: 1.6vw;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.7vw;
	width: 3.7vw;
	transition: all 500ms;
}

#cercle-noir:hover
{
	height: 6vw;
	width: 6vw;
	padding: 0.5vw;
	transition: all 500ms;
}

#header
{
	background-color: rgb(26, 26, 26);
	/*height: 8.4vh;*/
	height: 4.05vw;
	display: flex;
	justify-content: space-between;
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 2;
}

a
{
	color: white;
	font-family: 'Asap', Arial;
}

header a 
{
	height: 100%;
	display: flex;
	align-items: center;
	width: 100%;
}

.bouton-nav
{
	padding-left: 1.1vw;
	padding-right: 1.1vw;
}

nav ul 
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.2vw;
	padding-right: 1.6vw;
	height: 100%;
}

nav
{
	display: flex;
	align-items: center;
}

nav ul li 
{
	height: 100%;
	transition: all 600ms;
}

nav ul li:hover 
{
	background-color: rgba(255, 255, 255, 0.15);
	transition: all 500ms;
}

nav ul li a
{
	transform: translateY(0);
	transition: transform 300ms ease-in 100ms;
}

nav ul li a:hover
{
	/*margin-bottom: 0.3vw;*/
	transform: translateY(-0.15vw);
	transition: transform 150ms ease-in 50ms;
}

#page-actuelle
{
	font-weight: 900;
}

/*#icone-home
{
	width: 1.4vw;
}

#lien-home
{
	background-color: white;
	border-radius: 100%;
	height: 2.6vw;
	width: 2.6vw;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.55vw;
	margin-right: 0.55vw;
}

#parent-home
{
	display: flex;
	align-items: center;
	justify-content: center;
}*/

#menu-burger
{
	display: none;
}

#main 
{
	margin-top: 4.05vw;
	background-color: rgb(99, 69, 148);
	min-height: 100vh;
}

#main-haut
{
	display: flex;
	flex-direction: column;
	align-items: center;
}

#main-haut h1
{
	font-family: 'Asap', Arial;
	font-size: 5vw;
	font-weight: normal;
	padding-top: 0.4vw;
	padding-bottom: 0.4vw;
}

#formulaire
{
	background-color: rgb(43, 23, 77);
	width: 92.7vw;
	height: 30vw;
	font-family: 'Asap', Arial;
	border-radius: 3.5vw 3.5vw 0 0;
}

#padd-formulaire
{
	padding-bottom: 1vw;
	padding-top: 2vw;
	padding-left: 3vw;
	padding-right: 3vw;
}

#phrase-a 
{
	font-size: 1.5vw;
	padding-left: 0.4vw;
}

#phrase-b
{
	font-size: 0.95vw;
	font-style: italic;
	padding-left: 0.4vw;
}

#form-gen
{
	display: flex;
	justify-content: space-between;
	height: 100%;
}

#form-gauche
{
	height: 100%;
	width: 50%;
	padding-top: 2.2vw;
	padding-right: 2.2vw;
}

#form-droite
{
	width: 50%;
	padding-top: 2.2vw;
	display: flex;
	flex-direction: column;
	padding-left: 2vw;
}

#barriere
{
	background-color: white;
	display: block;
	width: 0.4vw;
	border-radius: 1vw;
	border: 1px white solid;
	margin-top: 2.2vw;
}

.champ
{
	display: flex;
	flex-direction: column;
	width: 100%;
}

.barre 
{
	border-radius: 0.4vw;
	height: 3.4vw;
}

#barrearea
{
	border-radius: 0.4vw;
	height: 100%;
	padding-left: 1.3vw;
	padding-right: 1.3vw;
	font-size: 1.2vw;
	font-family: 'Asap', Arial;
	width: 100%;
	padding-top: 1vw;
	padding-bottom: 1vw;
	resize: none;
}

#nom-et-prenom
{
	display: flex;
	width: 100%;
}

#nom-et-prenom input
{
	width: 100%;
}

.nom 
{
	padding-right: 0.4vw;
}

.prenom 
{
	padding-left: 0.4vw;
}

.prenom label
{
	text-align: right;
}

.correct + span::after
{
    background-image:url(images/check.svg);
    content: "";
    background-size: 1.3vw 1.3vw;
    width: 1.3vw;
    height: 1.3vw;
    position: absolute;
    right: 0.5vw;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgb(51,102,255);
    background-repeat: no-repeat;
    background-position: center;
    padding: 0.3vw;
    border-radius: 100%;
}

.valide--textarea .correct + span::after
{
    top: 1.3vw;
    transform: translateY(-50%);
}

.valide
{
    width: 100%;
    position: relative;
}

.valide--textarea
{
    height: 100%;
}

label
{
    padding-top: 0.3vw;
    padding-bottom: 0.3vw;
    font-style: italic;
    font-size: 1vw;
}

input 
{
    padding-left: 1.3vw;
    padding-right: 1.7vw;
    font-size: 1.2vw;
    font-family: 'Asap', Arial;
    width: 100%;
}

form 
{
    position: relative;
}

.bouton 
{
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0px);
    bottom: -7.7vw;
    transition: transform 150ms ease-in 50ms;
    cursor: pointer;

}
.span-answer
{
    position: absolute;
    left: 50%;
    background: rgba(0,0,0,0.5);
    padding-left: 2.3vw;
    padding-right: 2.3vw;
    padding-top: 1.8vw;
    padding-bottom: 1.8vw;
    border-radius: 0.625vw;
    transform: translate(-50%, 0px); 
    opacity: 1; 
    bottom: -7.7vw;
    transition: all 2s ease-in-out;
}

.span-answer.gone {
    transform: translate(-50%, -300%);
    opacity: 0;
}

.cta-button     
{
    display: inline-block;
    background-color: rgb(228, 93, 91);
    padding-left: 2.3vw;
    padding-right: 2.3vw;
    padding-top: 1.8vw;
    padding-bottom: 1.8vw;
    border-radius: 0.625vw;
    font-weight: bold;
    color: white;
    font-size: 1.1vw;
}    

.bouton:hover
{
    transform: translate(-50%, -5px);
    transition: transform 150ms ease-in 50ms;

}

.incorrect
{
    color: rgb(228, 35, 32);
}

#main-bas
{
	padding-top: 7.7vw;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#coordonnees
{
	background-color: rgb(43, 23, 77);
	width: 92.7vw;
	border-radius: 3.5vw 3.5vw 0 0;
}

#padd-coord
{
	padding-bottom: 1vw;
	padding-top: 2vw;
	padding-left: 3vw;
	padding-right: 3vw;
	display: flex;
	justify-content: space-between;
}

#main-bas h1
{
	font-family: 'Asap', Arial;
	font-size: 2.3vw;
	font-weight: normal;
	padding-bottom: 0.5vw;
}

#carte
{
	width: 48vw;
	padding-bottom: 1vw;
	border-radius: 0 3.5vw 0 0;
	max-height: 30vw;
}

#barriere-b
{
	background-color: white;
	display: block;
	width: 0.3vw;
	height: 14.5vw;
	border-radius: 1vw;
	border: 1px white solid;
	margin-left: 5vw;
}

.logos 
{
	height: 3.2vw;
	width: 3.2vw;
	vertical-align: middle;
	margin-right: 1.5vw;
}

#coor-gauche
{
	font-family: 'Asap', Arial;
	font-size: 2.4vw;
	font-weight: normal;
}

.barriere-c
{
	background-color: white;
	display: block;
	width: 8vw;
	height: 0.1vw;
	border-radius: 1vw;
	border: 1px white solid;
	margin-top: 0.5vw;
	position: absolute;
	left: 5vw;
	border-radius: 1vw;
}

.logos-b
{
	width: 2.6vw;
	height: 2.6vw;
}

#logos-deux
{
	padding-top: 5.4vw;
}

#logos-trois
{
	padding-top: 5.4vw;
	display: flex;
}

#main-bas
{
	padding-bottom: 4vw;
}

#fond-footer
{
	background-color: rgb(99, 69, 148);
}

#footer 
{
	background-color: rgb(43, 23, 77);
	border-radius: 3.1vw 3.1vw 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: 'Asap', Arial;
	font-weight: normal;
}

#suivez
{
	padding-top: 1.1vw;
	padding-bottom: 1.1vw;
	font-size: 1.3vw;
}

#footer ul
{
	display: flex;
}

#footer li  
{
	padding-right: 0.25vw;
	padding-left: 0.25vw;
	padding-bottom: 1.1vw;
}

#mentions 
{
	padding-bottom: 0.6vw;
	font-size: 1.1vw;
	padding-top: 1vw;
}

@media screen and (min-width: 3000px)
{


	#formulaire 
	{
		height: 20vw;
	}

	.barre 
	{
		height: 1.85vw;
	}

	.bouton
	{
		bottom: -5.8vw;
	}

	#phrase-a 
	{
		font-size: 1.35vw;
	}

	#form-droite 
	{
		padding-top: 0.3vw;
	}

	#form-gauche 
	{
		padding-top: 0.3vw;
	}

	#main-haut h1 
	{
		font-size: 4vw;
	}

	.cta-button 
	{
		padding-top: 1.3vw;
		padding-bottom: 1.3vw;
	}

	#main-bas 
	{
		padding-top: 6.5vw;
	}

	#barriere-b
	{
		height: 13vw;
	}

	#carte 
	{
		height: 13vw;
	}

	#coor-gauche 
	{
		font-size: 1.2vw;
	}

	#logos-deux,#logos-trois
	{
		padding-top: 2vw;
	}

	.logos 
	{
		width: 2.5vw;
		height: 2.5vw;
	}

}

@media screen and (min-width: 500px) and (max-width: 950px)
{

	#header 
	{
		height: 10vw;
		align-items: center;
	}

	#header li a 
	{
		font-size: 2.8vw;
		padding-top: 3.4vw;
		padding-bottom: 3.4vw;
	}

	#main 
	{
		margin-top: 10vw;
	}

	.logo-haut 
	{
		height: 7.4vw;
		padding-left: 1vw;
		transition: none;
	}

	#cercle-noir:hover
	{
		transition: none;
		height: 0;
		width: 0;
		padding: 0;
	}

	#cercle-noir:hover .logo-haut
	{
		width: auto;
		height: 7.4vw;
		margin: 0;
		transition: unset;
	}

	#main h1
	{
		font-size: 5vw;
		padding-left: 5vw;
		padding-right: 5vw;
	}

	label 
	{
		font-size: 2.4vw;
	}

	input 
	{
	font-size: 2vw;
	padding-left: 2.3vw;
	padding-right: 3vw;
	}


	#formulaire
	{
	height: unset;
	}

	.correct + span::after
	{
		height: 1.6vw;
		width: 1.6vw;
	}

	.champ 
	{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	#phrase-a
	{
		font-size: 3.4vw;
	}

	#phrase-b
	{
		font-size: 2.1vw;
		padding-top: 2vw;
	}

	.cta-button
	{
		font-size: 3vw;
		padding-right: 3vw;
		padding-left: 3vw;
		padding-top: 2.4vw;
		padding-bottom: 2.4vw;
		border-radius: 1.2vw;
	}

	#barrearea 
	{
		font-size: 2vw;
	}

	#main-bas  
	{
		padding-top: 12vw;
	}

	.bouton 

	{
		bottom: -11vw;
	}


	#coor-gauche li, #coor-gauche p
	{
		font-size: 2.4vw;
	}

	#padd-coord
	{
		flex-direction: column;
	}

	#carte
	{
		width: 100%;
		height: 45vw;
		border-radius: 0;
		padding-top: 3vw;
		max-height: none;
	}

	#main-bas li
	{
		font-size: 4vw;
	}

	#main-bas p 
	{
		font-size: 4vw;
	}

	.logos
	{
		width: 8vw;
		height: 8vw;
		padding-bottom: 1.5vw;
		padding-right: 3vw;
	}

	#logos-un 
	{
		padding-top: 3vw;
	}

	#barriere-b
	{
		display: none;
	}

	.barriere-c 
	{
		height: 0.4vw;
		width: 15vw;
	}

	#footer #suivez
	{
		font-size: 5vw;
	}

	.logos-b 
	{
		height: 7vw;
		width: 7vw;
		margin-right: 1.2vw;
		margin-left: 1.2vw;
	}

	#mentions
	{
		font-size: 2vw;
	}
}


@media screen and (max-width: 500px)
{
	.floute 
	{
		filter: blur(2.6px);
	}

	#menu-burger
	{
		display: block;
		height: 8vw;
		width: 8vw;
		margin-right: 5vw;
		position: relative;
		z-index: 1;
	}

	#menu-burger.banger ~ nav 
	{
		display: block;
	}

	#header  
	{
		height: 12vw;
		display: flex;
		align-items: center;
	}

	#header nav  
	{
		width: 65vw;
		position: absolute;
		right: 0;
		top: 12vw;
		display: none;
	}

		#header nav li:last-child
	{
		border-bottom-left-radius: 30px;

	}

	header ul
	{
		flex-direction: column;
		padding-right: 0;
	}

	header ul li  
	{
		font-size: 4.5vw;
		background-color: rgb(26, 26, 26);
		width: 100%;
	}

	.bouton-nav 
	{
		padding-top: 12vw;
		padding-bottom: 12vw;
		padding-right: 8vw;
		padding-left: 8vw;
		justify-content: center;
	}

	nav ul li:hover 
	{
	background-color: rgb(26, 26, 26);
	transition: unset;
	}

	nav ul li a:hover
	{
	/*margin-bottom: 0.3vw;*/
	transform: unset;
	transition: ;
	}

	#main 
	
	{
		margin-top: 12vw;
	}

	.logo-haut
	{
		height: 10vw;
		padding-left: 3vw;
	}

	#cercle-noir:hover .logo-haut
	{
	width: auto;
	height: 10vw;
	margin: 0;
	transition: unset;
	}

	#cercle-noir:hover
	{
	height: 0;
	width: 0;
	padding: 0;
	transition: unset;
	}

	#main h1
	{
		font-size: 5.4vw;
	}

	label 
	{
		font-size: 2.3vw;
	}

	input 
	{
		font-size: 3.2vw;
		padding-left: 2.3vw;
		padding-right: 3vw;
	}

	#formulaire 
	{
		height: unset;
	}

	.correct + span::after
	{
		height: 4vw;
		width: 4vw;
		background-size: 55%;
	}

	#phrase-a
	{
		font-size: 3.4vw;
	}

	#phrase-b
	{
		font-size: 2.4vw;
		padding-top: 0.6vw;
	}

	#form-gen 
	{
		flex-direction: column;
		align-items: center;
	}

	#barriere 
	{
		display: none;
	}

	#form-gauche 
	{
		width: 96.5%;
		padding-right: 0;
	}

	#form-droite 
	{
		padding-left: 0;
		width: 96.5%;
		height: 32vw;
		padding-bottom: 2vw;
		padding-top: 0;
	}

	#barrearea 
	{
		border-radius: 1vw;
		font-size: 3.2vw;
	}

	.barre 
	{
		height: 7.6vw;
		border-radius: 1vw;
	}

	.nom 
	{
		padding-right: 1vw;
	}

	.prenom 
	{
		padding-left: 1vw;
	}

	.cta-button
	{
		font-size: 4vw;
		padding-right: 3.5vw;
		padding-left: 3.5vw;
		padding-top: 2.7vw;
		padding-bottom: 2.7vw;
		border-radius: 1.2vw;
	}

	#main-bas  
	{
		padding-top: 15vw;
	}

	#main-bas h1
	{
		font-size: 4vw;
	}

	#padd-coord
	{
		flex-direction: column;
	}

	#carte
	{
		width: 100%;
		height: 45vw;
		border-radius: 0;
		padding-top: 3vw;
		max-height: none;
	}

	#main-bas li
	{
		font-size: 6vw;
	}

	.logos
	{
		width: 10vw;
		height: 10vw;
		padding-bottom: 1.5vw;
		padding-right: 3vw;
	}

	#logos-un 
	{
		padding-top: 3vw;
	}

	#barriere-b
	{
		display: none;
	}

	.barriere-c 
	{
		height: 0.4vw;
		width: 15vw;
	}

	.bouton 

	{
		bottom: -13vw;
	}

	#suivez
	{
		font-size: 6vw;
	}

	.logos-b 
	{
		height: 12vw;
		width: 12vw;
		margin-right: 2vw;
		margin-left: 2vw;
	}

	#mentions 
	{
		font-size: 2.5vw;
	}
}