@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 Macro Bold";
  src: url('font/milligram_macro_bold.otf');
}


* {
  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;

}


h1{
  margin-top:0;
}
/* #back{
  position: relative;
  background-color: black;
  color:white;
  text-decoration: none;
  font-size: 2rem;
  width:fit-content;
  margin:2vh 2vw;
  margin-top: 2vh;
  padding: 0 2vh;
  border-radius: 100vh;
} */

#back{
  /* font-family: Arial, Helvetica, sans-serif; */
    position: relative;
    width:fit-content;
    margin:2vh 2vw;
    padding: 0 2vh;
    border-radius: 100vh;
/* mix-blend-mode: normal; */
    background-color: white;
    color:black;
    text-decoration: none;
    /* font-size: 2rem; */
}
a{
  color:white;
  mix-blend-mode: difference;
  text-decoration: none;
}

.footer-desktop a {
  text-decoration: underline;
}

#main-title{
  font-family: "Milligram Macro Bold";
  /* font-size: 13.5vw; */
  font-size: 8rem;
  width: 100vw;
  height: auto;
  color: white;
  mix-blend-mode: difference;
  margin-left: 2vw;
  margin-right: 2vw;
  text-align: center;
  justify-content: center;
}

#main-title a{
  color: white;
}

.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;
}

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

  .titoli{
    position: relative;
    /* left: 50%;  */
    margin: auto;
    margin-top: 2vh;
    /* width: 100%; */
    font-family: "Milligram Bold";
    font-size: 2.7rem;
    text-align: center;
    mix-blend-mode: difference;
    /* border: 2px solid red; */
    /* margin-top: 5vw;  */
  }
  .titoletti{
    position: relative;
    box-sizing: border-box; /* This makes the width include the padding */
    margin-left: 2vw;
    width: fit-content;
    height: fit-content;
    font-family: "Milligram Bold";
    font-size: 2rem;
    text-align: left;
    border-radius: 4vw;
    margin-top: 8vh; 
    padding: .5vw 2vw;
    display: flex;
    align-items: center; /* Aligns items vertically in the center */
    justify-content: flex-start; /* Aligns items horizontally to the start */
  }
  .catalogue.titoletti{
    text-align: center;
    justify-content: center;
    mix-blend-mode: difference;
    color: white;
    margin: auto;
    padding: 0;
  }

  .mattonelle-container{
    display: flex;
    overflow-x: scroll;
    overflow-y: hidden;
    margin-left: 2vw;
    margin-right: 2vw ;
    margin-top: 3vh;
  }
  .single-image-div{
    height: 50vh;
    border: .3vw solid black;
    /* margin-left: 1vw; */
    margin-right: 1vw;
    background-color: white;
    mix-blend-mode: normal;

  }
  .single-image-div img{
    height: 100%;
    width: auto;
  }


  .theme-description{
    font-family: "Milligram Text";
    font-size: 1.2rem;
    color: #000000;
    position: relative;
    margin-top: 2vh;
    margin-bottom: 2vh;
    margin-left: 2vw;
    margin-right: 30vw;
  }

  #selected-image {
    position: fixed;
    display: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 90vh;
    background-color: white;
    border: .3vw solid black;
    mix-blend-mode: normal;
    z-index: 100;
   }
  
  
   #selected-image img{
    height: 100%;
    width: auto;
    margin: auto;
    justify-content: center;
   }
  
   #esc{

    position: absolute;
    display: none;
    top: -0.5%;
    right: -14%;
    width: 7vh;
    height: 7vh;
    /* background-color: white; */
    /* border: 2px solid red; */
    z-index: 100;
    color: black;
   }

   #esc img {
    position: absolute;
    top: 10%;
    right: 10%;
    width: 5.5vh;
    height: 5.5vh;
   }
  
  
   #overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(5px);
    /* background-color: black; */
    z-index: 100; /* Ensure it's below the project-card but above other content */
   }


   #container:hover + .custom-cursor{
    opacity: 0;
   }
   
   
   
   
   
   .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);
   }


 

}

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

  html{
    /* touch-action: manipulation; */
    cursor: none;
  }
  .text{
    font-family: "Milligram Text";
    font-size: 1rem;
    width: auto;
    margin-left: 10vw;
    margin-right: 10vw;
    padding-top: 3vh;
    text-align:left;
  }

  .titoli{
    position: relative;
    margin: auto;
    width: 50%;
    margin: 8vh 10vw 0vh 10vw;
    text-align: center;
    width: auto;
    font-family: "Milligram Bold";
    font-size: 2.7rem;
    mix-blend-mode: difference;
    /* margin-top: 5vw;  */
  }

  .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: 8vh;
    box-sizing: border-box; /* This makes the width include the padding */
    width: fit-content;
    max-width: 92vw;
    height: fit-content;
    font-size: 1.5rem;
    border-radius: 4vw;
    padding: .5vw 2vw;
    display: flex;
    align-items: center; /* Aligns items vertically in the center */
    justify-content: flex-start; /* Aligns items horizontally to the start */
  }

  .catalogue.titoletti{
    text-align: center;
    justify-content: center;
    mix-blend-mode: difference;
    color: white;
    margin: auto;
    width: 100%;
    margin-bottom: 8vh;
    padding: 0;
  }

  .mattonelle-container {
    display: flex;
    overflow-x:scroll;
    overflow-y: hidden;
    margin-top: 3vh;
    scroll-snap-type: x mandatory; /* Enable horizontal snapping */
    /* justify-content: center; */
  }

  .single-image-div {
    height: auto;
    width: 50vw;
    margin-left: 4vw; /* Adjust as needed */
    margin-right: 4vw; /* Adjust as needed */
    scroll-snap-align: start; /* Align to the start of the container */
    background-color: white;
    mix-blend-mode: normal;
  }
  .single-image-div img {
    width: 50vw;
    border: .3vw solid black;
    margin-left: 4vw;
    margin-right: 4vw;
  }  

  .single-image-div:first-child {
    margin-left: 0; /* Remove left margin from the first image */
  }
  
  .single-image-div:last-child {
    margin-right: 0; /* Remove right margin from the last image */
  }

  .theme-description{
    font-family: "Milligram Text";
    font-size: 1rem;
    color: #000000;
    position: relative;
    margin-top: 2vh;
    margin-bottom: 2vh;
    margin-left: 4vw;
    margin-right: 4vw;
  }


  #selected-image {
    display: none;
   }

   #selected-image svg{
      display: none;
   }

}


.centered {
  text-align: center;
}

/* Hide horizontal scrollbar but allow scrolling */
body {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefhttp://127.0.0.1:5503/sketches/images/mattonelle/economy/economic_0.jpgox */
 }
 
 body::-webkit-scrollbar {
  display: none; /* Chrome, Safari, and Opera */
 }

#titoletto-economy{
  background-color: #FFE500;
  color: black;
}

#titoletto-commons{
  background-color: #00BFFC;
}

#titoletto-technology{
  background-color: #6100FF;
  color: white;
}

#titoletto-wellbeing{
  background-color: #C9DB00;
  color: #000000;

}

#titoletto-culture{
  background-color: #FF003D;
  /* mix-blend-mode: difference; */
}

#titoletto-ecology{
  background-color: #17E683;
  color: black;
  /* mix-blend-mode: difference; */
}

#titoletto-politics{
  background-color: #CC00FF;
  /* mix-blend-mode: difference; */
}

#titoletto-food{
  background-color: #FF9900;
  color: black;
  /* mix-blend-mode: difference; */
}
#food.mattonelle-container{
  margin-bottom: 8vh;
}
