@charset "UTF-8";

.paragrafo-spacer {
    height: 1.5em;
    background-color: transparent;
    display: block;
}
    .text {
		white-space: pre-line;
    }
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* HEADER */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */


#header .menus{
	display: flex;
	flex-direction: column;
	gap: 20px;
}
#header .mobile-menu-container{
	display: none;

	background: var(--app-color-brand);
	font-weight: bold;
	font-size: 18px;
	width: 100%;
	padding: 50px;
}

#header .mobile-menu-container.open {
	display: flex;
}


#header .mobile-header{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-bottom: 26px;
}

#mobileMenuToggle{

}
#header .menu{
	text-decoration: none;
}
#header
{
	border-bottom: var(--pp-header-border);
}

#header .w3-hide-medium > *
{
	line-height: 1;
}

#header img.logo
{
	max-width: 200px;
}

#header img.logoSmall
{
	width: 50px;
}
#header .menu-container
{
	display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0 var(--app-header-menu-spacing);
    
    margin-right: var(--app-link-home-margin-right);
    margin-left: var(--app-link-home-margin-left);
}

#header .menu-container .menu
{
	cursor: pointer;
	font-weight: bold;
	color: var(--app-color-light-5);
	text-decoration: none;
}

/*
#header .menu-container .menu:hover
{
	color: var(--app-color-light-3);
}
*/
#header .menu-container .menu.open
{
	color: var(--app-color-light-3);
}
#header .menu-container .menu.active
{
	color: var(--app-color-white);
}

#header .language-container
{
	line-height: 1;
}

#header .language
{
	font-weight: bold;
	font-size: var(--app-header-language-font-size);
	color: var(--app-color-light-5);
	text-decoration: none;
	text-transform: uppercase;
}
#header .language.active
{
	color: var(--app-color-white);
}

#header .ndv-logo
{
	border-left: 2px solid var(--app-color-brand);
	padding-left: 28px;
	margin-left: 28px;
}

body.scrolling #header .menu-container
{
	align-items: center;
}

/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* MENU */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

.sub-menu
{
	display: none;
	flex-direction: row;
	justify-content: center;
	
	background: var(--app-color-brand);
	
	position: fixed;
	top: var(--pp-header-full-size-height);
	left: 0;
	right: 0;
	
	padding: 16px;
	padding-top: var(--app-submenu-padding-top);
	padding-bottom: var(--app-submenu-padding-bottom);
	z-index: var(--pp-zindex-header);
	
	transition: top var(--pp-transition-default);
}

body.scrolling .sub-menu
{
	top: var(--pp-header-scroll-size-height);
}

.sub-menu.open
{
	display: flex;
}

.sub-menu-overlay
{
	display: none;
	
	position: fixed;
	top: var(--pp-header-full-size-height);
	left: 0;
	right: 0;
	bottom: 0;
	
	z-index: calc(var(--pp-zindex-header) - 1);
	
}
body.scrolling .sub-menu-overlay
{
	top: var(--pp-header-scroll-size-height);
}

.sub-menu a
{
	font-weight: bold;
	font-size: 14px;
	color: var(--app-color-light-3);
	margin-bottom: 10px;
	line-height: 1;
	text-decoration: none;
}
.sub-menu a.title
{
	font-size: 18px;
	margin-bottom: 20px;
}
/*
.sub-menu a:hover
{
	color: var(--app-color-white);
}
*/
.sub-menu > *
{
	gap: var(--app-submenu-spacing);
}




/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* FOOTER */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

#footer
{
	border-top: var(--pp-header-border);
	padding-top: var(--pp-header-padding-top);
	padding-bottom: var(--pp-header-padding-bottom);
}

#footer a
{
	color: var(--app-color-light-5);
	text-decoration: none;
}
/*
#footer a:hover
{
	color: var(--app-color-light-3);
}
*/
#footer #footer1
{
	line-height: 1;
	
	padding-right: 30px;
	padding-bottom: 20px;
	border-right: 2px solid var(--app-color-brand);
}

#footer #footer1 #footer1Titolo
{
	color: var(--app-color-light);
	font-weight: 900;
	white-space: nowrap;
}

#footer #footer1 #footer1Titolo > :first-child
{
	font-size: 36px;
}
#footer #footer1 #footer1Titolo > :last-child
{
	font-size: 20px;
	margin-left: 0px;
}

#footer #footer1 #footer1DatiFiscali
{
	line-height: 1;
	color: var(--app-color-brand);
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	
	margin-top: 12px;
}

#footer #footer1 #footer1Indirizzo1
{
	margin-top: 20px;
}
#footer #footer1 #footer1Indirizzo2
{
	margin-top: 14px;
}

#footer #footer1 #footer1Recapiti1
{
	margin-top: 30px;
}
#footer #footer1 #footer1Recapiti2
{
	margin-top: 14px;
}

#footer #footer1 .footer1-info
{
	font-weight: bold;
	font-size: 13px;
	color: var(--app-color-light-5);
}

#footer #footer2
{
	margin: 0 30px;
}

