* {

    margin: 0;

    padding: 0;

    font-family: sans-serif;

    box-sizing: border-box;

}



.navbar{

    background-color: transparent;

    box-shadow: 0 4px 6px rgba(0, 0, 0, 0); /* Ombra sottile */

    transition: background-color 0.3s ease;

}

.nav-link {

    font-size: 20px; /* Aumenta la dimensione del testo */

    color: white;

}

.nav-link:hover{

    font-size: 20px;

}

.nav-link.active {

    font-size: 20px; /* Leggermente più grande per evidenziare il link attivo */

}





/* Quando la navbar è fissa in alto (dopo lo scroll) e quando il menu è espanso */

.navbar.fixed-top{

    background-color: white !important; /* Sfondo bianco */

}

.navbar.fixed-top .nav-link{

    color: #555 !important; /* Colore nero per le voci di menu */

}

.navbar.fixed-top .nav-link.active {

    color: #0085BE !important; /* Colore blu per il link attivo */

    font-weight: bold; /* Grassetto per il link attivo */

    font-size: 18px;

}

.navbar.fixed-top .nav-link:hover {

    color: #0085BE !important; /* Colore blu per il link attivo quando la navbar è fissa */

    border-bottom: 3px solid #C74843;

}



.banner {

    width: 100%;

    height: auto;

    position: relative;

    overflow: hidden;

}



.banner-image {

    width: 100%;

    height: 100%;

    object-fit: cover;

    position: absolute;

    top: 0;

    left: 0;

    z-index: -1;

}









.content {

    width: 100%;

    position: relative;

    color: white;

}



.row {

    display: flex;

    justify-content: space-between; /* Distribuisce le colonne a sinistra e a destra */

    align-items: flex-start; /* Allinea le colonne in alto */

    flex-wrap: wrap;

}



.col {

    box-sizing: border-box; /* Garantisce che padding e margini non alterino la larghezza */

}



.col:first-child {

    flex: 0 0 30%; /* La prima colonna occupa il 30% della larghezza */

    margin-top: 10%; /* Margine dalla parte superiore */

}



.col:last-child {

    flex: 0 0 60%;

    display: flex;

    flex-wrap: wrap; /* Permette di andare a capo se lo spazio non è sufficiente */

    justify-content: space-between; /* Distribuisce le card uniformemente */

    align-items: flex-start; /* Allinea le card in alto */

    gap: 0px;

}















.content h1 {

    font-size: 3.8vw; /* Dimensione grande per evidenziare il titolo */

    font-weight: bold; /* Testo in grassetto */

    text-transform: uppercase; /* Maiuscolo per maggiore impatto */

    color: #C74843; /* Colore scuro per buona leggibilità */

    text-align: center; /* Centrato */

    letter-spacing: 1px; /* Spaziatura tra le lettere */

    position: relative;

    display: inline-block;

    margin-left: -1%;

    padding-left: 2%;

    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);

}



.content p{

    font-size: 18px;

    padding-left: 2%;

    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);

}

.description_responsive {

    text-align: left; /* Allinea il testo a sinistra */

    max-width: 100%; /* Limita la larghezza al 50% */

    font-size: 1.2rem; /* Imposta una dimensione di font adeguata */

    line-height: 1.6; /* Imposta una distanza tra le righe per migliorare la leggibilità */

}



button {

    width: 200px; /* Mantiene la larghezza fissa */

    padding: 15px; /* Imposta il padding generale */

    margin: 20px 5px; /* Aggiunge il margine attorno al bottone */

    text-align: center; /* Allinea il testo al centro */

    border-radius: 0; /* Rende il bottone rettangolare (senza bordi arrotondati) */

    color: white; /* Colore del testo */

    background-color: #c74843; /* Colore di sfondo */

    border: 2px solid #c74843; /* Colore del bordo per abbinare il colore di sfondo */

    font-size: 20px; /* Imposta la dimensione del testo */

    cursor: pointer; /* Cambia il cursore per indicare che è cliccabile */

    font-weight: 600; /* Imposta il peso del font */

}







.card{

    width: 55vh;

    height: 40vh;

    display: inline-block;

    border-radius: 10px;

    padding: 25px 25px;

    box-sizing: border-box;

    cursor: pointer;

    margin: 10px 30px;

    background-position: center;

    background-size: cover;

    transition: transform 0.5s;

}



.card:hover{

    transform: translateY(-10px);

}



h5 {

    color: white;

    text-shadow: 0 0 5px white;

    margin: 0; /* Rimuovi margine per evitare spazi indesiderati */

    text-align: center; /* Centra il testo */

}



