@charset "UTF-8";
/* CSS Document */

html{
	width:100%;
	height: 100%;
}

body
{
	font-family: "roboto", arial, sans-serif;
	color: #707070;
	max-width: 1140px;
	height: 100%;
	display: flex; 
	flex-direction: column;
	justify-content: space-between;
	min-height: 800px;
	margin: auto;
	padding: 0 40px 0 40px;
}


/* HEADER*/

header
{
	position: relative;
	margin: 35px 0px 20px 0px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}


	/* logo + nom */

#website_title img
{
	width:55px;
	margin: 0px 10px 0px 0px;
	opacity: 0.7;
}


#website_name h1
{
	font-size: 1.5em;
	font-weight: 400;
	text-transform: uppercase;
	font-family:'noto sans jp', 'roboto', arial, sans-serif;
	padding:0;
}

#website_name h2
{
	font-family:'noto sans jp', 'roboto', arial, sans-serif;
	font-size: 1.05em;
	font-weight: 300;
	padding:0;
}

#website_name h1, #website_name h2
{
	margin: -2px 10px 0px 10px;
}

#website_title
{
	display:flex;
	align-items: center;
	height: 55px;
}

	/* navigation */

nav
{
	font-weight: 300;
	font-size: 1em;
	position: relative;
	top: -7px;
	width: 46%;
	font-family:'noto sans jp', 'roboto', arial, sans-serif;
	
	
}

nav ul
{
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	
}


nav a
{
	color: #707070;
	text-decoration: none;
}

nav a:hover
{
	border-bottom: 1px solid #707070;
}




/* lignes du header */

#line_decoration
{
	border-top: 2px solid #909090;
	position: absolute;
	right: 0px;
	left: 270px;
	top: 44px;
}



/* état navigation + langue */

.location 
{
	font-weight: 500;	
}


/* section */

	section
{
	display: flex;
	justify-content: center;
	position: relative;
}

section h1, section p
{
	font-size: 0.9em;
}

section h1
{
	margin: 20px 0 0 0;
	font-weight: 500;
}

section p
{
	margin: 0px 0px 0px 0px;
	font-family: 'noto sans jp', 'roboto';
	font-weight: 300;
}

section a
{
	margin: 0px 0px 0px 0px;
	color: #707070;
}

#contact, #office_hours
{
	border-top: 1px solid #707070;	
	margin-bottom: 30px;
	width: 310px;
}

#photo img
{
	width: 270px;
}

#photo
{
	padding-right: 65px;
}


/* FOOTER */

footer
{
	border-top: 1px dotted #707070;
	padding-left: 0px;
	padding-right: 0px;
	margin: 0 0 20px 0;
}


footer p
{
	font-size: 0.8em;
	font-weight: 100;
}

.menu_button{
	display: none;
}


.close_button
{
	display: none;
}




/* MOBILE */

@media screen and (max-width:970px) {
	
	body
	{
		
		font-family: "roboto", arial, sans-serif;
		color: #707070;
		height: auto;
		margin: auto;
		margin: 0;
		padding: 0 0 0 0;
	}
	
	
	/* debut header */
	
	header
	{
		margin-top: 0px;
		margin-bottom: 0px;
		position: relative;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		
	}
	
	#website_name h1
	{
		
		font-size: 1.4em ;
	}
	
	#website_name h2
	{
		font-size: 1em;
	}
	
	#website_name
	{
		position: relative;
		top: 2px;
	}
	
	#website_title
	{
		display: flex;
		align-items: center;
		height: 49px;
		margin-bottom: 40px;
		margin-left: 20px;
		margin-top: 25px;
	}
	
	
	#website_title img
	{
		width:48px;
		margin: 0px 3px 0px 0px;
		opacity: 0.7; 
		position: relative;
		bottom: -1px;
	}
	
	
	#line_decoration
	{
		display: none;
	}
	
	
	.menu_button
	{
		margin-top: 25px;
		display: flex;
		position: relative;
		bottom: -5px;
		cursor: pointer;
		margin-right: 20px;
		
	}
	
	
	
	/* fin header */
	
	
	/* page qui s'ouvre */
	
	
	nav 
	{
		position: absolute;
		background-color: #404040;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100vh;
		z-index: 1;
	
		display: none;
		transform: scaleX(0);
		transform-origin: right;

	}
	
	#menu
	{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		height: 50%;
		opacity: 0;
		
	}
	
	#menu span
	{
		font-weight: 300;
		border-bottom: 1px solid #EDEDED;
	}
	
	nav a 
	{
		color: #EDEDED;
		font-size: 1.5em;
		font-weight: 300;
	}
	
	nav a:hover{
		border-bottom: 1px solid #EDEDED;
	}
	
	
	.close_button
	{
		display: block;
		position: absolute;
		right: 23px;
		top: 34px;
		cursor: pointer;
		opacity: 0;
	}
	
	.show-menu
	{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		
		animation: slide-menu 0.5s ease-in forwards;
	}
		
	.show-menu .close_button, .show-menu #menu
	{
		animation: show-x 1s 0.3s forwards;
	}
	
	@keyframes slide-menu 
	{
		from {
			transform: scaleX(0);
		}
		
		to {
			transform: scaleX(1);
		}
	}
	
	@keyframes show-x 
	{
		from {
			opacity: 0;
		}
		
		to {
			opacity: 1;
		}
	}
	
	/* fin page qui s'ouvre*/
	
	
	
	/* début section */
	
	section
	{
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	
	
	#photo img
	{
		width: 75%;
		max-width: 270px;
		margin: 0;
	}
	
	#photo
	{
		padding-right: 0px;
		padding-bottom: 20px;
	}
	
	
	section h1, section p
	{
		font-size: 0.9em;
	}
	
	section h1
	{
		margin: 15px 0 0 0;
		font-weight: 400;
	}

	#contact, #office_hours
	{
		border-top: 1px solid #707070;	
		margin-bottom: 30px;
		width: 310px;
	}
	
	/* fin section */
	
	/* footer*/
	
	footer
	{
		margin: 20px 20px 0px 20px;
	}
		
		
		
	
}





