/* Styles go here */
@font-face {
  	font-family: avenir;
	src: url("avenir/AvenirNextLTPro-Regular.otf") format("opentype"); 
	font-weight: 500;
}

@font-face {
  font-family: Font01;
  src: url(typ/001.otf);
}

@font-face {
  font-family: Font02;
  src: url(typ/002.otf);
}

@font-face {
  font-family: Font03;
  src: url(typ/003.otf);
}

body {
	background-color: white;
	color: rgb(255, 255, 255);
	font-family: "Font03";
	font-weight: 500;
	line-height: 113%;
	font-size: 3rem;
	margin: 0;
	font-variant-numeric: oldstyle-nums stacked-fractions;
	letter-spacing: 0.03em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

input {
	display: block;
	float: none;
	max-width: 400px;
	width: 85vw;
	background: none;
	margin: 15px 0;
	padding: 8px;
}

.mobilebr {
	display: none;
}

input, .button {	
	font-family: Lato;
	line-height: 0;
	font-size: 15px;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 3px;
}

input[type=text] {
  background-color: none;
  color: white;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: white;
  opacity: 0.5; /* Firefox */
}

input:focus {
  background-color: rgba(19,19,19,1.00);
  border: 2px solid rgba(19,19,19,1.00); 
}

textarea:focus, input:focus{
    outline: none;
}

.button {
	margin-top: 20px;
	text-align: center;
	letter-spacing: 0;
	padding: 14px 16px 16px 16px;
	line-height: 1px;
	font-size: 14px;
	border: 1.5px solid #fff;
	width: 100px;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: 0.5s all;
}

.button:hover {
	background: white;
}
a:hover .button {
	color: #1100C4;
}

.login {
	font-weight: 600;
	color: white;
	cursor: pointer;
	z-index: 100;
	font-family: Lato;
	font-size: 14px;
	line-height: 3rem;
	height: 2.5rem;
	position: fixed;
	right: 2rem;
	top: 0;
	letter-spacing: 0.02em;
	font-weight: 700;
}

/* Hide scrollbar for Chrome, Safari and Opera */
body::-webkit-scrollbar, .container::-webkit-scrollbar, .scroll-element::-webkit-scrollbar, #canv::-webkit-scrollbar   {
    display: none;
    height: 0;
    width: 0;
}

/* Hide scrollbar for IE, Edge and Firefox */
body, .container, .scroll-element, #canv {
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
}

strong, h1, h2 {
	line-height: 1;
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-family: "Font01";
	font-weight: 500;
	display: inline-block;
	
}

#canv {
	position: fixed;
	top: 0;
	left: 0;
	overflow-x: hidden;
}

.copyright {
	line-height: 130%;
	width: 100vw;
	z-index: 100;
	position: fixed;
	bottom: 0;
	color: #1100C4;
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	-moz-osx-font-smoothing: auto;
	overflow-x: hidden;
}

footer {
	padding: 7px 1rem 15px 10vw;
	overflow-x: hidden;
}

.primo {
	opacity: 0;
	animation: appear 0.5s forwards;
}

.secondo {
	opacity: 0;
	animation: appear 0.5s forwards;
	animation-delay: 1s;
}

.terzo {
}

.scroll-element{
	position: absolute;
	top: 0;
	display: none;
	padding: 0;
}

.h-2000{
    /* height: 12Rem; */
    padding-bottom: 100vh;
    margin-top: 50vh;
}

#block-01 {
	width: 100%;
	height: 100%;
	display:block;
}

.active {
	display:block;
}

.text, .logo {
	padding-bottom: 1em;
	margin-left: 10vw;
	position: relative;
	top: 50vh;
	transition: 0.5s all;
}

.logo img {
	position: relative;
	height: 50px;
	margin-left: -7.5rem;
	margin-top: -2rem;
}

#block-01 {
	width: 100%;
	z-index: 1;
}

#block-02 {
	background: rgb(230, 230, 230);
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#block-05 {
	background: #1100C4;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#block-03 {
	top: 4em;
	width: 100%;
	z-index: 6;
}

#block-04 {
	top: 13.5em;
	width: 100%;
	z-index: 5;
}

