.hamburger {
  padding: 15px 15px;
  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: 40px;
  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: 40px;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
    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: -10px; }
  .hamburger-inner::after {
    bottom: -10px; }

    
/*
* Arrow Right
*/
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  

/* STILE */
.rcc-menu--portrait{
	position: fixed; left: 0; top: 0;
	width: 100%; height: 70px; background-color: #FFF;
	box-shadow: 0 0 1px #545454;
	z-index: 10;
	
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

.rcc-menu--portrait img{
	margin: 0;
	height: 32px; width: auto; margin-left: 14px;
	display: block;
}

.rcc-menu--portrait__navigation{
	position: fixed;
	top: 0;
	z-index: 9;
	width: 100%;
	height: 100vh;
	background-color: #FFF;
	transform: translate3d(100%, 0, 0);
	-webkit-transition: -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	transition: -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	
	transition-delay: .4s;
}

.rcc-menu--portrait__navigation.is-active{
	transform: translate3d(0, 0, 0);
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	
	transition-delay: 0s;
}

.rcc-menu--portrait__navigation ul{
	list-style: none; list-style-type: none; margin: 120px 0 0; padding: 0;
	width: 100%;
}

.rcc-menu--portrait__navigation ul li{
	list-style: none; list-style-type: none; width: 100%;
	margin: 10px 0; padding: 0; text-align: center;
	
	transform: translate3d(0, 20px, 0);
	opacity: 0;
	
	-webkit-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	
	transition-delay: 0;
}

.rcc-menu--portrait__navigation.is-active li:nth-child(1){
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: .4s;
}

.rcc-menu--portrait__navigation.is-active li:nth-child(2){
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: .6s;
}

.rcc-menu--portrait__navigation.is-active li:nth-child(3){
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: .8s;
}

.rcc-menu--portrait__navigation.is-active li:nth-child(4){
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: 1s;
}

.rcc-menu--portrait__navigation.is-active li:nth-child(5){
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: 1.2s;
}

.rcc-menu--portrait__navigation ul li a{
	font-family: 'Overpass', sans-serif;
	font-size: 1.25rem;
	font-weight: 500;
	color: #191520;
	text-transform: uppercase;
	text-decoration: none;
	display: inline-block;
	padding: 10px;
}

.rcc-menu--portrait__navigation ul li.is-active a{
	text-decoration: underline;
}

.main-introduction h1.hasSomeMarginTop, .hasSomeMarginTop{
	margin-top: 5rem;
}


@media screen and (max-width: 768px) {
	main.main{
		margin-top: 90px;
	}
	.main-introduction h1.hasSomeMarginTop, .hasSomeMarginTop{
		margin-top: 6.5rem;
	}
}
@media screen and (min-width: 768px) {
	.rcc-menu--portrait, .rcc-menu--portrait__navigation{
		display: none;
	}
	.main-introduction h1.hasSomeMarginTop, .hasSomeMarginTop{
		margin-top: 3.5rem;
	}
	.main--home .main-introduction h1.hasSomeMarginTop, .hasSomeMarginTop{
		margin-top: 1.35rem;
	}
}