@charset "UTF-8";
/*
 * www.maximesimeon.com v7.0
 * @author: Maxime Siméon
 */

/* ----------------------------- */
/* ==fontface */
/* ----------------------------- */
@font-face {
    font-family:"TradeGothicNextLTPro";
    src:url("assets/tradegothic/TradeGothicNextLTPro-Lt.woff2") format("woff2"),
    url("assets/tradegothic/TradeGothicNextLTPro-Lt.woff") format("woff"),
    url("assets/tradegothic/TradeGothicNextLTPro-Lt.otf") format("opentype");
    font-style:normal;
    font-weight:300;
}
@font-face {
    font-family:"TradeGothicNextLTPro";
    src:url("assets/tradegothic/TradeGothicNextLTPro-Bd.woff2") format("woff2"),
    url("assets/tradegothic/TradeGothicNextLTPro-Bd.woff") format("woff"),
    url("assets/tradegothic/TradeGothicNextLTPro-Bd.otf") format("opentype");
    font-style:normal;
    font-weight:700;
}


/* ----------------------------- */
/* ==reset */
/* ----------------------------- */


/* soft reset */
html,
body,
h1,
h2,
p {
	margin: 0;
	padding: 0;
}


/* HTML5 tags */
main, article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
	display: block;
}

/* max values */
img, table, td, blockquote, code, pre, textarea, input, video {
	max-width: 100%;
}

/* you shall not pass */
div, textarea, table, td, th, code, pre, samp {
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto;
}

/* pictures */
img {
	width: auto;
	height: auto;
	vertical-align: middle;
}
a img { border: 0; }

/* ----------------------------- */
/* ==Layout */
/* ----------------------------- */
html {
	font-size: 62.5%;
	-webkit-font-smoothing: antialiased;
 	-moz-osx-font-smoothing: grayscale;
}

body {
	background: #121212;
	color: #ccc;
	font-family: TradeGothicNextLTPro, Roboto, sans-serif;
	font-weight: 300;
	font-size: 2.5rem;
	line-height: 1.6em;
	letter-spacing: .04em;
}

.container {
	margin: 0 9.0909090909% 5rem 9.0909090909%;
}

[role="banner"] {
	margin-bottom: 6.5rem;
	font-size: 1.5rem;
	display: flex;
	justify-content: space-between;
}

.logo {
	line-height: 0;
	margin-top: 5rem;
}
.logo a {
	width: 3rem;
	height: 2.1rem;
}


/* ----------------------------- */
/* ==Type */
/* ----------------------------- */
h2, .h2 {
	margin-top: 5rem;
	margin-bottom: .8em;
	font-family: TradeGothicNextLTPro, Roboto, sans-serif;
	font-weight: 700;
	color: white;
	font-size: .6em;
	line-height: normal;
	letter-spacing: .03em;
}
.details h2 {
	margin-bottom: 2em;
}

p {
	margin-bottom: 2rem;
	hyphens: none;
}

