/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* VARIE */
html, body {overflow-x: hidden;}
body{background-color: #fff}
.elementor .e-flexbox-base {padding: 0px!important;}

p{margin-bottom: 0px!important;}

.elementor-slideshow__footer {
    display: none !important;
}


.inside-header {
    padding: 40px 100px;
}


@media (min-width: 769px) and (max-width: 990px){

.inside-header {
    padding: 40px 40px;
}

    }

/* SFUMATURA HEADER*/
header, .site-header {
  background: linear-gradient(to bottom, rgba(10, 20, 30, 0.3) 0%, rgba(10, 20, 30, 0) 100%) !important;
}


.main-navigation {
    background-color: transparent;
}

.main-navigation a {
    font-size: 20px;
}


.sticky-enabled .main-navigation.is_stuck {
    background-color: #fff;
}

#sticky-navigation {
	z-index: 9999!important;
}

#sticky-navigation .menu-item a {color:#2387a5 !important;font-size: 16px!important}
#sticky-navigation .menu-item a:hover {color:#2387a5 !important;}

.sticky-navigation-logo img {height: 70px!important;}


.menu-toggle {background-color: transparent!important;padding: 40px 20px 40px 20px!important;border:0px!important;}
.menu-toggle  svg {font-size: 30px!important;}
.menu-toggle:hover{color:#fff!important;}

#sticky-navigation .menu-toggle{color:#000!important; padding: 20px 20px 20px 20px!important;}
#sticky-navigation .menu-toggle:hover{color:#000!important;}


/* Posizionamento relativo del link per ancorare la linea */
li.menu-item > a {
    position: relative;
    text-decoration: none !important;
}

/* Crea la linea nascosta al centro (scaleX 0) */
li.menu-item > a::after {
    content: '';
    position: absolute;
    bottom: 5px; /* Distanza della linea dal testo */
    left: 18%;
    width: 65%;
    height: 3px;
    background-color: #ffffff;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease-in-out;
}

/* Mostra la linea espandendola dal centro per l'elemento attivo e al passaggio del mouse */
li.current-menu-item > a::after,
li.menu-item:hover > a::after {
    transform: scaleX(1);
}


/* Crea la linea nascosta al centro (scaleX 0) */
#sticky-navigation li.menu-item > a::after {background-color: #2387a5 !important;  bottom: 10px!important; /* Distanza della linea dal testo */}


@media (max-width: 768px) {

.inside-header {
    padding: 0px 20px;
}
.header-image{width: 100px!important;}


#sticky-navigation  .navigation-branding {
    margin-left: 20px;
}


}



.slideout-navigation.main-navigation{
    background-color: #2387A5!important;
}


.slideout-navigation button.slideout-exit {
    text-align: center!important;;
}



.slideout-navigation.do-overlay .slideout-exit {
    font-size: 40px!important;
}



/*PULSANTI*/

.elementor-button:hover .elementor-button-icon {
	transform: translate(7px, 0px);
	transition: all 0.3s ease-in-out;
	}
.elementor-button .elementor-button-icon {
	transform: translate(0px, 0px);
	transition: all 0.3s ease-in-out;
	
}


.elementor-button{padding: 20px 30px!important;}

/*.elementor-widget-button .elementor-button {background-color: transparent!important;}*/
.elementor-button-icon {padding-left: 10px;}

/* Cambia colore al path (colore icona) */
.elementor-button-icon svg path {
    fill: #fff; /* Inserisci qui il colore desiderato */
}

/* Se vuoi cambiare il colore solo al passaggio del mouse (hover) */
.elementor-button:hover .elementor-button-icon svg path {
    fill: #2387a5;
}


