
/* Reset */
* {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

li {
    list-style-type: none;
}


/* Tavolozza colore */

:root {
    --phthalo-blue: #00118fff;
    --medium-blue: #0017c5ff;
    --blue: #001dfbff;
    --risd-blue: #334bffff;
    --lavender-web: #ebedffff;
    --white: #ffffff;
}

/* Typography */

h1, h2, h3, h4, h5, h6, p {
    font-family: "Economica", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.res {
    width: 100%;
    transition: all 0.3s;
    display: block;
    width: 100%;
    height: auto;
}

.cont-box {
    max-width: 1600px;
    margin: 0 auto;
}

/* Keyframes */

@keyframes fade-in {
    0% {
      opacity: 0;
      transform: scale(0.5);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
}

/* -------------------------------------------------------------------------------- */
/* ! Menu Navigazione */
/* -------------------------------------------------------------------------------- */

/* Navigazione */

/* Sticky */

.fixed {
    position: sticky;
    top: 0;
    z-index: 1000;
  }
  
  /* Nav Style */

  nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: white; 
    padding: 10px 20px; 
    position: relative; /* Menù e icona siano posizionati correttamente */
  }
  
  /* Stili per Scritta Memofonte */

  .site-nav {
    display: flex;
    align-items: center;
  }
  
  .nome h3 {
    margin: 0;
    font-family: "Economica", sans-serif;
    font-size: 36px;
    color: blue;
  }
  
  /* Menu Style */

  .site-nav__menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  .site-nav__menu li a{
    margin-right: 50px;
    justify-content: space-between;
    color: blue;
    font-family: "Economica", sans-serif;
    font-size: 22px;
  }

/* Se voglio evidenziare una parola con colori diversi uso span in html; 
se invece voglio un a capo brutale uso br, sempre in html */

/* Hero */

.welcome-container {
    position: relative;
    width: 100%;
    height: 100vh; 
    overflow: hidden;
    background-image: url(img/memofonte_macropagina-legg.jpg);
    background-size: cover;
    background-position: center;
  }
 
  /* Testo */

  .hero-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    text-align: center;
    z-index: 10;
    padding: 20px;
    background: blue;
    opacity: 0;
  }

  .hero-text.visible {
    animation: fade-in 2s;
    opacity: 1;
    position: relative; 
    left: auto; 
    transform: none;
    margin: 0 auto;
  }
  
  .hero-text h1 {
    font-size: 3rem;
    margin-bottom: 10px;
  }
  
  .hero-text p {
    font-size: 1.5rem;
  }

/* Sezione Chi Siamo */

#about {
    display: flex; 
    flex-wrap: wrap; /* I div vanno a capo se lo spazio non basta */
    gap: 20px; 
    padding: 70px; /* Aggiunge spazio sopra e sotto la sezione */
}

.left-section, .right-section {
    flex: 1; /* I div occupano lo stesso spazio */
    min-width: 300px; /* sennò i div sono troppo stretti, 
    andrebbe messa in % ma forse ho trovato un escamotag con auto eheh*/
}

/* Thumbs */

/* Image Section */

.welcome_img {
    width: 100%;
    max-width: 600px; /* Larghezza massima immagine */
    margin: 0 auto; /* Centra */
}

.welcome_img img {
    width: 100%; /* Occupa tutto contenitore */
    height: 100%; 
    object-fit: cover; 
}

/* Single Images */

.thumb img {
    width: 100%; /* Adatta al contenitore */
    height: auto; /* Proporzioni dell'immagine */
    object-fit: cover; /* Immagine = contenitore */
}

.thumb {
    display: flex; 
    gap: 10px; 
    margin-top: 20px; 
    padding: 0;                   
}

/* Style dei .li */

.thumb li {
    display: flex;
    align-items: center; 
    justify-content: space-between;
    padding: 8px;
    color: blue;
    cursor: pointer;
}

.thumb li:hover {
    color: white;
    background-color: blue;
}

/* Right Section Text Style */

.right-section h2{
    margin-top: 22px;
    color: blue;
    font-size: 26px;
}

.right-section p{
    margin-top: 22px;
    color: blue;
    font-size: 18px;
}

/* Left Section Text Style */

.h2_about{
    color: blue;
    font-size: 34px;
}

.left-section p{
    margin-top: 9px;
    color: blue;
    font-size: 18px;
}

/* Autori */

#authors {
    background-color: blue;
    padding-top: 35px;
    padding-bottom: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.authors-head {
    color: white;
    align-items: center;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 35px;
}

.authors-head h3{
    font-size: 34px;
    padding-bottom: 8px;
}

.authors-head p{
    font-size: 18px;
}

/* Wrapper del carosello */

.wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
  }
  
  /* Pulsanti del carosello */

  .carousel-button {
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    z-index: 10;
    color: white;
    position: relative;
  }
  
  #prev {
    position: absolute;
    left: 15px;
  }
  
  #next {
    position: absolute;
    right: 15px;
  }
  
  /* Contenitore degli elementi del carosello */

  .carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
  
  /* Ogni item del carosello */

  .carousel-item {
    flex: 1 0 33.33%;
    min-width: 33.33%;
    text-align: center;
    box-sizing: border-box;
    transition: transform 0.5s ease-in-out;
  }
  
/* Immagini */

  .carousel-item img {
    width: 100%;
    height: auto;
  }
  
/* Titoli */
  .carousel-item h2 {
    margin-top: 10px;
    font-size: 22px;
    color: white;
  }
  

/* Riviste (Works) */

#works{
    padding: 70px;
}