#footer #footer2 #footer2Row1
{
	gap: 30px;
}

#footer #footer2 #footer2Row2
{
	margin-top: 30px;
}

#footer #footer2 label,
#footer #footer2 a
{
	line-height: 1.5;
	font-weight: 700;
	font-size: 13px;
}
#footer #footer2 label
{
	color: var(--app-color-brand);
}

#footer #footer3
{
	line-height: 1;
	text-align: right;
	padding-left: 30px;
}

#footer #footer3 #footer3Titolo
{
	color: var(--app-color-light);
	font-weight: 900;
	white-space: nowrap;
}

#footer #footer3 #footer3Titolo > :first-child
{
	font-size: 50px;
}
#footer #footer3 #footer3Titolo > :last-child
{
	line-height: 0;
	font-size: 72px;
	margin-left: -2px;
	color: var(--app-color-brand);
}

#footer #footer3 #footer3Social
{
	margin-top: 16px;
}

#footer #footer3 #footer3Social > *
{
	width: 28px;
	margin-left: 16px;
	color: var(--app-color-light-5); 
}

#footer #footerPolicy
{
	margin-top: 10px;
}

#footer #footerPolicy *
{
	line-height: 1;
	font-weight: 700;
	font-size: 12px;
	color: var(--app-color-light-5);
}

#footer #footerCopyright
{
	font-size: 11px;
	font-weight: 600;
	color: var(--app-color-brand);
	text-transform: uppercase;
	
	margin-top: 10px;
}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ELEMENTI */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

button
{
	cursor: pointer;
	min-width: 330px;
    height: 60px;
    padding: 0 40px;
    border: 4px solid transparent;
    border-radius: 0px 40px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--app-color-dark);
}

.full-radius
{
	border-radius: 30px;
}

button.bottone-light
{
	background: var(--app-color-light);
	border-color: var(--app-color-light);
}
/*
button.bottone-light:hover
{
	border-color: var(--app-color-light-3);
}
	*/
button.bottone-light:active
{
	color: var(--app-color-black);
	background: var(--app-color-light-3);
	border-color: var(--app-color-light-3);
}

button.bottone-dark
{
	color: var(--app-color-light);
	background: var(--app-color-dark-5);
	border-color: var(--app-color-dark-5);
}
/*
button.bottone-dark:hover
{
	border-color: var(--app-color-dark);
}
*/
button.bottone-dark:active
{
	color: var(--app-color-light-5);
	background: var(--app-color-dark);
	border-color: var(--app-color-dark);
}

button.bottone-brand
{
	color: var(--app-color-light);
	background: var(--app-color-brand);
	border-color: var(--app-color-brand);
}
/*
button.bottone-brand:hover
{
	border-color: var(--app-color-brand-3);
}
	*/
button.bottone-brand:active
{
	color: var(--app-color-light-3);
	background: var(--app-color-brand-3);
	border-color: var(--app-color-brand-3);
}

.banner{
	max-width: 100%;
    margin-left: 15px;
    margin-right: 15px;
	height: 800px;
}
.banner span
{
	color: var(--app-color-brand);
	line-height: 0;
	font-size: 180px;
}
.titolo-banner{
    text-align: left;
    max-width: 1360px;
    z-index: 3;
    margin-left: auto;
    margin-right: auto;
}

.titolo_parte1{
	font-family: 'Figtree';
	font-weight: 300;
	font-size:	95px;
}
.sotto_titolo{
	font: normal normal 800 40px/45px 'Figtree';
}

/*

sezione dedicata alle card , per cambiare immagine bottone creare classe nel css assegnato alla pagina
se sei qui per cambiare svg cerca nel css assegnato alla pagina

*/
.card-footer {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
}

.card h2{
    font-weight: 900;
}

