/**
 * Theme Name:     Hello Elementor Child
 * Author:         Elementor Team
 * Template:       hello-elementor
 * Text Domain:	   hello-elementor-child
 * Description:    Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
 */

a	{
	color: #2d5275;
}

a:hover{
	color: #7BACC6;
}


html, body{ 
    max-width: 100vw;
    overflow-x: hidden; 
}

a:focus-visible{
    outline: none!important;
}

.websiteHead{
	backdrop-filter: blur(17px);
}

.blur a{
	backdrop-filter: blur(2px);
}

.glow .elementor-button .elementor-button-icon svg, .whiteglow .elementor-button .elementor-button-icon svg{
    transition: filter 0.3s ease-in-out;
}

.glow .elementor-button:hover .elementor-button-icon svg {
    filter: drop-shadow(0 0 5px #f4be14);
}

.whiteglow .elementor-button:hover .elementor-button-icon svg {
    filter: drop-shadow(0 0 5px #fff);
}


.accent-lightblue, h2 span{
	color:var(--e-global-color-4cdf930) !important;
}

.privacy-phrase a{
	color:#fff;
	text-decoration: underline!important;
}

.privacy-phrase a:hover{
	color:var(--e-global-color-4cdf930);
}

.offshore-block{
	opacity: 0.2;
	transition: opacity 0.3s ease-in-out!important;
}

.offshore-block.active,.offshore-block:hover{
	opacity: 1;
}

.offshore-block.active .bar, .offshore-block:hover .bar{
	/*height: 4px!important;*/
	background-color: var(--e-global-color-faa1057)!important;
}

.project-overlay{
    height: 100%!important;
    opacity: 0;
    transition: opacity 0.3s ease-in-out!important;
}

.project-overlay:hover{
    opacity: 1;
}

.yellow{
	color:#F4BE14;
}

.box-azzurro{
    border-top: 1px solid rgba(123, 172, 198, 0.30);
	border-bottom: 1px solid rgba(123, 172, 198, 0.30);
}

.privacy-phrase, #file-upload-filename{
	color: #FFF;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}

.accordion-soluzioni svg{
    fill: none!important;
    height: 25px!important;
	margin-top:-5px;
}

.accordion-soluzioni .e-n-accordion-item-title {
    padding: 20px 0!important;
}

.accordion-soluzioni .e-n-accordion-item[open]>.e-n-accordion-item-title {
    border: none!important;
}

.accordion-soluzioni .e-n-accordion-item-title {
    border-color: rgba(123, 172, 198, 0.40) !important;
    border-width: 0px 0 1px 0!important;
}

.elementor-upload-field{
	background-color:transparent!important;
}


#file-upload-filename{
	margin-left: 120px;
    margin-top: -50px;
}
.elementor-field-type-upload{
	margin-bottom: 0!important;
}
/* Resetta l'aspetto del pulsante originale */
input[type="file"] {
    opacity: 0; /* Rende l'input trasparente */
    position: absolute; /* Stacca l'input dal flusso normale */
    z-index: -1; /* Mette l'input dietro altri elementi */
}

/* Stilizza il label come un pulsante */
label[for="form-field-cv"]::after {
    content: 'Scegli file'; /* Testo che apparirà nel pulsante */
   	display: ruby-text; 
    border-radius: 22px; /* Bordi arrotondati */
    padding: 10px 20px; /* Padding interno */
    cursor: pointer; /* Fa apparire il cursore come un puntatore */
    font-family: Arial, sans-serif; /* Tipo di font */
    font-size: 12px; /* Dimensione del font */
    margin-right: 10px; /* Margin a destra per distanziarlo dal testo seguente */
	margin-top: 10px;
    background-color: #FFFFFF14;
    color: var(--e-global-color-63d6002);
    border: 1px solid #FFFFFF1A;
}

.elementor-field-type-submit svg circle{
	fill: rgb(244, 190, 20)!important;
}

/* Nasconde la checkbox originale */
input[type="checkbox"] {
    display: none!important; /* Nasconde la checkbox */
}

/* Crea un nuovo stile per la pseudo-elemento before associato al label */
label[for="form-field-privacy"]::before {
    content: ''; /* Imposta il contenuto a vuoto per il before */
    display: inline-block; /* Rende il before un elemento inline-block */
    width: 30px; /* Larghezza del finto checkbox */
    height: 30px; /* Altezza del finto checkbox */
    background-color: var(--e-global-color-0d4553e);
    border: none; /* Bordo solido con il colore specificato */
    border-radius: 4px; /* Bordo leggermente arrotondato */
    margin-right: 8px; /* Spazio tra il checkbox e il testo */
    vertical-align: middle; /* Allinea verticalmente al centro rispetto al testo del label */
}

/* Stile per quando la checkbox è selezionata */
input[type="checkbox"]:checked + label[for="form-field-privacy"]::before {
    background-color: var(--e-global-color-0d4553e); /* Cambia lo sfondo quando è selezionato */
    /* Aggiungi un segno di spunta (o altro) se desiderato, esempio con Unicode */
    content: '\2713'; /* Codice Unicode per una spunta */
    color: white; /* Colore della spunta */
    font-size: 30px; /* Dimensione del simbolo spunta */
    text-align: center; /* Allinea il simbolo al centro */
    line-height: 30px; /* Altezza della linea per centrare verticalmente la spunta */
}

/* Facoltativo: Aggiungi transizioni per effetti visivi fluidi */
input[type="checkbox"] + label[for="form-field-field_e76a21f"]::before {
    transition: all 0.3s; /* Transizione fluida per il cambio di colore e contenuto */
}


/* ---- OFFSET CATOSELLO
.elementor-image-carousel-wrapper {
    padding: 0 40px; 
    overflow: visible !important;

.elementor-image-carousel {
	overflow: visible !important;
}

.swiper-slide {
	width: 40% !important; 
}

.swiper-wrapper {
	justify-content: center; /

OFFSET CATOSELLO ---- */


/* ---- FONT CLAMP ---- */
.huge h1{
	font-size: clamp(2.75rem, 3.026vw + 1.299rem, 4.25rem)!important;
	line-height: 110%;
}

.subtitle span{
	font-size: clamp(1rem, 0.504vw + 0.758rem, 1.25rem)!important;
	line-height: 150%; 
}

.emphasis h2{
	font-size: clamp(2.75rem, 2.77vw + 1.422rem, 5.75rem);
	line-height: 110%;
}

.title-xsmall h4{
	font-size: 16px;
	line-height: 150%;
}

.title-medium h2{
	font-size: clamp(2.25rem, 2.522vw + 1.041rem, 3.5rem);
	line-height: 110%; 
}

.medium-p p, .medium-p li{
	font-size: clamp(1rem, 0.504vw + 0.758rem, 1.25rem);
	line-height: 150%;
}

.numbers h4{
	font-size: clamp(1.25rem, 0.231vw + 1.139rem, 1.5rem)!important;
	line-height: clamp(1.375rem, 0.808vw + 0.988rem, 2.25rem)!important;
	font-weight: 800!important;
}

.numbers h5{
	font-size: clamp(4.375rem, 3.462vw + 2.715rem, 8.125rem)!important;
	line-height: clamp(4.813rem, 3.808vw + 2.987rem, 8.938rem)!important;
	font-weight: 800!important;
}

.numbers .elementor-counter-number-wrapper{
	font-size: clamp(6.25rem, 4.039vw + 4.314rem, 10.625rem)!important;
	line-height: clamp(6.875rem, 4.443vw + 4.745rem, 11.688rem)!important;
	font-weight: 800!important;
}

.attività h4{
	font-size: clamp(1.5rem, 0.462vw + 1.279rem, 2rem)!important;
	line-height: 110%!important;
}

.attività p{
	font-size: clamp(0.875rem, 0.115vw + 0.82rem, 1rem)!important;
}

.custom-lang-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #1b2745; /* colore del bottone */
    color: #fff;
    text-decoration: none;
	padding: 18px 20px 18px 20px;
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; 
}

.custom-lang-button:hover {
    color: #fff!important;
}

.custom-lang-button .icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-lang-button .text {
    line-height: 1;
}

.cover-img{
    background-size: cover!important;
}

.accordion-soluzioni ul{
    padding-left: 20px!important;
}



@media (max-width: 1280px) {
  #attivita {
		background-image: none!important;
	}
}
