@font-face {
	font-family: "SuisseIntl-Light";
	src: url("../fonts/SuisseIntl-Light.otf") format("truetype");
}

::selection {
	background: rgba(10, 10, 10, 1); /* WebKit/Blink Browsers */
}
::-moz-selection {
	background: rgba(10, 10, 10, 1); /* Gecko Browsers */
}




#faderWhite {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999999;
	pointer-events: none;
	opacity:0;
	background: #f8f8f8;
	animation-duration: 200ms;
	animation-timing-function: ease-in-out;
}
#faderBlack {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999999;
	pointer-events: none;
	opacity:0;
	background: #121212;
	animation-duration: 200ms;
	animation-timing-function: ease-in-out;
}


@keyframes pageFade-in {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}


#faderWhite.pageFade-in, #faderBlack.pageFade-in {
	opacity: 1;
	animation-name: pageFade-in;
}

@keyframes translateY-in {
	from {
		margin-top: -20px;
	}

	to {
		margin-top: 0px;
	}
}


html {
	width: 100vw;
	background: #121212;
	margin: 0 !important;
	padding: 0 !important;

}
body {
	width: 100vw;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden;

}
@-moz-keyframes onLoad {
	0% {
		-moz-transform: translateY(-25px);
		opacity: 0;
	}
	100% {
		-moz-transform: translateY(0);
		opacity:1;
	}
}
@-webkit-keyframes onLoad {
	0% {
		-webkit-transform: translateY(-25px);
		transform: translateY(-25px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity:1;
	}
}
@keyframes onLoad {
	0% {
		-webkit-transform: translateY(-25px);
		transform: translateY(-25px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity:1;
	}
}

#wrapper {
	margin: 0 30px 0 30px;
	padding-top: 25px;


	-moz-animation-name: onLoad;
	-moz-animation-iteration-count: 1;
	-moz-animation-timing-function: easeQuart-in-out;
	-moz-animation-duration: 0.7s;

	-webkit-animation-name: onLoad;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-timing-function: easeQuart-in-out;
	-webkit-animation-duration: 0.7s;

	animation-name: onLoad;
	animation-iteration-count: 1;
	animation-timing-function: easeQuart-in-out;
	animation-duration: 0.7s;
}

#cover {
	width: calc(100vw - 60px);
	height: calc(100vh - 45px);
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}
header a{
	height: 37px;
	display: flex;
	justify-content: space-between;
}
header a:hover h2{
	opacity: 1;
}
.intro-phrase {
	width: 60%;
	/*	max-width: 760px;*/
}
#infos-bottom-hp {
	height: 37px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#infos-bottom-about {
	width: 58.5%;
	height: 37px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}





a {
	text-decoration: none;
	color:#fff;

}
h1 {
	font-family: "SuisseIntl-Light";
	/*	font-size: 44px;*/
	font-size: 3.3vw;
	line-height: 4.4vw;
	/*	line-height: 56px;*/
	font-weight: 100;
	color:white;
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-top: 0;
	margin-bottom: 0;
}
h2 {
	font-family: "SuisseIntl-Light";
	font-size: 28px;
	font-weight: 100;
	color:white;
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-top: 0;
	margin-bottom: 0;
}

h4 {
	font-family: "SuisseIntl-Light";
	font-size: 22px;
	font-weight: 100;
	color:black;
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-top: 0;
	margin-bottom: 0;
}
.headings-inline {
	display: inline;
}
.headings-50 {
	opacity: 0.5;
}
.headings-margin15 {
	margin-left: 15px;
}
.headings-margR15 {
	margin-right: 15px;
}
.headings-margin10 {
	margin-left: 10px;
}
.headings-margin7 {
	margin-left: 7px;
}
.headings-margbot-5 {
	margin-bottom: 5px;
}
.headings-margbot-25 {
	margin-bottom: 25px;
}
.headings-black {
	color:#222222;
}
.headings-white {
	color:#fff;
}
.events-none {
	pointer-events: none;
}

.links-00 {
	opacity: 0;
	transition: 0.3s ease;
	pointer-events: none;
}
.links-50 {
	opacity: 0.5;
	transition: 0.3s ease;
}
.links-50:hover {
	opacity: 1;
}
.links-100 {
	opacity: 1;
	transition: 0.3s ease;
}
.links-100:hover {
	opacity: 0.5;
}
.link-nextproject {

}
.link-nextproject {

}

