/***
 * F5 - Content Management System
 * 
 * Copyright © 2025
 * Reload - Laboratorio Multimediale
 * (http://www.reloadlab.it - info@reloadlab.it)
 * 
 * authors: Domenico Gigante (domenico.gigante@reloadlab.it) and Alessio Attanasio (alessio.attanasio@reloadlab.it)
 ***/

@charset "utf-8";
/* CSS Document */

@keyframes pulse-active {
	
0%, 100% {
	box-shadow: 0 6px 20px rgba(var(--color-shadow-primary), 0.5);
}
50% {
	box-shadow: 0 6px 25px rgba(var(--color-shadow-primary), 0.7);
}
}
/* Animazione per l'apparizione dello sticky header */
@keyframes slideDownSticky {
	
from {
	transform: translateY(-100%);
	opacity: 0;
}
to {
	transform: translateY(0);
	opacity: 1;
}
}
@keyframes spin {
	
to {
	transform: translate(-50%, -50%) rotate(360deg);
}
}
/* Animazione fade-in per domande che appaiono */
@keyframes fadeInSlideDown {
	
from {
	opacity: 0;
	transform: translateY(-20px);
	max-height: 0;
}
to {
	opacity: 1;
	transform: translateY(0);
	max-height: 125rem; /* Valore abbastanza alto per contenere qualsiasi domanda */
}
}
/* Animazione fade-out per domande che scompaiono */
@keyframes fadeOutSlideUp {
	
from {
	opacity: 1;
	transform: translateY(0);
	max-height: 125rem;
}
to {
	opacity: 0;
	transform: translateY(-20px);
	max-height: 0;
}
}
@keyframes highlightAppear {
	
0% {
	box-shadow: 0 0 0 0 rgba(var(--color-shadow-primary), 0.4);
}
50% {
	box-shadow: 0 0 20px 5px rgba(var(--color-shadow-primary), 0.2);
}
100% {
	box-shadow: 0 0 0 0 rgba(var(--color-shadow-primary), 0);
}
}
@keyframes slideDown {

from {
	opacity: 0;
	transform: translateY(-10px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
@keyframes dropdownSlideDown {

from {
	opacity: 0;
	transform: translateY(-10px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
@keyframes badgeFadeIn {

from {
	opacity: 0;
	transform: translateY(-5px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
/* Animazione quando il valore cambia */
@keyframes valueChange {

0% {
	transform: scale(1);
}
50% {
	transform: scale(1.15);
}
100% {
	transform: scale(1);
}
}
/* Animazione per l'errore */
@keyframes shake {

0%, 100% {
	transform: translateX(0);
}
25% {
	transform: translateX(-5px);
}
75% {
	transform: translateX(5px);
}
}
@keyframes fadeInTranslate {

from {
	opacity: 0;
	transform: translateY(-10px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
@keyframes modalFadeIn {

from {
	opacity: 0;
	transform: scale(0.95);
}
to {
	opacity: 1;
	transform: scale(1);
}
}
@keyframes fadeIn {

from {
	opacity: 0;
}
to {
	opacity: 1;
}
}
@keyframes slideUp {

from {
	transform: translateY(20px);
	opacity: 0;
}
to {
	transform: translateY(0);
	opacity: 1;
}
}
@keyframes slideIn {

from {
	opacity: 0;
	transform: translateY(10px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
@media (max-width: 48rem) { 

@keyframes fadeInSlideDown {

from {
	opacity: 0;
	transform: translateY(-10px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
@keyframes fadeOutSlideUp {

from {
	opacity: 1;
	transform: translateY(0);
}
to {
	opacity: 0;
	transform: translateY(-10px);
}
}
}
/* Animazione al click */
@keyframes bar-select {

0% { 
	transform: scale(1); 
}
50% { 
	transform: scale(1.08); 
}
100% { 
	transform: scale(1.05); 
}
}
@keyframes slideInDown {

from {
	opacity: 0;
	transform: translateY(-20px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
@keyframes slideOutUp {

from {
	opacity: 1;
	transform: translateY(0);
}
to {
	opacity: 0;
	transform: translateY(-20px);
}
}
@keyframes slideDownPrivacy {

from {
	opacity: 0;
	transform: translateY(-10px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
/* Animazione pulse per l'icona */
@keyframes errorPulse {

0%, 100% {
	transform: scale(1);
	opacity: 1;
}
50% {
	transform: scale(1.05);
	opacity: 0.9;
}
}
@keyframes slideUpError {

from {
	opacity: 0;
	transform: translateY(30px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
