* {
	box-sizing: border-box;
}

html,body{
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0px;
	margin: 0px;
	font-size: 100%;
	scroll-behavior: smooth;
}

body{ 
	margin: 0px;
	padding: 0px
	font-size: 100%;
	padding-top: 120px;
	font-family: arial;
	font-size: .9rem;
	color: black;
}

#mobile {
	display: none;
	}


img.menu {
	height: 30px;
}

div#overlaynav {
	position: absolute;
	display: none;
	grid-template-rows: 1fr 1fr 1fr 1fr;
	grid-gap: .5vh;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	padding: 10px;
	background-color: rgba(0,0,0,.6);
	animation-name: show;
	animation-duration: .4s;
	transition-timing-function: ease-out;
  	overflow-y: hidden;
  	overflow-x:hidden;
	padding: 0;
	padding: 30px;
z-index: 10000;
}

@keyframes show {
	0% {top: 700px}
	100% {top: 0px}
}

div#overlaynav a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90%;
	height: 90%;
	max-width: 960px;
	margin: auto;
	background-color: rgba(0,0,0,.6);
	font-family: 'Oswald', sans-serif;
	font-size: 1.3rem;
	color: white;
	border: solid 1px transparent;
	text-decoration: none;
}

div#overlaynav a:hover {
	background-color: rgba(0,0,0,.8);
	border: solid 1px white;
	font-size: 1.5rem;

}

header {
	position: fixed;
	top: 0px;
	width: 100%;	
	color: black;
	border: 1px;
	z-index: 1000;
	background-color: #ffffff;
	padding-bottom: 20px;
	box-shadow: 0px 5px 15px rgb(0,0,0,.25);
}

header main {
  	display: grid;
  	grid-template-columns: 240px auto;
	width: 100%;
	height: 100%;
	max-width: 1200px;
	font-family: 'Oswald', sans-serif;
	margin: auto;
}

div.logo {
	display relative;
	font-size: 2.2rem;
	color: rgb(0,0,0,.9);
	font-weight: bold;
	align-self: center;
text-align: center;
	padding-top: 10px;
}

div.logo2 {
	font-family: arial, helvetica;
	font-size: .8rem;
	color: rgb(0,0,0,.7);
	font-weight: normal;
	align-self: center;
	padding-left: 3px;
	margin-top: -5px;
	letter-spacing: 5.25px;
}

header main nav {
	justify-self: end;
	align-self: end;
	padding-bottom: 11px;
}

header main nav a {
	font-family: arial;
	color: rgb(0,0,0,.45);
	font-size: .9rem;
	margin-left: 20px;
	justify-self: end;
	text-decoration: none;
	transition: all .25s;
}

header main nav a:hover {
	color: rgb(0,0,0,.9);

}

section.main nav#desktop b {
	display: block;
	margin-bottom: 5px;
}

section.main nav#desktop a {
	font-family: arial;
	color: rgb(0,0,0,.45);
	line-height: 22px;
	margin-left: 10px;
}

section.main nav#desktop a:hover {
	font-family: arial;
	color: rgb(0,0,0,.9);
}

a:visited {color: rgb(0,0,0,.45);}

img.random1,
img.random2 {
	width: 100%;
}

#desktop h1 {
	display: block;
	font-family: 'Oswald', sans-serif;
	margin-top: 12px;
}

#desktop a {
	text-decoration: none;
	line-height: 1.2rem;
}

section.main {
  	display: grid;
  	grid-template-columns: 260px auto 280px;
	width: 100%;
	height: auto;
	max-width: 1200px;
	margin: auto;
margin-top: 10px;
}


figure,
article {
	border: solid 1px rgb(0,0,0,.4);
}

section.main main h1,
figure,
figure h1 {
	padding: 0;
	margin: 0;
	font-family: 'Oswald', sans-serif;
	font-size: 1.5rem;
	margin-bottom: 15px;
	line-height: 1.75rem;
}

figcaption {
	font-family: arial, helvetica;
	font-size: .8rem;
	color: rgb(0,0,0,.7);
	line-height: 1rem;
	font-weight: 100;
	margin-bottom: 35px;
}

figcaption a {
	text-decoration: none;
	font-weight: bold;
	color: rgb(0,0,0,.9);
}

figcaption a:hover {
	color: rgb(0,0,0,.45);
}

figure img {
	width: 100%;
	max-width: 100%;
	margin-bottom: 15px;
	flex-grow: 1;
	border: solid 1px  rgb(0,0,0,.7);
	box-shadow: 7px 7px 15px rgb(0,0,0,.45);
}

article {
	font-family: arial, helvetica;
	font-size: .9rem;
	color: rgb(0,0,0,.7);
	line-height: 1.1rem;
	font-weight: 100;
	padding: 20px 20px 20px 20px;
	margin-bottom: 30px;
}

section.route div {
	font-weight: bold;
}

section.route p {
	padding: 0 30px 0 30px;
}

section.route a,
figure.contact a {
	text-decoration: none;
	font-weight: bold;
	color: rgb(0,0,0,.6);
}

section.route a:hover,
figure.contact a:hover {
	text-decoration: none;
	font-weight: bold;
	color: rgb(0,0,0,.9);
}

section.main aside {
	padding-left: 30px;
}

section.route p.details {
	font-size: .8rem;
	line-height: 1rem;
}

figure,
article {
	padding: 20px; 
	margin-left: 10px;
}

aside#desktop figure {
	border: solid 1px  rgb(0,0,0,.7);
}

p strong {
	font-weight: bold;
}

nav.portfolio {
	display: none;
}



footer {
	position: relative;
	width: 100%;
	max-width: 1200px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: auto;
	margin-top: 70px;
	padding-bottom: 120px;
	width: 100%;	
	height: 50px;
	color: rgb(0,0,0,.9);
}

footer img {
	height: 75px;
}

figure.contact,
figure.contact span {
	display: flex;
	flex-direction: column;
	font-family: arial, helvetica;
	font-size: .9rem;
	font-weight: normal;
}

figure.contact a {
	font-family: arial, helvetica;
	font-size: .9rem;
	font-weight: normal;
	margin-top: -10px;
}

figure.contact a:hover {
	font-weight: bold;
}

figure.contact div.member {
	text-align: center;
	padding: 0px;
}

figure.contact div.member img {
	width: 80%;
	box-shadow: 0 0 0 white;
	border: 0;
}




section.cinq {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
	max-width: 100%;
	margin-bottom: 10px;
	margin-left: -6px;
}

section.cinq figure {
	width: 100%;
	max-width: 200px;
	padding: 0px;
	margin-bottom: 0px;
}

section.cinq figure img {
	margin: 0px;
}

section.cinq figure {

}

section.cinq figure figcaption {
	position: relative;
	text-align: center;
	margin: 0px;
}

section.montage  {
	margin: 0px;
	padding: 0px;
	height: auto;
}

section.montage figure {
	margin: 0px;
	padding: 0px;
	padding-top: 5px;
	height: auto;

}

section.montage figure figcaption {
	position: relative;
	margin: 0px;
	padding: 0px;
	padding-bottom: 20px;
	text-align: center;
}