.icon-left {
	margin-right: 10px;
}
.icon-right {
	margin-left: 10px;
	margin-top: 1px;
}
.icon-smiley {
	margin-left: 5px;
	margin-top: 5px;
	top: 3px;
	position: relative;
}

#fullscreen-bg {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	z-index: -100;

}

@media (min-aspect-ratio: 25/18) {
	#fullscreen-bg__video {
		width: 100%;
		height: auto;
	}
}

@media (max-aspect-ratio: 25/18) {
	#fullscreen-bg__video {
		width: auto;
		height: 100%;
	}
}




/* GRID PROJECTS */


.projects-wrapper {
	margin-top: 20px;
}
.projects-line {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 220px;
}
.title-project{
	margin-top: 20px;
}
.info-title-project {
	display: inline-block;
}
a.link-case {
	opacity: 0.88;
	transition: 0.2s cubic-bezier(0.77, 0, 0.175, 1);
}
a.link-case:hover {
	opacity: 1;
}

.case-portrait {
	width: 32%;
}
.wrap-img-portrait {
	position: relative;
	padding-bottom: calc(100% * 67 / 46);
	background-color: #e2e2e2;

}
.wrap-img-portrait > img {
	width: 100%;
	position: absolute;
}

.case-square {
	width: 39%;
}
.wrap-img-square {
	position: relative;
	padding-bottom: calc(100% * 1 / 1);
	background-color: #e2e2e2;
}
.wrap-img-square > img {
	width: 100%;
	position: absolute;
}

.case-landscape {
	width: 49.5%;
}



.wrap-img-landscape {
	position: relative;
	padding-bottom: calc(100% * 3 / 5);
	background-color: #e2e2e2;

}
.wrap-img-landscape > img {
	width: 100%;
	position: absolute;
}

/*  ? WRAP IMAGE LANDSCAPE ?  */

#Selected_projects {
	outline:0px !important;
	-webkit-appearance:none;
	box-shadow: none !important;
}


/* PAGE PROJECT */