.card{
	position: relative;
	box-shadow: 5px 5px 20px #0000004D;
	border-radius: 0px 80px 80px 80px;
	opacity: 1;
	max-width: 657px;
	min-height: 300px;
	padding: 6px;
	display: flex;
    flex-direction: column;
    gap: 20px;
	padding: 50px;
}
.card > :first-child{
	margin-top: -20px;
}
.card > :last-child{
	margin-bottom: -20px;
}
.card .button1{
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.card .button2{
	  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.icona1, .icona2{
    width: 60px;
    height: 60px;
}

.icona1{
}
.icona2{
}

.card-2{
	max-width: 670px;
	display: flex;
	flex-direction: row;
	align-items: center;
	min-height: 180px;
	box-shadow: 5px 5px 20px var(--app-color-light-3);
	border: 4px solid;
	border-radius: 0px 40px 40px 40px;
	opacity: 1;

}

.right-card-margin{
	margin: 86px 10px 0px 10px;
}
.left-card-margin{
	margin: 0px 10px 86px 10px;
}

.right-card-margin-2{
	padding:10px;
	padding-right: 20px;
}

.left-card-margin-2{
	padding: 10px;
	padding-left: 20px;
}


.left-section-margin{
	padding-left: 5vw;
	padding-right: 7px;
}

.right-section-margin{
	padding-left: 15px;
	padding-right: 5vw;
}

.left-box-margin{
}
.right-box-margin{

}



.ctaBox{
	margin-top: 40px;
	max-width: 555px;
	min-height: 505px;
	border: 4px solid #03D67C;
	border-radius: 80px;
	opacity: 1;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: column;
    gap: 20px;
	padding: 50px;
}

.ctaBox > :last-child{
	margin-top: 72px;
}




.ctaBox h5{
    max-width: 457px;
    height: 104px;
    text-align: center;
    color: var(--app-color-green-1);
}

.ctaBox p{
    letter-spacing: 0px;
	min-height: 120px;
}


.buttonCta{
	border-radius: 40px 0px;
	opacity: 1;

}


.divisore-verticale {
	min-height: 110px;
	width: 4px;
}

.cuscinetto{
	width: 0px;
	height: 15px;
}

.margin-auto1170{
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1170px;
}

.normal{
	font-weight: normal;
}







.boxRow{
    display: flex;
flex-direction: row;
}


#footer .footer-flex,
#footer .footer-mobile{
	flex-direction: row;
}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* MEDIA QUERY */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

/*Si trovano qui per evitare nei dispositivi ios di dover fare doppio click per colpa dell'hover */

@media (hover: hover) and (pointer: fine) {
	#header .menu-container .menu:hover {
		color: var(--app-color-light-3);
	}
	
	#footer a:hover {
		color: var(--app-color-light-3);
	}
	
	.sub-menu a:hover {
		color: var(--app-color-white);
	}
	
	button.bottone-light:hover {
		border-color: var(--app-color-light-3);
	}
	
	button.bottone-dark:hover {
		border-color: var(--app-color-dark);
	}
	
	button.bottone-brand:hover {
		border-color: var(--app-color-brand-3);
	}
}

@media only screen and (max-width: 993px)
{
	.input-form1, .input-form2, .input-form3, .input-form4 {
    width: 100%;
    max-width: 100% !important;
    min-height: 79px;
}
	.ctaBox .card-footer{
        justify-content: center
    }
	* {
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent; /* Aggiungi questa */
	}
	button{
		min-width: 230px;
		width: 100%;
	}
	.sezioneContattiForm_1{
    	flex-direction: column;
	}
	.titolo_parte1{
		font-size:	60px;
	}
	#ctaBoxContainer{
		flex-direction: column !important;
	}
    .boxCard2 >:first-child{
        margin-top: -65px;
    }
    .boxCard2 >:last-child{
        margin-bottom: 40px;
    }
    .boxRow{
        flex-direction: column;
        align-items: center;
    }
    .right-section-margin{
        padding-left: 5.76vw;
    }

	#footer .footer-flex,
	#footer .footer-mobile{
		flex-direction: column;
	}
}

@media only screen and (max-width: 500px) {
	.ctaBox {
		height: none;
	}
	.card{
		min-height: 200px !important;
	}
	.sotto_titolo {
		margin-bottom: 20px !important;
	}
	.banner span
	{
		font-size: 100px;
	}
	.banner{
        height: 500px;
    }
	.sezione{
		margin-top: 0px !important;
	}
	.sezioneContattiForm{
		padding: 30px !important;
	}
    .card,
    .ctaBox {
        max-width: 100% !important;
        min-width: 0px !important;
        box-sizing: border-box;
		min-height: 200px;
    }
	.titolo-banner h1{
		font-size: 50px !important;
        padding: 0 6px;
	}
	.titolo_parte1{
		font-size: 50px !important;
		padding: 0 6px;
	}
        h2, h3{
        font-size: 50px !important;
        padding: 0 6px;
		overflow-wrap: anywhere;
    }
    h5 {
        font-size: 30px !important;
        padding: 0 6px;
    }
    label {
        font-size: 20px !important;
    }
    p{
       /* font-size: 16px !important; */
    }
    .cartaBianca p, .cartaGialla p, .cartaVerde p{
    font-size: 16px !important;
    }
	    /* Margini uguali a destra e sinistra per tutte le card su mobile */
    .card.left-card-margin,
    .card.right-card-margin,
    .w3-container.card.left-card-margin,
    .w3-container.card.right-card-margin,
    .ctaBox.left-card-margin,
    .ctaBox.right-card-margin {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
}



@media only screen and (min-width:501px) and  (max-width: 993px)
{
		.banner span
	{
		font-size: 125px;
	}
	.titolo-banner h1{
		font-size: 70px !important;
        padding: 0 6px;
	}

    /* Resize headings and label for tablet */
    h2, h3{
        font-size: 60px !important;
        padding: 0 6px;
		overflow-wrap: anywhere;
    }
    h5 {
        font-size: 25px !important;
        padding: 0 6px;
    }
    label {
        font-size: 20px !important;
    }
    p{
        font-size: 20px !important;
    }
    .cartaBianca p, .cartaGialla p, .cartaVerde p{
    font-size: 16px !important;
    }
}