a {
	text-decoration: none;
	color: white;
}
a:hover, a:focus {
    transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

p a {
	position: relative;
}
p a:after {
	content: "";
	position: absolute;
	bottom: -0.22em;
	left: 0;
	width: 100%;
	height: .1rem;
	background: #F2F2F2;
}
p a:hover:after,
p a:focus:after {
	animation-duration: 0.5s;
	animation-name: linkanimation;
}

@keyframes linkanimation {
	from {
		width: 0;
	}
	to {
	  width: 100%;
	}
}
/* ----------------------------- */
/* == Snackbar */
/* ----------------------------- */
.top-snackbar {
	display: block;
	padding: 1.2rem 0;
	color: white;
	background: #1D4ED8;
}

.top-snackbar:hover,
.top-snackbar:focus {
	background: #1E40AF;
}

.top-snackbar mark {
	display: block;
	margin-bottom: 0;
	font-size: 1.3rem;
	line-height: 1.4em;
	font-weight: 700;
	color: inherit;
	background: none;
}

.top-snackbar .button-xs {
	display: inline-block;
	margin-top: 0.8rem;
	padding: .2rem 1rem .4rem;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0;
	color: rgba(255, 255, 255, .8);
	background: rgba(0, 0, 0, .12);
	border-radius: 99rem;
}

.top-snackbar:hover .button-xs,
.top-snackbar:focus .button-xs {
	color: rgba(255, 255, 255, 1);
}


/* ----------------------------- */
/* == Header / Nav */
/* ----------------------------- */
.logo a {
	display: block;
	padding-bottom: 0;
	border-bottom: 0;
}

[role= "navigation"]{
	line-height: normal;
}
[role= "navigation"] a {
	display: inline-block;
	position: relative;
	margin: 4rem 0 0 2rem;
	padding: 1rem 1.5rem;
	line-height: auto;
	border-bottom: none;
	opacity: .7;
}
[role= "navigation"] a:hover,
[role= "navigation"] a:focus,
[role= "navigation"] .current {
	opacity: 1;
}
[role= "navigation"] .current:before {
	content: "";
	position: absolute;
	top: -4rem;
	height: .3rem;
	left: 1.5rem; right: 1.5rem;
	background: #f8f8f8;
}

/* ----------------------------- */
/* == Main */
/* ----------------------------- */
ol {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 5rem 0;
	font-size: .64em;
	line-height: 1.25em;
}
li {
	margin: 1.25em 0;
}
li .date {
	display: block;
	line-height:  1.875em;
}
strong {
	font-weight: bold;
	color: white;
}
.folio {
	margin-top: 7rem;
	
}
.folio a {
	position: relative;
	display: block;
	margin-bottom: 5rem;
	padding: 8vw;
	background:#1A1A1A;
	border: none;
	border-radius: .1rem;
	border-bottom: none;
	transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.folio a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: .3rem;
	background: white;
	opacity: 0;
	transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.folio a:hover,
.folio a:focus {
	transform: scale(0.98);
	background: #1E1E1E;
}
.folio a:hover:before,
.folio a:focus:before {
	left: 0;
	width: 100%;
	opacity: 1;
}

.folio h3 {
	margin-top: 6.4vw;
	color: white;
}

.folio p {
	margin-bottom: 0;
	color: #ccc;
	hyphens: none;
}


/* ----------------------------- */
/* == Footer */
/* ----------------------------- */
.sayhello {
	margin-bottom: 7rem;
	overflow-wrap: break-word;
	
}
.sayhello p {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	width: 100%;
	padding-bottom: .5rem;
}

/* ----------------------------- */
/* == M width */
/* ----------------------------- */
@media (min-width: 38em) {
	.clients ol {
		display: flex;
		flex-flow: column wrap;
		max-height: 40rem;
	}
	.clients li {
		width: 33.33333333%;
		margin-right: 16.66666667%;
		margin-top: 0;
	}
}
@media (min-width: 50em) {
	body{
		margin-bottom: 10rem;
		letter-spacing: 0.033333333em;
	}
	.top-snackbar {
		padding: .8rem 0;
		text-align: center;
	}
	.top-snackbar br {
		display: none;
	}
	.top-snackbar .button-xs {
		margin: 0 0 0 .8rem;
	}
	.intro {
		font-size: 3rem;
	}
	h2, .h2 {
		font-size: .7em;
		letter-spacing: .025em;
		margin-top: 10rem;
	}
	.folio {
		margin-top: 10rem;
	}
	.folio:after {
		content: "";
		display: table;
  		clear: both;
	}
	.folio a {
		padding: 4vw;
	}
	.folio article {
		width: 45.45454545%
	}
	.folio article:nth-child(odd) {
		float: left;
	}
	.folio article:nth-child(even) {
		float: right;
	}
	.folio h3 {
		margin-top: 4vw;
	}
	.work .sayhello h2 {
		margin-top: 5rem;
	}
}
@media (min-width: 69em) {
	p {
		max-width: 72.72727273%
	}
	.intro p {
		max-width: 100%;
	}
	.folio p {
		max-width: 100%;
	}
	.details {
		display: flex;
	}
	.xp {
		width: 27.27272727%;
		margin-right: 18.18181818%;
	}
	.clients {
		width: 54.54545455%;
	}
}

@media (min-width: 80em) {
	main {
		margin-top: 22rem;
	}
	.work {
		position: relative;
	}
	.intro {
		width: 45.45454545%;
		margin-bottom: 22rem;
	}
	.folio a {
		margin-bottom: 10rem;
		padding: 4.8vw;
		color: inherit;
	}
	.folio h3 {
		margin-top: 4.8vw;
	}
	.folio article:nth-child(2) {
		position: relative;
		margin-top: 18%;
	}
	.folio article:nth-child(2):before {
		content: "";
		position: absolute;
		bottom: 100%;
		left: -10rem;
		right: -10rem;
		height: 100%;
		z-index: -1;
		background: center bottom url(assets/me-2.jpg) no-repeat;
	}
	.work .sayhello {
		margin-top: -18rem;
		width: 45.45454545%;
	}
	.work .sayhello h2 {
		margin-top: 0rem;
	}
}
@media (min-width: 105em) {
	.container {
		width: 132rem;
		margin: 0 auto 20rem auto;
	}
	.folio a {
		padding: 8rem;
	}
}