@font-face {
	font-family: 'NeutraTextBook';
	src: url('fonts/NeutraTextBook.eot');
	src: url('fonts/NeutraTextBook.eot') format('embedded-opentype'),
		 url('fonts/NeutraTextBook.woff2') format('woff2'),
		 url('fonts/NeutraTextBook.woff') format('woff'),
		 url('fonts/NeutraTextBook.ttf') format('truetype'),
		 url('fonts/NeutraTextBook.svg#NeutraTextBook') format('svg');
}
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */

.hamburger_container {
	position: fixed;
	top: 5vw;
	right: 10%;
	z-index: 10000;
}

.hamburger {
  padding: 0px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
	opacity: 0.7; }
  .hamburger.is-active:hover {
	opacity: 0.7; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
	background-color: #000; }

.hamburger-box {
  width: 27px;
  height: 24px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 27px;
	height: 3px;
	background-color: #33453E;
	border-radius: 0px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block; }
  .hamburger-inner::before {
	top: -8px; }
  .hamburger-inner::after {
	bottom: -8px; }


/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
	top: 10px;
	transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic .hamburger-inner::after {
	top: 20px;
	transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
	background: #fff;
  transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.15s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
	transition-delay: 0s;
	opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
	  background: #fff;
	transform: translate3d(0, -20px, 0) rotate(-270deg);
	transition-delay: 0.15s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
	transition: background-color 0.125s 0.175s ease-in; }
	.hamburger--emphatic .hamburger-inner::before {
	  left: 0;
	  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
	.hamburger--emphatic .hamburger-inner::after {
	  top: 10px;
	  right: 0;
	  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic.is-active .hamburger-inner {
	transition-delay: 0s;
	transition-timing-function: ease-out;
	background-color: transparent !important; }
	.hamburger--emphatic.is-active .hamburger-inner::before {
	  left: -80px;
	  top: -80px;
	  transform: translate3d(80px, 80px, 0) rotate(45deg);
	  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
	.hamburger--emphatic.is-active .hamburger-inner::after {
	  right: -80px;
	  top: -80px;
	  transform: translate3d(-80px, 80px, 0) rotate(-45deg);
	  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
/*
   * Minus
   */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }

.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }

.hamburger--minus.is-active .hamburger-inner::before {
  top: 0; }

.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0; }


/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
	background: #fff;
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
	  background: #fff;
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }


/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
	transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
	transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
	background: #fff;
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
	  background: #fff;
	top: 0;
	opacity: 0;
	background: #fff;
	transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
	  background: #fff;
	bottom: 0;
	background: #fff;
	transform: rotate(-90deg);
	transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

.popover {
	  display: none; }
	
	.popover:target {
	  position: fixed;
	  right: 0;
	  top: 0;
	  width: 100%;
	  height: 100vh;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  z-index: 100; }
	
	.popover .content {
	  font-family: 'bi-architectes-light';
	  display: flex;
	  flex-direction: column;
	  align-items: center;
	  justify-content: center;
	  position: relative;
	  width: 100%;
	  height: 100vh;
	  color: #fff;
	  opacity: 0;
	  background-color: rgba(51, 69, 62, 1);
	  animation: 0.5s fadeIn ease forwards;
	  text-align: left; }
	
	.popover .content a {
		color: #fff;
	}
	
	.nav {
		display: flex;
		flex-direction: row;
		align-content: center;
		
		width: 100%;
	}
	
	.logo_img_part {
		width: 42%;
		height: 100vh;
		background: url('img/left_menu_img.png');
		background-size: cover;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.menu_infos_part {
		width: 58%;
		display: flex;
		align-items: center;
	}
	
	.inner_part {
		padding-left: 10vw;
		transform: translateY(81px);
		transform-origin: top left;
	}
	
	.logo_mobile {
		display: none;
	}
	
	.nav_list {
	  list-style-type: none;
	  padding: 0px 0px 70px 0px;
	  margin: 0px;
	  text-align: left;
	  display: flex;
	  flex-direction: column;
	   }
	
	.nav_list a {
	  text-decoration: none;
	  font-size: 30px;
	  color: #fff;
	  font-family: 'bi-architectes-light';
	}
	
	.nav_list_item {
	  height: 100%;
	  overflow: hidden;
	  text-align: left;
	  float: left;
	  clear: both; }
	
	.nav_list li {

	  transform: translateY(200px);
	  opacity: 0;
	  animation: 0.7s slideUp ease forwards 0.5s;
	  position: relative; }
	
	.popover .content a:hover {
		color: #E0D8D0;
		transition: all 0.5s ease; 	
	}
	
	.mailto {
		text-decoration: underline;
	}
	
	/*
	.nav_list li::before {
	  content: '';
	  position: absolute;
	  height: 2px;
	  width: 0px;
	  left: 0;
	  bottom: 10px;
	  background: rgba(51, 69, 62, 1);
	  transition: all 0.5s ease; 
  	}
	
	.nav_list li:hover:before {
	  width: 100%; 
  	}
	*/
	
	.secondary_nav {
		padding: 20px 0 0 0;
		margin: 0;
	}
	
	.secondary_nav {
		list-style-type: none !important;
		display: flex;
		flex-direction: row;
		justify-content: space-around;
	}
	
	.secondary_nav li {
		padding: 0px 5px;
	}
	
	.secondary_nav li::after {
		content: "-";
		padding-left: 10px;
		color: #707070;
		font-size: 12px;
		text-transform: uppercase;
		font-family: 'NeutraTextBook';
	}
	
	.secondary_nav li:last-child::after {
		content: "" !important:!important;
		display: none;
	}
	
	.secondary_nav li a {
		color: #707070;
		font-size: 12px;
		text-transform: uppercase;
		font-family: 'NeutraTextBook';
	}
	
	.secondary_nav li a:hover {
		color: #fff;
		-webkit-transition: color 600ms linear;
		-moz-transition: color 600ms linear;
		-ms-transition: color 600ms linear;
		-o-transition: color 600ms linear;
		transition: color 600ms linear;
	}
	
	.switcher_menu {
		padding-bottom: 7vh;
	}
	
	.switcher_menu ul {
		margin: 0;
		padding: 0;
	}
	
	.switcher_menu ul li {
		display: inline-flex;
		padding: 2px;
	}
	
	
	.switcher_menu  li:after {
		content: "-";
		color: #707070;
		font-size: 12px;
		text-transform: uppercase;
		font-family: 'NeutraTextBook';
		margin-left: 8px;
	}
	
	.switcher_menu  li:last-of-type:after {
		content: "" !important;
	}
	
	.switcher_menu li > a{
		color: #707070;
		font-size: 12px;
		text-transform: uppercase;
		font-family: 'NeutraTextBook';
	}
	
	.switcher_menu li > a:hover, .switcher_menu li.current-lang > a {
		color: #fff;
		-webkit-transition: color 600ms linear;
		-moz-transition: color 600ms linear;
		-ms-transition: color 600ms linear;
		-o-transition: color 600ms linear;
		transition: color 600ms linear;
	}
	
	.switcher_menu li.current-lang > a {
		text-decoration: underline;
	}
	
	.socials svg {
		margin-top: 20px;
	}
	
	.socials svg {
		margin: 0px 5px 0px 0px;
		cursor: pointer;
	}
	
	.socials a:hover svg {
		transform: scale(1.1);
		-webkit-transition: all 0.5s 0s ease;
		-moz-transition: all 0.5s 0s ease;
		-o-transition: all 0.5s 0s ease;
		transition: all 0.5s 0s ease;
	}
	
	.popover p {
	  opacity: 0;
	  animation: 1s fadeIn ease forwards 1s; }
	
	.popover .close::after {
	  right: 0;
	  top: 0;
	  width: 50px;
	  height: 50px;
	  position: absolute;
	  display: flex;
	  z-index: 1;
	  font-size: 30px;
	  align-items: center;
	  justify-content: center;
	  background-color: transparent;
	  color: #fff;
	  content: "";
	  cursor: pointer;
	  opacity: 0;
	  animation: 1s fadeIn ease forwards 0.5s; }
	
	@keyframes grow {
	  100% {
		height: 100%;
		width: 100%; } }
	
	@keyframes fadeIn {
	  100% {
		opacity: 1; } }
	
	@keyframes slideUp {
	  100% {
		transform: translateY(0);
		opacity: 1; } }
	
	@keyframes scale {
	  50% {
		transform: scale(0.9);
		opacity: 1; }
	  100% {
		transform: scale(0.7);
		opacity: 1; } }
	
/* PROGRESS */
.progress-container {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 3px;
}

.progress-bar {
	height: 3px;
	background: rgba(47, 47, 47, 1);
	width: 0%;
}



@media screen and (max-width: 768px) {
	.hamburger_container {
		  top: 20px;
		  right: 20px;
	  }
	  
	  .switcher_menu {
		  padding-bottom: 40px;
	  }
	  
}

@media screen and (max-width: 619px) {
	
	.nav {
		height: 100vh;
	}
	
	.nav_list {
		padding-top: 70px;
		padding-bottom: 170px;
	}
	
	.inner_part {
		padding: 75px;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		transform: translateY(-81px);
	}
	
	.logo_mobile {
		display: block;
		width: 160px;
		max-width: 100%;
	}
	
	
	.logo_mobile svg {
		max-width: 100%;
	}
	
	.logo_img_part	{
		display: none;
	}
	
	.menu_infos_part {
		width: 100%;
	}
	
	.popover p {
		font-size: 13px;
	}
}



@media screen and (max-width: 321px) {
	
	.nav_list li {
		padding: 20px 0px;
	}
	  
	.switcher_menu {
		padding-bottom: 20px;
	}
	
	
	.secondary_nav {	
		position: fixed;
		bottom: 20px;
		width: 100%;
		left: 0px;
	}
	
	.secondary_nav li a {
		font-size: 10px;
	}
}