.intro {
	margin-top: 180px;
	margin-bottom: 25px;
	width: calc(45% + 150px);
}
#img-cover-project {
	padding-bottom: calc(100% * 3 / 7);
	position: relative;
}
#img-cover-project > img {
	width: 100%;
	position: absolute;
}
.infos-project {
	margin-top: 20px;
	margin-bottom: 80px;
	display: flex;
	justify-content: space-between;
}
.infos-close-project {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.infos-close-project a {
	margin-bottom: 25px;
}



.module-video {
	background-color: rgba(0, 0, 0, 0.04);
	padding-top: 120px;
	padding-bottom: 120px;
	margin-top: 2px;
}
.showcase-video {
	width: 66%;
	top: 50%;
	left: 50%;
	transform: translate(-50%);
	position: relative;
}
.module-full-video {
	background-color: rgba(0, 0, 0, 0.04);
	margin-top: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.showcase-full-video {
	width: 100%;
	position: relative;
	display: block;
}
.showcase-screen-video {
	width:55%;
	margin: 110px 0 110px 0;
	border-radius: 4px;
	background-color: #1a1a1b;
	box-shadow: 0 5px 30px 4px rgba(0, 0, 0, 0.56);  
	position: relative;
	display: block;
}


.module-2x-video {
	padding: 0;
	margin-top: 2px;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row;
	justify-content: space-around;
}
.square video {
	width: 100%;
	display: block
}
.square {
	background-color: rgba(0, 0, 0, 0.04);
	width: calc(50% - 1px);
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#video-overlays {
	width: 100%;
	height:calc(50vw - 31px);
	background-color:rgba(0, 45, 56, 0.08);
	z-index:30;
	pointer-events: none;
	position:absolute;
}
.module-2x {
	display: flex;
}

.module-1x {
	width: calc(50% - 1px);
	background-color: rgba(0, 0, 0, 0.04);
	margin-top: 2px;
	padding-top: 120px;
	padding-bottom: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.module-1x:last-child, .square:last-child {
	margin-left: 2px;
}
.showcase-mobile {
	width: 280px;
	height: 590px;
	background-image: url(../others/phone.svg);
	display: flex;
	justify-content: center;
	align-items: center
}
.img-mobile {
	width: 260px;
	height: 570px;
}
.mask-mobile {
	-webkit-mask-box-image: url(../others/mobile_screen.svg);
	mask-image: url(../others/mobile_screen.svg);
}
.showcase-tablet {
	width: 500px;
	height: 680px;
	background-image: url(../others/tablet_case.svg);
	display: flex;
	justify-content: center;
	align-items: center
}
.img-tablet {
	width: 450px;
	height: 630px;
}
.mask-tablet {
	-webkit-mask-box-image: url(../others/tablet_screen.svg);
	mask-image: url(../others/tablet_screen.svg);
}

.title-typeface {
	margin-bottom: 50px;
}
.img-specs {
	width: calc(10vw + 250px);
}
.module-quad {
	background-color: rgba(0, 0, 0, 0.04);
	margin-top: 2px;
	padding: 120px 16% 120px 16%;
}
.module-blue {
	overflow: hidden;
	margin-top: 2px;
}
#play-sound {
	background-color: white;
	border-radius: 100px;
	border: none;
	padding: 12px 30px 10px 30px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	cursor: pointer;
	position: absolute;
	z-index: 999;
}
.wrapper-typesvg {
	width: 100%;
	height: 585px;
	background:#151515;
	overflow: hidden;
}
.module-webpage {
	background-color: rgba(0, 0, 0, 0.04);
	margin-top: 2px;
	padding: 120px 10% 120px 10%;
}
.module-webpage-double {
	background-color: rgba(0, 0, 0, 0.04);
	margin-top: 2px;
	padding: 120px 10% 0px 10%;
}
.module-webpage-app {
	background-color: rgba(0, 0, 0, 0.04);
	margin-top: 2px;
	padding: 100px 5% 85px 5%;
}
.img-webpage {
	width: 100%;
}

.module-color-white {
	background-color: rgba(255, 255, 255, 0.04);
}
.module-color-transparent {
	background-color: rgba(255, 255, 255, 0);
}
.module-text {
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
}
.module-typesvg {
	display: flex;
	justify-content: flex-end;
}
.img-landscape {
	width: 100%;
	margin-top: 2px;
}
.line-info-details {
	padding-top: 5px;
	padding-bottom: 15px;
}
.line-info-details:last-child {
	padding-top: 5px;
	padding-bottom: 0px;
}
.module-next-project {
	border-top: 2px solid rgba(255, 255, 255, 0.04);
	padding-top: 120px;
	padding-bottom: 120px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.module-next-project_white_bg {
	border-top: 2px solid rgba(0, 0, 0, 0.04);
	padding-top: 120px;
	padding-bottom: 120px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/*   ???? */


.module-landscape-image img{
	display: block;
}

/*   ???? */

#goto { 
	height: 22px;
	display: block;
}
.arrow-next-fix { 
	line-height: 10px;
	padding-top: -2px;
	padding-left: 9px;
}
.arrow-prev-fix { 
	margin-top: -2px;
	position: absolute;
}
.module-footer {
	display: flex;
	justify-content: space-between;
	border-top: 2px solid rgba(255, 255, 255, 0.1);
	padding-top: 120px;
	padding-bottom: 25px;
}
.module-footer-project {
	display: flex;
	justify-content: space-between;
	border-top: 2px solid rgba(0, 0, 0, 0.04);
	padding-top: 120px;
	padding-bottom: 25px;
}
.wrap-links-footer {
	display: flex;
	justify-content: space-between;
}
.wrap-links-footer a {
	margin-right: 40px;
}
.wrap-links-footer a:last-child {
	margin-right: 0px;
}

.hide-desktop {
	display: none;
}
.links-footer {
	display: flex;
}
.links-button-1 {
	width: 290px;
	text-align: center;
	display: inline-block;
	background-color: white;
	border-radius: 100px;
	margin-top: 65px;
	padding: 12px 30px 10px 30px;
	position: relative;
	z-index: 999;
	border: 0;
	cursor: pointer;
}
.links-button {
	display: inline-block;
	background-color: white;
	border-radius: 100px;
	align-self: flex-end;
	bottom: 40px;
	padding: 12px 30px 10px 30px;
	position: absolute;
	z-index: 999;
	border: 0;
}

#header-about{
	height: 37px;
	display: flex;
	justify-content: space-between;
}
#link-about {
	position: relative;
}

#link-close {
	position: relative;
}