video {
	mix-blend-mode: darken;
	object-fit: cover;
	height: 100vh;
	width: 100vw;
	filter: opacity(0.2);
}


li {
	list-style: none;
}

a {
  position: relative;
  text-decoration: underline;
  text-decoration-color: white;
  text-underline-offset: 10px;
  text-decoration-thickness: 2px;
  display: inline-block;
  transition: color ease 0.3s;
  color: white;
  
}
a:hover {
	/* text-decoration: underline; */
	opacity: 1;
	text-decoration-color: white;
}
.date-text {
	position: absolute;
	display: inline-block;
	opacity: 0;
	transition: opacity 0.4s ease-out;
}
.date:hover .date-text {
	opacity: 1;
	transition: opacity 0.4s ease-out;
	transition-delay: 0.4s;
}
.date:hover .arc {
	opacity: 0;
	transition: opacity 0.4s ease-out;
}

.date .arc {
	transition: opacity 0.4s ease-out;
	transition-delay: 0.4s;
}

.date {
	display: inline-block;
}

#block-05 a {
  position: relative;
}

#block-05 a:after, .login a:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: white;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

#block-05 a:hover:after, .login a:hover:after  {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.logo {
	margin-left: 10vw;
	z-index: 100;
}

.logo {
	font-family: 'Font03';
	letter-spacing: 0.03em;
}

.text {
	width: 90vw;
	z-index: 100;
}

@keyframes appear {
	from   {opacity: 0;}
	to  {opacity: 1;}
}

.smallcaps {
	font-variant: small-caps;
	letter-spacing: 0.07em;
}

.cover {
	position: fixed;
	top: 0;
	left: 0;
	height: 90%;
	width: 100%;
	-webkit-filter: blur(50px);
  	-moz-filter: blur(50px);
  	-o-filter: blur(50px);
  	-ms-filter: blur(50px);
  	filter: blur(50px);
	background-color: rgb(242,235,230);	
	margin-top: -50px;
}

@media only screen and (max-width: 2000px) {
	body {
		font-size: 3rem;
	}
}

@media only screen and (max-width: 1600px) {
	body {
		font-size: 2.7rem;
	}
	.logo img {
		position: relative;
		height: 40px;
		margin-left: -5.5rem;
		margin-top: -2rem;
	}
}

@media only screen and (max-width: 1100px) {
	body {
		font-size: 2.5rem;
	}
	.logo img {
		position: relative;
		height: 35px;
		margin-left: 0;
		margin-top: -2rem;
	}
}

@media only screen and (max-width: 900px) {
	body {
		font-size: 2.2rem;
	}
	.logo img {
		position: relative;
		height: 32px;
		margin-left: 0rem;
		margin-top: -2rem;
	}
}

@media only screen and (max-width: 600px) {
	body {
		font-size: 1.8rem; 
		}
	.logo, .text {
		margin-left: 1.5rem;
	}
	footer {
		padding: 7px 1.5rem 30px 1.5rem;		
	}
	br {
		display: none;
	}
	.mobilebr {
	display: block;
	}
	.logo img {
		position: relative;
		height: 28px;
		margin-left: 0rem;
		margin-top: -2rem;
	}
	.copyright {
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	-moz-osx-font-smoothing: auto;
	overflow-x: hidden;
	}
	.date-text {
	display: none;
}
	.date:hover .date-text {
	display: none;
	}
	.date:hover .arc {
	opacity: 1;
	}

	.date .arc {
	opacity: 1;
	}
}
	
@media only screen and (max-width: 380px) {
	footer {
		padding: 7px 1.5rem 30px 1.5rem;		
	}
}

@media only screen and (max-height: 500px) {
	body {
		font-size: 1.2rem; 
	}
}

@media 
(-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) { 

}
	
@media screen and (orientation:portrait) {
	.logo, .text {
		top: 40vh;
	}	
	.h-2000{
		
	}
	footer {
		padding: 7px 1.5rem 25px 1.5rem;
	}
	.copyright {
		text-align: center;
	}
	.h-2000{
    height: 16rem;
    margin-top: 35vh;
    padding-bottom: 80vh;
  }

}