html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

/* ==========================================================================
   NUOVA CLASSE PER IL BANNER DI TESTATA (Aggiunta per LA_Informatica.png)
   ========================================================================== */
.testata-grande {
    background-image: url('/img/Banner_01.jpg');
    background-size: contain; /* Forza l'immagine a mostrarsi interamente */
    background-position: center; /* La centra nello spazio disponibile */
    background-repeat: no-repeat;
    width: 100%;
    /* DEFINISCE LE PROPORZIONI (Rapporto Larghezza / Altezza)
       In questo modo l'altezza si adatta matematicamente su PC e Smartphone.
       Se noti che avanza dello spazio vuoto sopra/sotto, possiamo regolare 
       questo rapporto (es. 16/4 o 16/3) in base alla forma esatta del file. */
    aspect-ratio: 16 / 4;
}

/* ==========================================================================
   ANIMAZIONI DI TRANSIZIONE
   ========================================================================== */

/* Definizione dell'effetto: parte trasparente e pių in basso di 20px, arriva a posto e opaco */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Questa č la classe che applicheremo agli elementi che vogliamo animare */
.animazione-entrata {
    animation: fadeUp 0.6s ease-out forwards;
}

/* Definizione dell'effetto: parte trasparente e spostata in alto di 30px */
@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Giustifica il testo degli articoli e gestisce la sillabazione automatica */
.item-articolo {
    text-align: justify;
    text-justify: inter-word;
}

/* Classe da applicare alla testata */
.animazione-testata {
    animation: fadeDown 0.8s ease-out forwards;
}