.black {
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
	background: var(--darker);
	opacity: 0;
    transition: all .5s cubic-bezier(.215, .61, .355, 1) .5s;
}

.visibile.black {
    opacity: .9;
    pointer-events: all;
    transition: all .5s cubic-bezier(.215, .61, .355, 1);
}

.menu_container {
	position: fixed;
	top: 0;
	right: -110%;
	height: 100vh;
	z-index: 101;
    transition: all .5s cubic-bezier(.215, .61, .355, 1) .5s;
}

.menu_container.visibile {
    right: 0%;
    transition: all .5s cubic-bezier(.215, .61, .355, 1) .3s;
}

.linea_uno, .linea_due {
    height: 100%;
  width: 8px;
  background-color: var(--light);
  top: 0;
  left: 100%;
  position: absolute;
  transform: translate(0%, 0%) rotate(0.001deg);
  will-change: transform;
}

.linea_uno {
    transition: 1.2s cubic-bezier(0.6, 0, 0.10, 1), width 0s linear, height 0s linear;
}

.linea_due {
    transition: 1.1s cubic-bezier(0.6, 0, 0.10, 1), width 0s linear, height 0s linear;
}

.visibile .linea_uno {
    left: 0%;
    transform: translate(-400%, 0%) rotate(0.001deg);
    transition: 1s cubic-bezier(0.54, 0, 0.06, 1), width 0s linear, height 0s linear;
}

.visibile .linea_due {
    left: 0%;
    transform: translate(-200%, 0%) rotate(0.001deg);
    transition: 1.1s cubic-bezier(0.6, 0, 0.10, 1), width 0s linear, height 0s linear;
}

.blocco_menu_content {
	display: flex;
	flex-direction: column;
	height: 100%;
    justify-content: space-between;
    transform: translateX(100%);
	background-color: var(--light);
    transition: 1s cubic-bezier(0.6, 0, 0.10, 1), width 0s linear, height 0s linear;
}

.visibile .blocco_menu_content {
    transform: translateX(0);
    transition: 1.2s cubic-bezier(0.6, 0, 0.10, 1), width 0s linear, height 0s linear;
}

.blocco_up_menu {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 8vw 10vw 0;
	gap: 10vw;
}

.blocco_up_menu li {
	margin: 0;
}

.blocco_up_menu .main a {
	font-size: 2.75vw;
	font-weight: 200;
    line-height: 1.5;
    position: relative;
}

.blocco_up_menu .main a:hover, .blocco_up_menu .submain a:hover {text-decoration: none;}

.blocco_up_menu .main a::after, .blocco_up_menu .submain a::after {
	content: "";
	position: absolute;
	bottom: 5px;
	left: 3px;
	width: 0%;
	background-color: var(--darker);
	height: 5px;
    transition: .75s cubic-bezier(0.6, 0, 0.10, 1);
}

.blocco_up_menu .submain a::after {
    bottom: 0;
    left: 0;
}

.blocco_up_menu .main a:hover::after, .blocco_up_menu .submain a:hover::after {
	width: 130%;
}

.submain a {
	font-size: 1.5vw;
	font-weight: 300;
	line-height: 1.75;
    position: relative;
}

.blocco_down_menu {
	display: flex;
	gap: 10vw;
	padding: 0 10vw 2.5vw;
	align-items: center;
	justify-content: space-between;
}

.address_language {
	padding: 0 0 0 4px;
	width: 50%;
}

.address_language p {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.75;
}

.language {
	margin: 20px 0 0;
	padding: 20px 0 0;
	list-style: none;
	display: flex;
	align-items: center;
	text-transform: uppercase;
	border-top: 1px solid var(--mid);
}

.language li {
	margin: 0 10px 0 0;
}

.submain .language a {
	font-size: 16px;
	font-weight: 500;
	opacity: .5;
}

.submain .language a:hover {
	opacity: 1;
}

.submain .language li.current a{
	font-weight: 900;
	opacity: 1;
}

.close_menu {
	position: absolute;
	width: 32px;
	top: 1.5vw;
	right: 1.5vw;
	z-index: 3;
	cursor: pointer;
}