/* -------------------------------- 

Primary style

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

html {
  font-size: 62.5%;
}

body {
  font-size: 16px;
  font-family: "GeogrotesqueCond-Lt", sans-serif;
  color: #5b5b5b;
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow:hidden;
}

a {
  color: #5b5b5b;
  text-decoration: none;
}

.sidebar-left p {
	text-align:center;
	line-height:1.4;	
	margin-bottom: 10px;
}

/* -------------------------------- 

Sidebar 

-------------------------------- */

.sidebar-left {
	width: 30%;
	height: 100vh;
	background-color: #f3f3f3;
	position:absolute;
	top:0;
	left:0;
	z-index:1000;
	padding: 10px;
	overflow:auto;
	margin:0;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	display: -webkit-flex;
	display: -ms-flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	        flex-direction: column;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	-ms-flex-line-pack: justify;
	    align-content: space-between;
	-webkit-align-content: space-between;
	-ms-align-content: space-between;
}

.bloc {
	
}

.logo {
	position:relative;
	width:90px;
	height:176px;
	margin:25px auto;
	padding-bottom:25px;
}

.logo::before {
	content:"";
	position:absolute;
	width:25px;
	height:1px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background-color:#EC5A96;
	left:50%;
	bottom:0;
	-webkit-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	-o-transform: translate(-50%,0);
	transform: translate(-50%,0);
}

.intro {
	text-align: center;
	position:relative;
	margin: 0 auto;
	width:80%;
}

.contact {
	width: 80%;
	background:#ffffff;
	position:relative;
	display:block;
	padding:15px 25px 15px 20px;
	margin:auto;
	font-size:20px;
	text-align:center;
	cursor:pointer;
}

.contact p {
	margin:0 !important;
}

.contact-us {
	font-family:"FeltThat", serif;
	color:#EC5A96;
	font-size:37px;
	line-height:30px !important;
}

.warp-infos {
	position:relative;
	margin:15px auto;
	overflow:hidden;
	width:80%;
}

.new_site {
	color:#EC5A96;
	overflow:hidden;
	position:relative;
	margin:auto;
	text-align:center;
}

.newsletter {
	text-align:center;
	overflow:hidden;
	position:relative;
	margin:auto;
}

.newsletter form {
	border-bottom:solid 1px #aeaeae;
	width:100%;
	margin:auto;
	overflow:hidden;
	position:relative;
}

.newsletter input {
	border:none;
	box-shadow:none;
	border-radius:0;
	background:none;
	padding:5px 10px;
	font-family: "GeogrotesqueCond-Lt", sans-serif;
	width:80%;
	float: left;
	font-size:14px;
}

.newsletter button {
	border:none;
	box-shadow:none;
	border-radius:0;
	background:none;
	padding:5px 10px;
	cursor:pointer;
	font-family: "GeogrotesqueCond-Lt", sans-serif;
	width:20%;
	float:right;
	font-size:14px;
	transition: all 0.3s;
}

.newsletter button:hover {
	color:#EC5A96;
}

.sociaux {
	position:relative;
	text-align:center;
	margin: 20px 0 10px 0;
	overflow:hidden;
}

.facebook, .linkedin {
	width:33px;
	height:39px;
	display: inline-block;
}

.facebook {
	margin-right: 8px;
}

.facebook-icon, .linkedin-icon {
	transition: all 0.3s linear;
}

.facebook:hover .facebook-icon, .linkedin:hover .linkedin-icon {
	fill: #EC5A96; 
}

.infos {
	position:relative;
	overflow:hidden;
}

.infos a {
	display: block;
}

.container {
	position:absolute;
	width: 100%;
	height:100%;
	left:50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	top:0;
	overflow:hidden;
	z-index:1;
	-webkit-box-shadow: 0px 6px 0px -14px rgba(0,0,0,0.6);
	-moz-box-shadow: 0px 6px 0px -14px rgba(0,0,0,0.6);
	box-shadow: 0px 6px 0px -14px rgba(0,0,0,0.7);
	transition: all 0.5s ease-out;
}