.image-container {
    display: flex;
    justify-content: space-between;
    gap: 20px; /* Spazio tra le immagini */
    margin: 0 auto; /* Centratura orizzontale */
}

.image-item {
    flex: 1; /* Spazio uguale */
    display: flex;
    flex-direction: column;
    align-items: center; 
    text-align: center;
    padding: 20px;
}

.image-item img {
    max-width: 45%; 
    height: auto;
}

.headline {
    font-size: 1.5em;
    margin-top: 15px;
    color: blue; 
}

.subhead{
    color: blue;
    font-style: italic;
}

.description {
    font-size: 1em;
    color: blue; 
    margin: 18px 0px;
}

a.button-works{
    font-family: "Economica", sans-serif;
}

.button-works {
    display: inline-block;
    padding: 10px 20px;
    font-size: 16px;
    color: blue;
    background-color: transparent;
    border: 1px solid blue;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.button-works:hover {
    background-color: var(--risd-blue); 
    color: white;
}

/* Footer */

.footer {
    background-color: blue;
    color: #fff;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.footer-column {
    flex: 1;
    min-width: 200px;
    margin: 10px;
    text-align: center;
}

.footer-column h2, .footer-column h3 {
    margin: 0 0 10px 0;
}

.footer-column p, .footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-column ul {
    padding-left: 0;
    font-family: Economica, sans-serif;
}

.footer-column a {
    color: white;
    text-decoration: none;
}

.footer-column a:hover {
    text-decoration: underline;
}

.social-icons {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.social-icons a {
    color: white;
    font-size: 20px;
    text-decoration: none;
}

.social-icons a:hover {
    color: white;
}

/* -------------------------------------------------------------------------------- */
/* ! Responsive Footer */
/* -------------------------------------------------------------------------------- */

@media (max-width: 1199px) and (min-width: 768px) {
  
    .footer-column {
      flex-basis: 45%;
      margin-bottom: 20px;
    }
}

/* -------------------------------------------------------------------------------- */
/* ! Responsive Works per Tablet */
/* -------------------------------------------------------------------------------- */

@media (max-width: 1024px) {
  
  .image-container {
      flex-direction: column; /* Dispone le immagini in colonna */
      align-items: center;
  }

  .image-item {
      max-width: 80%; /* Limita la larghezza su schermi medi */
      margin-bottom: 20px; 
  }

  .image-item img {
      max-width: 60%; /* Ridimensiona le immagini per schermi medi */
  }
}

/* -------------------------------------------------------------------------------- */
/* ! Per Dispositivi Mobili */
/* -------------------------------------------------------------------------------- */

@media (max-width: 767px) {

    /* Menù in versione mobile */

    /* Burger */

    .site-nav__hb {
        display: block; /* Mostra hamburger  */
        position: relative; /* Pulsante sopra il menù */
        z-index: 1001; 
      }
      
    .icon-hamburger {
        cursor: pointer;
      }
      
    .icon-hamburger span {
        display: block;
        width: 25px;
        height: 3px;
        background-color: blue;
        margin: 5px 0;
      }

    /* Menu */

    .site-nav__menu {
      display: none; 
      flex-direction: column;
      position: fixed; /* Fisso sullo schermo */
      top: 0;
      right: 0;
      background-color: white;
      width: 100%;
      height: 100vh; /* Occupare l'intero viewport */
      justify-content: center; 
      align-items: center; 
      text-align: center;
      padding: 0;
      margin: 0;
      overflow-y: auto; 
      z-index: 1000; 
    }
  
    .site-nav__menu.active {
      display: flex; /* Mostra il menù quando è attivo */
    }

    /* Voci Menu */

    .site-nav__menu li a{
        margin: 20px 0;
        color: blue;
        font-family: "Economica", sans-serif;
        font-size: 32px;
    }
    
    /* Disabilita lo scroll */

    body.menu-open {
      overflow: hidden;
    }

    /* Hero */

    .welcome-container {
            height: 70vh; /* Riduce l'altezza sui dispositivi mobili */
        }  
    
    .hero-text h1 {
            font-size: 24px; 
        }
    
    .hero-text p {
            font-size: 18px;
        }

    /* Autori */

    .carousel-item {
        flex: 1 0 50%;
        min-width: 50%;
      }
    
    #prev, #next {
        padding: 12px 16px;
        font-size: 35px;
    }

    /* Riviste */
 
    .image-container {
        flex-direction: column; /*Immagini in colonna */
        align-items: center;
    }

    .image-item {
        max-width: 90%; /* Limita la larghezza */
        margin-bottom: 20px; 
    }

    .image-item img {
        max-width: 70%;
    }       

    /* About */

    #about {
        flex-direction: column; 
    }

    .left-section, .right-section {
        min-width: auto; /* No limite di larghezza messo in numero ai piccoli schermi */
    }

    /* Footer */   

   .footer-column {
    margin-bottom: 20px;
    text-align: center;
    }

    .social-icons {
        justify-content: center;
    }

    .footer-column {
        flex-basis: 100%;
        margin-bottom: 20px;
      }
}
    
  /* -------------------------------------------------------------------------------- */
  /* ! Small */
  /* -------------------------------------------------------------------------------- */

  @media (max-width: 550px) {

    .welcome-container {
        height: 60vh; 
    } 

    .hero-text h1 {
        font-size: 22px; 
    }

    .hero-text p {
        font-size: 18px; 
    }

    /* Autori */

    .carousel-item {
        flex: 1 0 100%;;
        min-width: 100%;
      }

      .carousel-button {
        background: blue;

      }

      #prev, #next{
        margin: 20px;
        font-size: 38px;
      }
    }
    


    