#content-about {
	width: 58.5%;
	margin-bottom: 12vh;
}
#title-about {
	width: 55%;
}

.list-content-about {
	margin-top: 10vh;
}
.list-content-about_2 {
	margin-top: 10vh;
	display: flex;
	justify-content: space-between;
}
.list-content-about:first-child {
	margin-top: 15px;
}
.logo-clients{
	max-width: 20%;
}
.wrap-links-about {
	width:100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.wrap-links-about a {
	margin-right: 0;
}
.wrap-links-about img {
	width: 100%;
}
.list-expertise {
	width: 50%;
}
.list-expertise-content {
	width: 100%;
}

.expertise_1 h4 {
	line-height: 38px;
}
.wrap-links-about h4 {
	line-height: 38px;
}

#wrap-img-profil {
	width: 40%;
	height: 100vh;
	background-image: url(../../About/images/photo.jpg);
	background-size: cover;
	background-position: center;
	top: 0;
	right: 0;
	position: fixed;
	-moz-animation-name: onLoad;
	-moz-animation-iteration-count: 1;
	-moz-animation-timing-function: easeQuart-in-out;
	-moz-animation-duration: 0.7s;
	-webkit-animation-name: onLoad;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-timing-function: easeQuart-in-out;
	-webkit-animation-duration: 0.7s;
	animation-name: onLoad;
	animation-iteration-count: 1;
	animation-timing-function: easeQuart-in-out;
	animation-duration: 0.7s;

}
#img-profil {
	background-color: rgba(0, 0, 0, 0.75);
	width: 100%;
	height: calc(100vh + 25px);  /* EVITE MARGE BLANCHE TRANSITION*/
	top: 0;
	right: 0;
	position: absolute;
}

#softwares-for-mobile {
	display: none;
}

span.nobr {
	white-space: nowrap;
}


/*
@media only screen and (max-width:1080px){
#wrap-img-profil {
display: none;
}
#content-about {
width: 100%;
}
#close {
color: #222;
}
}
*/