.container.open {
	width:92%;
	top:-70%;
	-webkit-box-shadow: 0px 6px 60px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 6px 60px 0px rgba(0,0,0,0.3);
	box-shadow: 0px 6px 60px 0px rgba(0,0,0,0.3);
}

.container.open:hover {
	top:-68%;
	width:94%;
	transition: all 0.5s ease-out;
}

.contact-overlay {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background-color: rgba(255, 255, 255, 0);
	z-index:-100;
	opacity:0;
	transition: all 0.3s linear;
}

.container.open .contact-overlay {
	opacity:1;
	cursor:pointer;
	z-index:10000;
}

.contact-block {
	position:absolute;
	width:100%;
	height:65%;
	z-index:-1;
	bottom:20px;
	padding:20px 4%;
	left:0;
	color:#333;
	opacity:0;
	overflow:auto;
	transition: all 0.5s ease-out;
}

.contact-block.open {
	opacity:1;
	bottom:0;
	z-index:0;
}

.contact-block a {
	color:#333333;
}

.case-text {
	padding: 40px 50px;
	color:#ffffff;
	width:600px;
	position:relative;
	height:100vh;
	opacity:0;
	margin-left:100px;
	transition:opacity 0s ease-in;
	z-index:18;
}

.active-revslide .case-text {
	margin-left:0;
	z-index:20px;
	
	animation-name: case-text;
    animation-duration: 6s;
	animation-iteration-count: 1;
	animation-delay: 0.3s;
	-webkit-animation-name: case-text;
    -webkit-animation-duration: 6s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-delay: 0.3s;
	-moz-animation-name: case-text;
    -moz-animation-duration: 6s;
	-moz-animation-iteration-count: 1;
	-moz-animation-delay: 0.3s;
}

@keyframes case-text {
	0%   { opacity:1; }
    99% { opacity:1; }
	100% { opacity:0 }
}

@keyframes case-text-elements {
	0%   { opacity:0; margin-left:20px; width:620px; }
    10%  { opacity:1; margin-left:0; width:600px; }
    90%  { opacity:1; margin-left:0; width:600px; }
    100% { opacity:0; margin-left:20px; width:620px; }
}

@keyframes case-text-bar {
	0%   { opacity:0; margin-left:20px; }
    10%  { opacity:1; margin-left:0; }
    90%  { opacity:1; margin-left:0; }
    100% { opacity:0; margin-left:20px; }
}

@-webkit-keyframes case-text {
	0%   { opacity:1; }
    99% { opacity:1; }
	100% { opacity:0 }
}

@-webkit-keyframes case-text-elements {
	0%   { opacity:0; margin-left:20px; width:620px; }
    10%  { opacity:1; margin-left:0; width:600px; }
    90%  { opacity:1; margin-left:0; width:600px; }
    100% { opacity:0; margin-left:20px; width:620px; }
}

@-webkit-keyframes case-text-bar {
	0%   { opacity:0; margin-left:20px; }
    10%  { opacity:1; margin-left:0; }
    90%  { opacity:1; margin-left:0; }
    100% { opacity:0; margin-left:20px; }
}

@-moz-keyframes case-text {
	0%   { opacity:1; }
    99% { opacity:1; }
	100% { opacity:0 }
}

@-moz-keyframes case-text-elements {
	0%   { opacity:0; margin-left:20px; width:620px; }
    10%  { opacity:1; margin-left:0; width:600px; }
    90%  { opacity:1; margin-left:0; width:600px; }
    100% { opacity:0; margin-left:20px; width:620px; }
}

@-moz-keyframes case-text-bar {
	0%   { opacity:0; margin-left:20px; }
    10%  { opacity:1; margin-left:0; }
    90%  { opacity:1; margin-left:0; }
    100% { opacity:0; margin-left:20px; }
}

.case-text h2 {
	text-align: left;
	font-size:46px;
	margin-bottom: 10px;
	opacity:0;
}

.active-revslide .case-text h2 {
	animation-name: case-text-elements;
    animation-duration: 6s;
	animation-iteration-count: 1;
	animation-delay: 0.3s;
	-webkit-animation-name: case-text-elements;
    -webkit-animation-duration: 6s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-delay: 0.3s;
	-moz-animation-name: case-text-elements;
    -moz-animation-duration: 6s;
	-moz-animation-iteration-count: 1;
	-moz-animation-delay: 0.3s;
}

