@font-face {
  font-family: "Milligram Bold";
  src: url('font/Milligram-Bold.ttf');
}
@font-face {
  font-family: "Milligram Text";
  src: url('font/Milligram-Text-Regular.ttf');
}

@font-face {
  font-family: "Milligram Text Bold";
  src: url('font/Milligram-Text-Bold.otf');
}



/* body {
  margin: 0;
  padding: 0;
  cursor: none;
  overflow-x: hidden;
  mix-blend-mode: difference;
  /* cursor: url('cursor/cursor.png'), auto; 

  
} */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  cursor: none;
}
html {
  height: 100%;
}
body {
  min-height: 100%;
  overflow-x: hidden;
  background-color: white;
  color: white;
}


 canvas {
  display: block;
  cursor: none;
} 


#belowCanvas{
  display: none;
  top:201%;
  color: black;
  /* background-color: white; */
  /* mix-blend-mode: difference; */
 
 
}

h1{
  margin-top:0;
}


#container:hover + .custom-cursor{
 opacity: 0;
}


a {
  color: white;
}
 
p a {
  color: white;
  mix-blend-mode: difference;
  text-decoration: underline;
  }
 

website-link{
  display: flex;
  position: relative;
  font-family: "Milligram Text";
  /* width: 25%; */
  padding-top: 4vh;
  margin-bottom: 4vh;
  right: 0%;
  color: white;
  justify-content: center;
}



.block {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 80vh;
  min-height: 300px;
}

.spacer12vh{
  height: 12vh;
}

.spacer8vh{
  height: 8vh;
}

.spacer2vh{
  height: 2vh;
}

#buttonContainer {
  text-align: center;
  /* margini a 2vw
  width: 98vw;
  margin: 4vh 0.6vw 8vh 0.6vw; */
  width: 86vw;
  margin: 4vh 6.6vw 8vh 6.6vw;
}

.button-places {
  font-family: "Milligram Bold";
  font-size: 1.2vw;
  /*MARGINI A 2VW
  width: 22.1vw; */
  width: 19.1vw;
  height: 8vh;
  line-height: 7.2vh;
  margin: 0% 1vw;
  display: inline-table;
  border: 3px solid black;
  border-radius: 50px;
  background-color: black;
  color: white;
  text-align: center;
}



.button-places:hover {
 border: 3px solid black;
 background-color: white;
 color: black;
 position: relative;
}

.button-places.clicked {
  border: 3px solid black;
  background-color: white;
  color: black;
  position: relative;
 }

 .buttonSpan {
 /* border: 2px solid red; */
 display: inline-block;
 vertical-align: middle;
 line-height: normal;
}

.bold-text {
  font-family: "Milligram Text Bold";
}


.footer-desktop {
  display: flex;
  width: 100vw;
  height: fit-content;
  padding: 4vh 16vw 8vh 16vw;
  background-color: black;
  /* margin-left: auto;
  margin-right: auto; */
  overflow-x: hidden;
  
 }
 
 .website-container {
  font-family: "Milligram Text";
  display: flex;
  flex-direction: column;
  width: 100%; /* Each container takes up half the width of the footer */
  position: relative;
  color: white;
  /* margin-right: 2vw; /* Centers the containers within the footer 
  margin-left: 2vw; */
  /* background-color: aqua; */
 }

 .section{
  font-family: "Milligram Bold";
 }
 .credits{
  padding-right: 6vw;
  /* background-color: aquamarine; */
 }
 /* .website {
  font-family: "Milligram Text";
  display: flex;
 }
 .social {
  font-family: "Milligram Text";
  display: flex;
 }

 .poli {
  font-family: "Milligram Text";
  display: flex;
  flex-direction: column;
 } */

 .poli img {
  width: 100%; /* Makes the image responsive */
  padding-top: 2vh;
  /* background-color: aqua; */
 }

 
 /* Add this to make the .website divs on the same line and evenly spaced */
 .website-spacer {
  position: relative;
  display: flex;
  width: auto;
  height: fit-content;
  text-align: left;
 }
/*    
 .website-spacer > div {
  position: relative;
  width: fit-content;
 }
  */
 /* Additional CSS for the text container to make it fit the entire width */
  .text-container {
  width: fit-content;
  text-align: left; /* Centers the text horizontally */
 }
 
.footer-text{
  margin-top: 2vh;
}

#credits{
  display: none;
}



/* DESKTOP */
@media (min-width: 744px) {
  .text{
    font-family: "Milligram Text";
    font-size: 1.2rem;
    width: auto;
    padding: 3vh 0 0vh 0;
    margin-left: 16vw;
    margin-right: 16vw;
    text-align: left;
  }

  .sottotitoli{
    font-family: "Milligram Text Bold";
    font-size: 1.2rem;
    width: auto;
    margin-top: 2vh;
    margin-left: 16vw;
    margin-right: 16vw;
    text-align: left;
  }

  .titoli{
    position: relative;
    /* left: 50%;  */
    margin-left: 16vw;
    margin-right: 16vw;
    width: auto;
    font-family: "Milligram Bold";
    font-size: 3rem;
    text-align: left;
    /* margin-top: 5vw;  */
  }


  .partnerLogos{
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-left: 6.1vw;
    margin-right: 7vw;
    margin-top: 2vh;
    height: 20vh;
    width: auto;
    mix-blend-mode: difference;
    align-items: center;
  }

  .partnerLogos img{
    height: 100%;
    width: auto;
    mix-blend-mode: difference;
  }

  /* #buttonContainer {
    display: flex; 
    justify-content: space-between; 
    margin-left: 2vw; 
    margin-right: 2vw; 
   }
   
   .button-places {
    font-family: "Milligram Bold";
    font-size: 1.2rem;
    width: 20vw;
    height: 8vh;
    line-height: 7.2vh;
    margin: auto; 
    display: inline-table;
    border: 3px solid black;
    border-radius: 50px;
    background-color: black;
    color: white;
    text-align: center;
   } */

  .custom-cursor {
    position: fixed;
    opacity: 0;
    pointer-events: none;
    mix-blend-mode: difference;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background-color: white;
    transition: transform 350ms ease;
    transform: translate(-50%, -50%) scale(.3);
    z-index: 1000;
  }
  
  .custom-cursor--link {
    transform: translate(-50%, -50%) scale(.7);
  }

  /* .footer-mobile{
    display: none;
  } */
  


}

