/* Animazione Blinking */
@keyframes blink {  
    0% { color: white; }
    100% { color: yellow; }
  }
  @-webkit-keyframes blink {
    0% { color: blink; }
    100% { color: yellow; }
  }

.blink {
    -webkit-animation: blink 3s linear infinite;
    -moz-animation: blink 3s linear infinite;
    animation: blink 3s linear infinite;
}

/* Animazione highlight */
@keyframes highlight {  
    0% { background-color: yellow; }
    100% { background-color: white; }
}
@-webkit-keyframes highlight {
    0% { background-color: yellow; }
    100% { background-color: white; }
}
.highlight {
    -webkit-animation: highlight 1s linear;
    -moz-animation: highlight 1s linear;
    animation: highlight 1s linear;
}

/* Animation delay */

.delay-2d {  -webkit-animation-delay: 0.2s !important; -moz-animation-delay:0.2s !important; animation-delay: 0.2s !important; }
.delay-3d {  -webkit-animation-delay: 0.3s !important; -moz-animation-delay:0.3s !important; animation-delay: 0.3s !important; }
.delay-4d {  -webkit-animation-delay: 0.4s !important; -moz-animation-delay:0.4s !important; animation-delay: 0.4s !important; }
.delay-5d {  -webkit-animation-delay: 0.5s !important; -moz-animation-delay:0.5s !important; animation-delay: 0.5s !important; }
.delay-6d {  -webkit-animation-delay: 0.6s !important; -moz-animation-delay:0.6s !important; animation-delay: 0.6s !important; }
.delay-7d {  -webkit-animation-delay: 0.7s !important; -moz-animation-delay:0.7s !important; animation-delay: 0.7s !important; }
.delay-8d {  -webkit-animation-delay: 0.8s !important; -moz-animation-delay:0.8s !important; animation-delay: 0.8s !important; }
.delay-9d {  -webkit-animation-delay: 0.9s !important; -moz-animation-delay:0.9s !important; animation-delay: 0.9s !important; }
.delay-1s {  -webkit-animation-delay: 1s !important; -moz-animation-delay:1s !important; animation-delay: 1s !important; }
.delay-2s {  -webkit-animation-delay: 2s !important; -moz-animation-delay:2s !important; animation-delay: 2s !important; }

.font-50-p { font-size: 50%; }
.font-80-p { font-size: 80%; }
.font-85-p { font-size: 85%; }
.font-90-p { font-size: 90%; }
.font-95-p { font-size: 95%; }
.font-100-p { font-size: 100%; }

/* Animazione fade-in a cascata */
.fade-in-cascade {
    opacity: 0;
    -webkit-animation: fade-in-cascade 0.6s ease-in-out forwards;
    -moz-animation: fade-in-cascade 0.6s ease-in-out forwards;
    animation: fade-in-cascade 0.6s ease-in-out forwards;
}

@-webkit-keyframes fade-in-cascade {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fade-in-cascade {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Classi di delay per effetto a cascata */
.cascade-delay-1 { animation-delay: 0.1s; }
.cascade-delay-2 { animation-delay: 0.2s; }
.cascade-delay-3 { animation-delay: 0.3s; }
.cascade-delay-4 { animation-delay: 0.4s; }
.cascade-delay-5 { animation-delay: 0.5s; }
.cascade-delay-6 { animation-delay: 0.6s; }
.cascade-delay-7 { animation-delay: 0.7s; }
.cascade-delay-8 { animation-delay: 0.8s; }
.cascade-delay-9 { animation-delay: 0.9s; }
.cascade-delay-10 { animation-delay: 1.0s; }

/* Versione più veloce per elementi che devono apparire rapidamente */
.fade-in-fast {
    opacity: 0;
    -webkit-animation: fade-in-fast 0.3s ease-in-out forwards;
    -moz-animation: fade-in-fast 0.3s ease-in-out forwards;
    animation: fade-in-fast 0.3s ease-in-out forwards;
}

@-webkit-keyframes fade-in-fast {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fade-in-fast {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


.text-justify {
    text-align: justify;
}

.border-radius-4 { border-radius: 4px; }