.card p {

    text-shadow: 0 0 15px white;

    font-size: 12px;

    text-align: center; /* Centra il testo */

    margin: 5px 0 0 0; /* Aggiungi margine per separare leggermente la descrizione dal titolo */

    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);

}



/* Media query per dispositivi con larghezza massima 1199.98px */

@media (min-width: 768.1px) and (max-width: 1366px) {

    body {

        padding-top: 80px;

        margin: 0; /* Rimuove margini che potrebbero causare problemi */

    }



    .navbar {

        background-color: white; /* Sfondo bianco per la navbar */

    }

    .nav-link {

        color: #555; /* Colore dei link */

    }

    

    .content {

        text-align: center;

        margin-left: 0%;

        padding: 0 10px; /* Aggiungi un padding per evitare che il contenuto tocchi i bordi dello schermo */

    }



    .title{

        position: relative;

        width: 100%;

        height: 90vh; /* Altezza regolabile */

        display: flex;

        flex-direction: column;

        justify-content: center;

        align-items: center;

        text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);

    }



    .title h1 {

        font-size: 5rem; /* Dimensione del titolo */

        font-weight: bold;

        color: #C74843;

    }



    /* Stile del paragrafo nel banner */

    .title p {

        font-size: 1.5rem; /* Dimensione del testo */

        width: 60%; /* Limita la larghezza */

        max-width: 60%;

    }



    button {

        font-size: 1.5rem;

        width: 20vw; /* Mantiene la larghezza fissa */

    }



.gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 15px;   /* Spazio orizzontale tra card */
    row-gap: 10px;      /* Spazio verticale tra righe */
    padding: 10px;
    justify-items: center;
    align-items: start;
    max-width: 100%;
}


    

.card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: white;
    border-radius: 15px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    text-align: center;
    width: 100%;
    height: 420px; /* 🔹 Altezza fissa uguale per tutte le card */
}



    /* Effetto hover per un tocco moderno */

    .card:hover {

        transform: scale(1.03);

        box-shadow: 0px 6px 15px rgba(0, 0, 0, 0.3);

    }

    

/* Immagine con proporzione fissa */
.card img {
    width: 100%;
    height: 60%; /* 🔹 Occupa il 60% della card */
    object-fit: cover; /* Riempie senza deformare */
}

    

/* Contenuto */
.card-content {
    padding: 10px;
    height: 40%; /* 🔹 Il resto dello spazio */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

    .card-content h3 {

        font-size: 1.9rem;

        margin-bottom: 8px;

        color: #C74843;

    }



    .card-content p {

        font-size: 1.3rem;

        color: #555;

        line-height: 1.5;

        text-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8);

    }

}



/* Media query per dispositivi con larghezza massima 768px */

@media (max-width: 768px) {



    .navbar{

        margin-right: -20%;

    }



    .banner-image {
        width: 100%;
        height: 100vh;       /* Occupa tutta l’altezza della schermata */
        object-fit: cover;   /* Riempe lo spazio senza deformare */
        position: absolute;  /* Rimane dietro il contenuto */
        top: 0;
        left: 0;
        z-index: -1;
    }

    .title {
        height: 100vh;       /* La sezione titolo prende tutta la viewport */
        display: flex;
        flex-direction: column;
        justify-content: center; /* Centra verticalmente contenuto */
        align-items: center;     /* Centra orizzontalmente */
        text-align: center;
        padding: 0 10px;
    }



    .title h1 {

        font-size: 2rem;

    }



    .title p {

        font-size: 1.1rem;

        width: 90%;

        max-width: 60%;

        margin-left: 0%;

    }



    button {

        font-size: 1rem;

        width: 40vw; /* Mantiene la larghezza fissa */

    }



   .gallery {
        grid-template-columns: 1fr; /* Una colonna */
        gap: 15px;
        padding: 10px; /* padding interno per evitare overflow */
        box-sizing: border-box;
    }

    .card {
        width: 100%; /* occuperà tutta la colonna */
        margin: 0 auto 15px auto; /* centrata con margine sotto */
        height: auto; /* lascia che l’altezza si adatti */
    }

    .card img {
        width: 80%;          /* Larghezza 70% della card */
        height: auto;        /* Mantiene proporzioni */
        display: block;      /* Rimuove eventuali spazi bianchi */
        margin: 0 auto;      /* Centra l’immagine orizzontalmente */
        object-fit: cover;   /* Mantiene il riempimento senza deformare */
    }

    .card-content {
        padding: 10px;
    }

    



    .card-content h3 {

        font-size: 1.4rem;

    }



    .card-content p {

        font-size: 1rem;

    }

}