.pulsante-bianco .elementor-button {color:#1c738e!important; border-color:#fff!important; background-color: #ffffff!important;}

.pulsante-bianco .elementor-button:hover{color:#fff!important; background-color: #2387a5!important; border-color:#2387a5!important}

/* Cambia colore al path (colore icona) */
.pulsante-bianco .elementor-button-icon svg path {
    fill: #2387a5!important; /* Inserisci qui il colore desiderato */
}

/* Se vuoi cambiare il colore solo al passaggio del mouse (hover) */
.pulsante-bianco .elementor-button:hover .elementor-button-icon svg path {
    fill: #fff!important;
}


.error404 .pulsante-bianco .elementor-button:hover {
    border-color: #ffffff !important;
}



footer a {color:#fff}

footer a:hover {color:#ffffffa9}




/* HOME */

.color-icon svg {
    fill: #bf7b7b !important;
}


.container-approccio {position: relative;overflow: visible;}

.e-con:has(.container-approccio) {
    overflow: visible !important;
  }

.container-approccio::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -40px; /* Regola questa distanza in base allo spazio tra le colonne */
  transform: translateY(-50%);
  width: 80px;  /* Larghezza dell'immagine della freccia */
  height: 50px; /* Altezza dell'immagine della freccia */
  background-image: url('/wp-content/uploads/freccia.png');
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 9999999999999999999999999999999999999999999;
}

/* Stile Mobile (schermi fino a 768px) */
@media (max-width: 767px) {
  .container-approccio::after {
    top: auto;        /* Annulla il posizionamento dall'alto */
    right: auto;      /* Annulla il posizionamento da destra */
    bottom: -40px;    /* Distanza dal fondo del contenitore (regolabile) */
    left: 13%;        /* Sposta al centro orizzontalmente */
    transform: translateX(-50%) rotate(90deg); /* Centra perfettamente e ruota verso il basso */
  }
}


.color-icon-dati-1 svg .cls-1 {
    fill: #a6a6a6 !important;
    stroke: none!important;
}

.color-icon-dati-2 svg .cls-1 {
    fill: none !important;
    stroke: #a6a6a6 !important;
}


.color-icon-dati-3 svg .cls-1 {
     fill: #a6a6a6 !important;
    stroke: none!important;
}

 .color-icon-dati-3 svg{
    margin-top: 5px!important;
 }   


.color-icon-dati-4 svg .cls-1 {
    fill: none !important;
    stroke: #a6a6a6 !important;
}



.cta-link .elementor-heading-title a {text-decoration:underline; color:#2387A5!important}
.cta-link .elementor-heading-title a:hover{color:#212121!important; transition-duration: 0.5s;}


.news .elementor-post__text {
    display: flex !important;
    flex-direction: column !important;
}
.news .elementor-post__meta-data {
    order: 1 !important;
    padding-bottom:15px;
}
.news .elementor-post__title {
    order: 2 !important;
    padding-bottom:10px;
}
.news .elementor-post__excerpt {
    order: 3 !important;
}
.news .elementor-post__read-more {
    order: 4 !important;
    text-decoration:underline;
}
.news .elementor-post__read-more:hover{color:#212121!important; transition-duration: 0.5s;}


/*Animazione Up Down infinita*/

.slideUpDown {
    -webkit-animation: slideupdown 1s infinite  alternate;
    animation: slideupdown 1s infinite  alternate;
}

@-webkit-keyframes slideupdown {
    0% { transform: translateY(0); }
    100% { transform: translateY(-10px); }
}

@keyframes slideupdown {
    0% { transform: translateY(0); }
    100% { transform: translateY(-10px); }
}



/** PULSE ANIMATION **/

.pulse {
    animation: pulse 2s infinite;
    -webkit-animation: pulse 2s infinite;
    -moz-animation: pulse 2s infinite;
    -o-animation: pulse 2s infinite;
}
 

 
@keyframes pulse {
    0% {
        transform: scale(0.95);
        
    }

    70% {
        transform: scale(1);
        
    }

    100% {
        transform: scale(0.95);
        
    }
}




/* FIX Animazione Fade Elementor */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}



/* PAGINA PROGETTO */

.elenco-fasi .container-approccio {
  position: relative;
  overflow: visible;
}

.e-con:has(.elenco-fasi .container-approccio) {
  overflow: visible !important;
}

.elenco-fasi .container-approccio::after {
  content: "";
  position: absolute;
  top: 40px;                /* Regola la posizione verticale nell'angolo in alto a destra */
  right: -110px;              /* Regola la distanza orizzontale nello spazio tra le colonne */
  width: 70px;               /* Larghezza dell'immagine della freccia */
  height: 70px;              /* Altezza dell'immagine della freccia */
  background-image: url('/wp-content/uploads/arrow-down.png');
  background-repeat: no-repeat;
  background-size: contain;
  transform: none;           /* Nessuna rotazione necessaria poiché la freccia punta già in basso */
  z-index: 99;
}

/* Stile Mobile (schermi fino a 767px) */
@media (max-width: 767px) {
  .elenco-fasi .container-approccio::after {
        top: auto;
        right: auto;
        bottom: -30px;
        left: 12%;
  }
}



/* ACCESSIBILITA */

/* Stile del focus SOLO per i link <a> e SOLO tramite tastiera (Tab) */
a:focus-visible {
  /* Bordo giallo acceso ben evidente */
  outline: 3px solid #ffe600 !important;
  
  /* Stacca il bordo dal testo/elemento per farlo risaltare subito */
  outline-offset: 4px !important;
  
  /* Ombra/bordo nero per far contrastare il giallo anche su sfondi chiari o bianchi */
  box-shadow: 0 0 0 2px #000000 !important;
  
  /* Smussa leggermente gli angoli del riquadro */
  border-radius: 3px !important;
}

/* Rimuove l'outline di default quando si clicca con il mouse */
a:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}