.case-text p {
	font-size: 22px;
	display:block;
	position:relative;	
}

.case-text p.text-intro-case {
	padding-bottom:18px;
	margin-bottom:18px;
	opacity:0;
}

.active-revslide .case-text p.text-intro-case {
	animation-name: case-text-elements;
    animation-duration: 5.8s;
	animation-iteration-count: 1;
	animation-delay: 0.4s;
	-webkit-animation-name: case-text-elements;
    -webkit-animation-duration: 5.8s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-delay: 0.4s;
	-moz-animation-name: case-text-elements;
    -moz-animation-duration: 5.8s;
	-moz-animation-iteration-count: 1;
	-moz-animation-delay: 0.4s;
}


.case-text p.text-intro-case::before {
	content:"";
	position:absolute;
	width:25px;
	height:1px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background-color:#EC5A96;
	left:0;
	bottom:0;
	opacity:0;
}

.active-revslide .case-text p.text-intro-case::before {
	animation-name: case-text-bar;
    animation-duration: 5.6s;
	animation-iteration-count: 1;
	animation-delay: 0.5s;
	-webkit-animation-name: case-text-bar;
    -webkit-animation-duration: 5.6s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-delay: 0.5s;
	-moz-animation-name: case-text-bar;
    -moz-animation-duration: 5.6s;
	-moz-animation-iteration-count: 1;
	-moz-animation-delay: 0.5s;
}


.case-text .competence {
	margin-bottom: 18px;
	opacity:0;
}

.active-revslide .case-text .competence {
	animation-name: case-text-elements;
    animation-duration: 5.4s;
	animation-iteration-count: 1;
	animation-delay: 0.6s;
	-webkit-animation-name: case-text-elements;
    -webkit-animation-duration: 5.4s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-delay: 0.6s;
	-moz-animation-name: case-text-elements;
    -moz-animation-duration: 5.4s;
	-moz-animation-iteration-count: 1;
	-moz-animation-delay: 0.6s;
}

.case-text .case-link {
	color:#EC5A96;
	font-weight:600;
	text-transform: uppercase;
	font-size:22px;
	opacity:0;
}

.active-revslide .case-text .case-link {
	animation-name: case-text-elements;
    animation-duration: 5.2s;
	animation-iteration-count: 1;
	animation-delay: 0.7s;
	-webkit-animation-name: case-text-elements;
    -webkit-animation-duration: 5.2s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-delay: 0.7s;
	-moz-animation-name: case-text-elements;
    -moz-animation-duration: 5.2s;
	-moz-animation-iteration-count: 1;
	-moz-animation-delay: 0.7s;
}

.gradient {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:15;
	background-image: 
  -webkit-linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 60%);
  background-image: 
  -moz-linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 60%);
  background-image: 
  -o-linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 60%);
  background-image: 
  linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 60%);
}

/* -------------------------------- 

Responsive

-------------------------------- */

.rotate-device {
	z-index:-20;
	display:none;
	width:0;
	height:0;
	opacity:0;
	position:absolute;
	top:0;
	left:0;
}

@media only screen and (orientation: portrait) and (max-device-width: 767px) and (-webkit-min-device-pixel-ratio: 1) {
	.rotate-device {
		width:100%;
		height:100%;
		top:0;
		left:0;
		z-index:20000;
		background-color:#ffffff;
		position:absolute;
		display:flex;
		display: -webkit-flex;
		align-items: center;
		opacity:1;
	}
	
	.rotate-device .content {
		width:auto;
		height:auto;
		margin:auto;
		text-align:center;
	}
	
	.rotate-device .content .title {
		margin-top:20px;
		font-size: 18px;
	}
	
	.rotate-device .content .icon {
		position: relative;
		margin:auto;
		width:50px;
		height:auto;
		animation-name: smartphone;
		animation-duration: 4s;
		animation-iteration-count: 3;
		animation-direction: alternate;
		animation-delay: 1s;
		animation-iteration-count: infinite;
		-webkit-animation-name: smartphone;
		-webkit-animation-duration: 2s;
		-webkit-animation-direction: alternate;
		-webkit-animation-delay: 1s;
		-webkit-animation-iteration-count: infinite;
	}
	
	@keyframes smartphone {
		from { transform: rotate(0deg); }
		to { transform: rotate(90deg);}
	}
	
	@-webkit-keyframes smartphone {
		from { -webkit-transform: rotate(0deg); /* Chrome, Safari, Opera */ }
		to { -webkit-transform: rotate(90deg); /* Chrome, Safari, Opera */ }
	}
}