@media only screen and (max-width:860px){

	*, *:before, *:after {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	html, body {
		overflow-x: hidden;
	}
	#wrapper {
		margin: 0 20px 0 20px;
	}
	#cover {
		width: calc(100vw - 40px);
	}

	h1 {
		font-size: 34px;
		line-height: 42px;
	}
	h2 {
		font-size: 24px;
		color:white;

	}

	h4 {
		font-size: 18px;
		color:black;

	}



	#baseline-logo {
		display: none;
	}
	.intro-phrase {
		width: 100%;
	}
	#available {
		display: none;
	}
	.info-title-project {
		display: none;
	}

	.projects-line {
		flex-direction:column;
		margin-bottom: 0px;
	}
	.projects-line a:nth-child(even) {
		margin-bottom: 80px;
		align-self: flex-end;
	}
	.projects-line a:nth-child(odd) {
		margin-bottom: 80px;
		align-self: flex-start;
	}

	.case-portrait {
		width: 58%;
	}
	.case-landscape {
		width: 80%;
	}
	.case-square {
		width: 65%;
	}


	/*	PROJECTS*/

	.intro {
		margin-top: 80px;
		width: 100%;
	}
	.infos-project
	{
		margin-top: 15px;
		margin-bottom: 60px;
		display: flex;
		flex-direction: column;
		justify-content: flex-start
	}
	.bloc-text-info {
		padding-top: 5px;
		padding-bottom: 15px;
	}
	#video-overlays {
		height: 100%;
	}

	.module-2x, .module-2x-video {
		display: flex;
		flex-direction: column;
		flex-direction: column;
	}
	.module-1x:last-child, .square:last-child {
		margin-left: 0;
	}
	.module-1x {
		width: 100%;
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.square {
		width: 100%;
		margin-bottom: 2px;
		padding-top: 0px;
		padding-bottom: 0px;
	}
	.square:last-child {
		margin-bottom: 0px;
	}
	.square img{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.module-color-transparent:first-child {
		padding-bottom: 30px;
	}
	.module-color-transparent:last-child {
		padding-top: 20px;
	}
	.module-video {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.showcase-video {
		width: 80%;
	}
	.showcase-screen-video {
		width:80%;
		margin: 50px 0 50px 0;
		border-radius: 1px;
		box-shadow: 0 2px 15px 2px rgba(0, 0, 0, 0.56);  
	}
	.showcase-mobile {
		transform: scale(0.85715);
		-webkit-transform-origin:left top;
		transform-origin:left top;	
	}
	.bloc-mobile {
		width:  240px;
		height: 506px;
	}
	.showcase-tablet {
		transform: scale(0.6);
		-webkit-transform-origin:left top;
		transform-origin:left top;	
	}
	.bloc-tablet {
		width:300px;
		height: 408px;
	}
	.img-specs {
		max-width: 100%;
	}
	.wrap-specs{
		margin: 0 25px 0 25px;
	}
	.module-webpage {
		padding: 60px 7% 60px 7%;
	}
	.module-quad {
		padding: 60px 7% 60px 7%;
	}
	.module-webpage-double {
		background-color: rgba(0, 0, 0, 0.04);
		margin-top: 2px;
		padding: 60px 25px 0 25px;
	}
	.module-webpage-app {
		background-color: rgba(0, 0, 0, 0.04);
		margin-top: 2px;
		padding: 40px 15px 40px 15px;
	}
	/*
	.line-info-details h4:last-child {
	margin-left: 5px;
}
	.line-info-details .headings-margin10 {
	margin-left:0;
}
	*/
	.module-color-transparent:first-child {
		padding-top: 60px;
		padding-bottom: 0;
	}
	/*
	.module-color-transparent:last-child {
	padding-top: 40px;
	padding-bottom: 60px;
}
	*/
	.module-next-project {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.module-next-project_white_bg {
		padding-top: 60px;
		padding-bottom: 60px;
		flex-direction: column;
	}
	.module-next-project_white_bg span:first-child {
		align-self: flex-start;
	}
	.module-next-project_white_bg span:last-child {
		align-self: flex-start;
		margin-top: 50px;
	}

	.module-footer {
		padding-top: 60px;
		padding-bottom: 60px;
		flex-direction: column;
	}
	.module-footer-project {
		padding-top: 60px;
		padding-bottom: 60px;
		flex-direction: column;
	}
	.wrap-links-footer {
		margin-top: 30px;
		flex-direction: column;
	}
	.wrap-links-footer a {
		margin-bottom: 10px;
	}

	#link-go-top {
		align-self: flex-end;
		position: absolute;
	}
	.hide-mobile {
		display: none;
	}
	.hide-desktop {
		display: block;
	}
	#content-about {
		width: 100%;
		margin-bottom: 12vh;
	}

	.list-expertise {
		width: 100%;
		flex-direction: column;	
	}
	.list-expertise:last-child {
		margin-top: 60px;
	}

	.list-content-about {
		margin-top: 60px;
	}
	.list-content-about_2 {
		margin-top: 60px;
		flex-direction: column;
		justify-content: space-between;
	}

	.expertise_3 {
		width: 100%;
	}
	#softwares-for-mobile {
		margin-top: 7vh;
		display: block;
	}
	#title-about {
		width: 100%; 
		max-width: none; 
	}
	#title-about h1 {
		font-size: 28px;
		line-height: 40px;
	}
	#title-about svg {
		transform: scale(0.75);
		margin-bottom: -7px;
		margin-right: 5px;
	}
	.wrap-links-about {
		flex-direction: column;
		align-items: flex-start;
	}

	#wrap-img-profil {
		display: none;
	}
	#content-about {
		width: 100%;
	}
	#close {
		color: #222;
	}

}

@media only screen and (min-width:860px) and (max-width:1180px){
	.showcase-mobile {
		transform: scale(0.85715);
		-webkit-transform-origin:left top;
		transform-origin:left top;	
	}
	.bloc-mobile {
		width:  240px;
		height: 506px;
	}
	.showcase-tablet {
		transform: scale(0.7);
		-webkit-transform-origin:left top;	
		transform-origin:left top;
	}
	.bloc-tablet {
		width:350px;
		height: 476px;
	}
}



