/* font */
@font-face {
  font-family: 'Brand';
  src: url('../fonts/Brand.ttf')
}



/* @import url('https://fonts.googleapis.com/css2?family=IM+Fell+DW+Pica&display=swap'); */
/* font-family: 'IM Fell DW Pica', serif; */
/* font-family: 'Lancelot', serif; */
/* font-family: 'Patua One', serif;  */
/* font-family: 'Libre Franklin', sans-serif; */
/* font-family: 'Orbitron', sans-serif; */
html {
  scroll-behavior: smooth;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style: none;
}

body {
  background-color: #15181E;
  color: #F2E8CF;
  font-family: helvetica;
}

div.videoBox {
  width: 100%;
  height: 700px;
  background-color: #15181E;
  position: fixed;
}

.videoBox video {
  height: auto;
  width: 100%;
  /* position: fixed; */
  /* top: 0;
  left: 0 */
}

.scrollSection {
  height: 700px;
  text-align: center;
  margin: auto;
}

.head {
  text-align: center;
  font-family: Brand;
}

/* 1. prima pagina */
.bigtitle {
  /* background-color: #fff; */
  margin-top: 270px;
  height: 300px;
}

/* .earth {
  background-color: cadetblue;
} */

.earth img {
  scale: 2;
  position: relative;
  top: 300px;
}


h1 {
  flex-shrink: 0;
  font-size: 200px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 300px */
  letter-spacing: -4.6px;

}

/* 2. seconda pagina */

.firstTitle {
  font-family: Brand;
}

.future {
  position: fixed;
  top: 160px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 75.794px;
  font-style: normal;
  font-weight: 400;
  /* 113.691px */
  letter-spacing: -1.743px;
  opacity: 0;
}


.everyThing {
  position: fixed;
  top: 250px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 37.897px;
  font-style: normal;
  font-weight: 400;
  /* 56.845px */
  letter-spacing: -0.872px;
  opacity: 0;
}

.text-slider {
  font-family: helvetica;
  opacity: 0;
  cursor: pointer;
  display: block;
  position: fixed;
  top: 500px;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  text-align: center;
  font-size: 20px;
  /* background-color: #fff; */
  height: 300px;
  width: 700px;
  line-height: 300px;
  font-weight: 100;
  /* border: 2px solid #F2E8CF; */
  /* border-radius: 20px; */

}

.text-slider span {
  /* background-color: #fff; */
  position: absolute;
  top: 50%;
  left: 50%;
  line-height: normal;
  display: inline-block;
  width: 500px;
  transform: translate(-50%, -50%);
  transition: all .2s;
}

.svgContainer {
  position: fixed;
  top: 500px;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all .2s;
}

.svgContainer svg text,
circle,
path {
  transition: all .2s;

}

.svgContainer text {
  font-family: helvetica;
}

.svgContainer .name {
  font-size: 9px;
}

.svgContainer .years {
  /* font-family: Brand; */
  font-size: 25px;
}

.timelineTitle {
  position: fixed;
  top: 160px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 75.794px;
  font-style: normal;
  font-weight: 400;
  font-family: 'Brand';
  /* 113.691px */
  letter-spacing: -1.743px;
  opacity: 0;
}

.nuvolaTitle {
  padding: 100px;
}

.nuvolaTitle h3 {
  margin-top: 200px;
  font-size: 75.794px;
  font-style: normal;
  font-weight: 400;
  font-family: 'Brand';
  /* 113.691px */
  letter-spacing: -1.743px;
}

.nuvolaTitle p {
  margin-top: 50px;
  font-size: 20px;
  font-weight: 100;
}

div.nuvola {
  position: relative;
  height: 1800px;
  width: 100%;
}

div.nuvola img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  /* 添加淡入淡出效果 */

}

.part2title {
  width: 100%;
  /* position: fixed; */
  /* top: 300px; */
  /* left: 50%; */
  /* transform: translate(-50%, -50%); */
  text-align: center;
  opacity: 0;
  transition: all .2s;
}

.part2title h3 {
  margin-top: 200px;
  font-size: 75.794px;
  font-style: normal;
  font-weight: 400;
  font-family: 'Brand';
  /* 113.691px */
  letter-spacing: -1.743px;
}

.part2title p {
  /* position: fixed;
  top: 200px;
  left: 50%;
  transform: translate(-50%, -50%); */
  display: inline-block;
  height: auto;
  margin-top: 50px;
  font-size: 20px;
  font-weight: 100;
}

div.part2 {
  width: 100%;
  height: 100vh;
  /* background-color: #fff; */
  /* background-image: url(../img/Part2x/sfondo@2x.webp); */
  position: fixed;
  top: 0;
  left: 0;
  /* opacity: 0; */
  transition: all 1s;
}

div.part2 .webp {
  width: 100%;
  opacity: 0;
  transition: all 1s;

}

p.timeLine-Spiega {
  position: fixed;
  left: 50%;
  top: 800px;
  transform: translate(-50%, -50%);
  font-size: 20px;
  font-weight: 100;
  opacity: 0;
  transition: all .2s;
}

img.polimi-logo {
  /* margin-top: 20px; */
  width: 150px;
  height: 150px;
  color: #F2E8CF;
}

.finalPage p {
  font-size: 20px;
  font-weight: 100;
  margin-top: 50px;
}

#nuvolaButton {
  position: fixed;
  display: inline-block;
  background-color: #15181E;
  transform: translate(-50%, -50%);
  border: none;
  top: 750px;
  left: 150px;
  font-family: helvetica;
  font-weight: 100;
  color: #F2E8CF;
  cursor: pointer;
  transition: all .3s;
  opacity: 0;
}

button p {
  display: inline-block;
  font-size: 30px;
  text-decoration: underline;
  line-height: 40px;
}

button span {
  display: inline-block;
  margin-top: -10px;
  font-size: 20px;
  text-decoration: none;
}

/* ------------------------------------------ */
.visible {
  opacity: 1 !important;
  transition: all 1s;
  /* 添加透明度的过渡效果 */
}

/* Mobile Warning */
.mobile-warning {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #15181E;
  z-index: 10000;
  justify-content: center;
  align-items: center;
}

.mobile-warning-content {
  text-align: center;
  padding: 40px;
  color: #F2E8CF;
}

.mobile-warning-content h1 {
  font-family: 'Brand', serif;
  font-size: 48px;
  margin-bottom: 30px;
  letter-spacing: -1.5px;
}

.mobile-warning-content p {
  font-size: 20px;
  line-height: 1.6;
  margin: 15px 0;
}

.mobile-warning-sub {
  font-size: 16px;
  opacity: 0.7;
  margin-top: 20px;
}

.desktop-content {
  display: block;
}

@media screen and (max-width: 1024px) {
  .mobile-warning {
    display: flex;
  }

  .desktop-content {
    display: none;
  }
}