@media only screen and (orientation: landscape) and (max-device-width: 767px) and (-webkit-min-device-pixel-ratio: 1) {
	.case-text {
		width:auto;
		padding: 25px 20px;
	}
	
	@keyframes case-text-elements {
		0%   { opacity:0; margin-left:20px; width:auto; }
		10%  { opacity:1; margin-left:0; width:auto; }
		90%  { opacity:1; margin-left:0; width:auto; }
		100% { opacity:0; margin-left:20px; width:auto; }
	}
	
	@-webkit-keyframes case-text-elements {
		0%   { opacity:0; margin-left:20px; width:auto; }
		10%  { opacity:1; margin-left:0; width:auto; }
		90%  { opacity:1; margin-left:0; width:auto; }
		100% { opacity:0; margin-left:20px; width:auto; }
	}
	
	@-moz-keyframes case-text-elements {
		0%   { opacity:0; margin-left:20px; width:auto; }
		10%  { opacity:1; margin-left:0; width:auto; }
		90%  { opacity:1; margin-left:0; width:auto; }
		100% { opacity:0; margin-left:20px; width:auto; }
	}
	
	.case-text h2 {
		font-size:30px;
	}
	
	.case-text p {
		font-size: 18px;
	}
	
	.case-text .case-link {
		font-size:18px;
	}
	
	.gradient {
	  background-image: 
	  -webkit-linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
	  background-image: 
	  -moz-linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
	  background-image: 
	  -o-linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
	  background-image: 
	  linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
	}
	
	.logo {
		width:60px;
		height:117px;
		margin:15px auto;
		padding-bottom:15px;
	}
	
	.contact > p:first-child {
		font-size:20px;
		line-height:20px;
		margin-bottom:10px !important;
	}
	
	.contact-us {
		font-size:28px;
		line-height:23px !important;
	}
	
}

@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .sidebar-left {
		  display:block !important;
	  }
	  
	  .infos {
     	  margin-bottom:40px;
	  }
	  
	  .case-text h2 {
		font-size:40px;
	}
	
	.case-text p {
		font-size: 20px;
	}
	
	.case-text .case-link {
		font-size:20px;
	}
}

@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .infos {
     	  margin-bottom:40px;
	  }
	  
	  .case-text {
		width:auto;
		padding: 35px 25px;
	}
	
	@keyframes case-text-elements {
		0%   { opacity:0; margin-left:20px; width:auto; }
		10%  { opacity:1; margin-left:0; width:auto; }
		90%  { opacity:1; margin-left:0; width:auto; }
		100% { opacity:0; margin-left:20px; width:auto; }
	}
	
	@-webkit-keyframes case-text-elements {
		0%   { opacity:0; margin-left:20px; width:auto; }
		10%  { opacity:1; margin-left:0; width:auto; }
		90%  { opacity:1; margin-left:0; width:auto; }
		100% { opacity:0; margin-left:20px; width:auto; }
	}
	
	@-moz-keyframes case-text-elements {
		0%   { opacity:0; margin-left:20px; width:auto; }
		10%  { opacity:1; margin-left:0; width:auto; }
		90%  { opacity:1; margin-left:0; width:auto; }
		100% { opacity:0; margin-left:20px; width:auto; }
	}
	
	.case-text h2 {
		font-size:40px;
	}
	
	.case-text p {
		font-size: 20px;
	}
	
	.case-text .case-link {
		font-size:20px;
	}
	
}

@media only screen 
  and (max-height: 740px) {
	  .sidebar-left {
		  display: block !important;
	  }
}