/* MOBILE */
@media (max-width: 743px) {

  html{
    cursor: none;
  }
  .text{
    font-family: "Milligram Text";
    font-size: 1rem;
    /* padding: 3vh 16.6vw 0vh 16.6vw; */
    /* width: 90%;
    margin: auto; */
    width: auto;
    margin-left: 4vw;
    margin-right: 4vw;
    padding-top: 2vh;
    text-align:left;
  }

  .titoli{
    position: relative;
    /* margin: auto;
    width: 50%; */
    margin-left: 3vw;
    margin-right: 3vw;
    width: auto;
    font-family: "Milligram Bold";
    font-size: 7vw;
    text-align: left;
    /* margin-top: 5vw;  */
  }

  .sottotitoli{
    font-family: "Milligram Text Bold";
    font-size: 1rem;
    width: auto;
    margin-top: 2vh;
    margin-left: 4vw;
    margin-right: 4vw;
    text-align: left;
  }

  .titoletti{
    position: relative;
    /* left: 50%;  */
    margin-left: 4vw;
    margin-right: 4vw;
    /* width: 100%; */
    font-family: "Milligram Bold";
    /* font-size: 2rem; */
    text-align: left;
    /* border: 2px solid red; */
    margin-top: 2vh;
    box-sizing: border-box; /* This makes the width include the padding */
    width: auto;
    font-size: 1.5rem;
    border-radius: 4vw;
    display: flex;
    align-items: center; /* Aligns items vertically in the center */
    justify-content: flex-start; /* Aligns items horizontally to the start */
  }

  .partnerLogos{
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-left: 4vw;
    margin-right: 4vw;
    margin-top: 2vh;
    height: 10vh;
    width: auto;
    mix-blend-mode: difference;
    align-items: center;
  }

  .partnerLogos img{
    height: 90%;
    width: auto;
    mix-blend-mode: difference;
  }

 .button-places {
    font-family: "Milligram Bold";
    font-size: 3.6vw;
    width: 44vw;
    height: 8vh;
    line-height: 7.2vh;
    margin: 1vw 1.5vw;
    display: inline-table;
  }

 .button-places:hover {
  border: 3px solid black;
  border-radius: 50px;
  background-color: black;
  color: white;
 }


 
 .spacer12vh{
  height: 8vh;
}
 #buttonContainer {
  width: 96vw;
  margin: 2vh 2vw 4vh 2vw;
 }

 .spacer12vh {
    height: 8vh;
  }

 .spacer8vh {
    height: 4vh;
  }

.footer-desktop {
   flex-direction: column;
   justify-content: space-around;
   height: auto;
   width: auto;
   
   padding: 4vw;
   padding-bottom: 8vh;
   background-color: black;
 }
 .poli img{
  width:100%;
 }

 .website-container{
  padding:2vh 0;
  
 }
 .website-spacer{
  padding: 0;
 }

 /* .footer-mobile {
  font-family: "Milligram Text";
  display: flex;
  flex-wrap: wrap; /* Allows items to wrap onto new lines 
  color: white;
  background-color: black;
  height: fit-content;
  width: 100vw;
  margin:4vh 0;
  overflow-x: hidden;
  
 } */
 
 /* #column-50l {
  padding-top: 4vh;
  width: 46%;
  margin-left: 4vw;

 }
 
 #column-50r {
  padding-top: 4vh;
  width: 46%;
  text-align: right; /* Aligns text to the right */
 /* display: none;
 }

 #column-50l-2 {
  padding-top: 4vh;
  width: 40%;
  margin-left: 4vw;
 }
 
 #column-50r-2 {
  padding-top: 4vh;
  width: 52%;
  text-align: right; /* Aligns text to the right 
 }
 
 #column-50l > div{
  margin-top: 2vh;
 }
 #column-50r > div{
  margin-top: 2vh;
 }
 #column-50l-2 > div{
  margin-top: 2vh;
 }
 #column-50r-2 > div{
  margin-top: 2vh;
 } */


 
 .container {
  display: flex;
  width: 100vw;
  margin-top:4vh;
  margin-left: 4vw;
  margin-right: auto;
  /* justify-content: center; */
  text-align: center;
 }

 .footer-mobile img{
  width: 80%;
  /* text-align: center; */
  margin-top: 2vh;
  margin-left: 4vw;
  margin-right: auto;
 }
 
 .break {
  flex-basis: 100%;
  height: 0;
 }

}


.partnerLogos img{
  height: 100%;
  width: auto;
  mix-blend-mode: difference;
}

.subthemes {
  width: 50%;
  margin: auto;
  position: relative;
}

.centered {
  text-align: center;
}

.subthemes{
  width: 100%;
  text-align: center;
  margin-top: 5vh;
}

.subthemes img{
  width: auto;
  max-width: 80vw;
  margin: auto;
  
}


#polimi {
  position: absolute;
  right: 2%;
  top: 2%;
  mix-blend-mode: difference;
  z-index: 10;
  height: fit-content;
  width: fit-content;
}

#polimi img {
  width: 20VW;
  height: auto;

}


