:root {
	--azure: #DCE4E6;
	--evo: #9EA862;
	--reg: #EFC025;
	--prm: #EF7979;
	scroll-behavior: auto;
} html {
} body {
	background-color: #fff;
	font-family: 'Syne', sans-serif;
	overflow: hidden;
	color: #000;
	font-size: 1.125rem;
	line-height: 1.75;
} a, a:hover {
	font-weight: bold;
	color: #000;
	text-decoration: none;
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-word;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
} .footer .footer-border {
	border-top: 2px solid #fff;
} .footer p, .footer p a {
	font-size: 13px !important;
    margin-bottom: 0 !important;
    line-height: normal !important;
} .footer a, .footer a:hover {
	text-decoration: underline;
} .footer p a img {
	margin-left: 1rem;
	height: 30px;
} .footer p a img.gea {
	height: 42px;
	margin-top: 10px;
} .footer p a img.unipi {
	height: 60px;
	margin-top: -5px;
} .footer p a img.nutrafood {
	height: 70px;
	margin-top: -12px;
} p {
	margin-bottom: 1rem;
} p, p a {
	font-family: 'Inter', sans-serif;
} h1, h2 {
	font-weight: bold;
	font-size: 3rem;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid #fff;
} h3 {
	margin: 0;
	font-size: 2rem;
	font-weight: bold;
} h4 {
	margin: .25rem 0;
	text-transform: uppercase;
	font-size: 1.5rem;
	font-weight: bold;
} section {
	background-color: #fff;
	min-height: 100vh;
	width: 100vw;
	padding: 2rem;
} section > div {
	background-color: var(--azure);
	border-radius: 2rem;
	min-height: calc(100vh - 4rem);
	box-sizing: border-box;
} section > div > div {
	min-height: calc(100vh - 4rem);
	padding: 2rem;
} section.evo > div {
	border: .5rem solid var(--azure);
	background-color: var(--evo);
} section.reg > div {
	border: .5rem solid var(--azure);
	background-color: var(--reg);
} section.prm > div {
	border: .5rem solid var(--azure);
	background-color: var(--prm);
} table {
	width: 100%;
} table * {
	font-family: 'Inter', sans-serif;
} table tr td {
	position: relative;
} table tr td span {
	display: block;
	width: calc(100% + 2px);
	height: 100%;
	border-bottom: 1px solid #000;
	position: relative;
	z-index: 110;
	padding-left: 2rem;
} table tr:first-child td span {
	border-top: 1px solid #000;
} table tr.double-white td {
	font-weight: bold;
} table tr.white td:before
, table tr.double-white td:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,225,.3);
	z-index: 100;
	top: -1px;
	left: 1px;
} table tr.white td:last-child:before
, table tr.double-white td:last-child:before {
	width: calc(100% + 1.5rem);
} table tr.double-white td:before {
	background-color: #fff;
} .nav {
	flex-wrap: nowrap;
	gap: 1rem;
} .navbar {
    top: 6rem;
    width: 54px;
    left: calc(100vw - 6rem);
    transform: translateX(-100%);
    margin: 0;
    text-align: right;
} .navbar-toggler
, .navbar-toggler:focus
, .navbar-toggler:active {
	border: 0;
	box-shadow: none;
	z-index: 200;
} .navbar-collapse {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
} .navbar-toggler .navbar-toggler-icon {
	background-image: url(../img/burger.svg);
} .navbar-toggler.collapse .navbar-toggler-icon {
	background-image: url(../img/close.svg);
} .navbar-toggler:hover .navbar-toggler-icon {
	background-image: url(../img/burger-black.svg);
} .navbar-toggler.collapse:hover .navbar-toggler-icon {
	background-image: url(../img/close-black.svg);
} .navbar-nav {
	width: 100%;
} .navbar-nav .nav-link {
	color: #000;
	position: relative;
	display: flex;
	font-size: 2rem;
	align-items: center;
	justify-content: flex-start;
	border-bottom: 2px solid #fff;
} .navbar-nav .nav-link img {
	max-height: 60px;
	margin-left: 1.5rem;
} .navbar-nav .nav-link.active {
	color: #fff;
} .navbar-nav .nav-link.active:before {
	content: '>';
	display: flex;
	width: 20px;
	height: 100%;
	align-items: center;
	justify-content: flex-start;
} .btn-primary
, .btn-primary:hover
, .nav-tabs .nav-link
, .nav-tabs .nav-link:hover {
	background-color: #fff;
	border-color: #fff;
	color: #000;
	border-radius: 1rem;
	font-weight: bold;
	font-size: 1.25rem;
	line-height: normal;
} .btn-primary.evo:hover
, .btn-home:hover .btn-primary.evo
, .nav-tabs .nav-link.active.evo
, .nav-tabs .nav-link.evo:hover {
	background-color: var(--evo);
	border-color: var(--evo);
	color: #fff;
} .btn-primary.reg:hover
, .btn-home:hover .btn-primary.reg
, .nav-tabs .nav-link.active.reg
, .nav-tabs .nav-link.reg:hover {
	background-color: var(--reg);
	border-color: var(--reg);
	color: #fff;
} .btn-primary.prm:hover
, .btn-home:hover .btn-primary.prm
, .nav-tabs .nav-link.active.prm
, .nav-tabs .nav-link.prm:hover {
	background-color: var(--prm);
	border-color: var(--prm);
	color: #fff;
} .btn-full {
	width: 100%;
} .btn-home img {
	height: 120px;
	object-fit: contain;
	object-position: center bottom;
	position: relative;
	top: .5rem;
} .tab-pane .img-simulatore {
	flex: 0 0 100%;
	position: relative;
	max-width: calc(100% + 3rem);
} .tab-pane.show .loader {
	position: absolute;
	left: 50%;
	top: 30%;
	transform: translate(-50%, -50%);
	display: inline-block;
	animation: loader 1s forwards;
	animation-delay: 3s;
	width: 250px;
} .tab-pane.show .loader object {
	min-height: 100px;
} .tab-pane.show .loader img {
	max-width: 100%;
	object-fit: contain;
    max-height: 100%;
} .tab-pane.show .content {
	opacity: 0;
	animation: content 1s forwards;
	animation-delay: 4s;
} .tab-pane.show .energy {
	aspect-ratio: 1;
	width: calc(80% + 1rem);
	margin: 1rem auto 0;
	display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 2px solid #fff;
    background: var(--azure);
	background: radial-gradient(circle,  #fff 0%, var(--azure) 100%);
    position: relative;
    top: -1rem;
    font-size: 32px;
    font-weight: bold;
} .tab-pane.show .indicatore {
	aspect-ratio: 1;
	width: 80%;
	margin: 1rem auto;
	display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
} .tab-pane.show .indicatore > span.number {
	z-index: 200;
	font-weight: bold;
} .tab-pane.show.evo .energy
, .tab-pane.show.evo .indicatore > span.number {
	color: var(--evo);
} .tab-pane.show.reg .energy
, .tab-pane.show.reg .indicatore > span.number {
	color: var(--reg);
} .tab-pane.show.prm .energy
, .tab-pane.show.prm .indicatore > span.number {
	color: var(--prm);
} .tab-pane.show.evo .indicatore.text-white > span.number {
	animation: indicatore-evo-white 1s forwards;
	animation-delay: 1s;
	color: var(--evo);
} .tab-pane.show.reg .indicatore.text-white > span.number {
	animation: indicatore-reg-white 1s forwards;
	animation-delay: 5s;
	color: var(--reg);
} .tab-pane.show.prm .indicatore.text-white > span.number {
	animation: indicatore-prm-white 1s forwards;
	animation-delay: 1s;
	color: var(--prm);
} .tab-pane.show .indicatore > span.color {
	position: absolute;
	width: 100%;
	max-height: 0%;
	content: '';
	bottom: 0;
	left: 0;
	z-index: 100;
} .tab-pane.show .indicatore > span.border {
	position: absolute;
	width: calc(100% + 4rem);
	height: calc(100% + 4rem);
	content: '';
	top: -2rem;
	left: -2rem;
	border: 2rem solid var(--azure) !important;
	border-radius: 50%;
	z-index: 120;
} .tab-pane.show.evo .indicatore > span.color {
	background-color: var(--evo);
} .tab-pane.show.reg .indicatore > span.color {
	background-color: var(--reg);
} .tab-pane.show.prm .indicatore > span.color {
	background-color: var(--prm);
} .tab-pane.show .indicatore.indicatore-99 > span.color {
	animation: indicatore-99 2s forwards;
	animation-delay: 5s;
} .tab-pane.show .indicatore.indicatore-29 > span.color {
	animation: indicatore-29 2s forwards;
	animation-delay: 5s;
} .tab-pane.show .indicatore.indicatore-06 > span.color {
	animation: indicatore-06 2s forwards;
	animation-delay: 5s;
} .tab-pane.show .indicatore.indicatore-32 > span.color {
	animation: indicatore-32 2s forwards;
	animation-delay: 5s;
} .tab-pane.show .indicatore.indicatore-18 > span.color {
	animation: indicatore-18 2s forwards;
	animation-delay: 5s;
} .tab-pane.show .indicatore.indicatore-03 > span.color {
	animation: indicatore-03 2s forwards;
	animation-delay: 5s;
} .tab-pane.show .indicatore.indicatore-01 > span.color {
	animation: indicatore-01 2s forwards;
	animation-delay: 5s;
} .tab-pane.show .indicatore.indicatore-25 > span.color {
	animation: indicatore-25 2s forwards;
	animation-delay: 5s;
} .tab-pane.show .border-bottom {
	border-bottom: 2px solid #fff !important;
} .tab-pane .gradient-negative
, .tab-pane .gradient-positive {
	background-color: #fff;
	padding: 1rem;
	border-radius: 1rem;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1rem;
	max-width: 160px;
    line-height: normal;
    box-sizing: border-box;
    height: max-content;
} .tab-pane .gradient-negative span
, .tab-pane .gradient-positive span {
	display: block;
	border-radius: .75rem;
	height: 2rem;
	margin-top: .875rem;
} .tab-pane .gradient-negative span {
	background: #E82719;
	background: linear-gradient(90deg, #FDBE2D 0%, #F36A20 50%, #E82719 100%);
} .tab-pane .gradient-positive span {
	background: #0E7939;
	background: linear-gradient(270deg, #FDBE2D 0%, #7DB72C 50%, #0E7939 100%);
} .approfondimenti p {
	margin-bottom: 1.5rem;
} .approfondimenti.big p {
	font-size: 1.5rem;
	line-height: 2.25rem;
} @keyframes loader {
    0% {
    	left: 50%;
   	} 100% {
   		left: -2rem;
 	}
} @keyframes loader-md {
    0% {
    	left: 50%;
    	top: 50%;
   	} 100% {
   		left: calc(50% + 5rem);
    	top: -150px;
 	}
} @keyframes loader-sm {
    0% {
    	top: 120px;
   	} 100% {
    	top: -60px;
 	}
} @keyframes loader-img-md {
    0% {
    	left: 0;
   	} 100% {
   		left: -5rem;
 	}
} @keyframes content {
    0% {
    	opacity: 0;
   	} 100% {
   		opacity: 1;
 	}
} @keyframes indicatore {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 100%;
 	}
} @keyframes indicatore-01 {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 1.76%;
 	}
} @keyframes indicatore-03 {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 0.3%;
 	}
} @keyframes indicatore-06 {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 0.6%;
 	}
} @keyframes indicatore-18 {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 18.3%;
 	}
} @keyframes indicatore-25 {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 25.9%;
 	}
} @keyframes indicatore-29 {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 29.9%;
 	}
} @keyframes indicatore-32 {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 32.4%;
 	}
} @keyframes indicatore-99 {
    0% {
    	max-height: 0;
   	} 100% {
   		max-height: 99.9%;
 	}
} @keyframes indicatore-evo-white {
    0% {
    	color: var(--evo);
   	} 39.9% {
    	color: var(--evo);
   	} 40% {
   		color: #fff;
 	} 100% {
   		color: #fff;
 	}
} @keyframes indicatore-reg-white {
    0% {
    	color: var(--reg);
   	} 39.9% {
    	color: var(--reg);
   	} 40% {
   		color: #fff;
 	} 100% {
   		color: #fff;
 	}
} @keyframes indicatore-prm-white {
    0% {
    	color: var(--prm);
   	} 39.9% {
    	color: var(--prm);
   	} 40% {
		color: #fff;
 	} 100% {
   		color: #fff;
 	}
} @media (pointer: coarse) {
	body {
		overflow: auto;
	}
} @media only screen and (max-width: 991.98px) {
	.tab-pane .img-simulatore
	, .img-detail {
		flex: 0 0 15%;
		max-width: 150px;
	} .tab-pane.show .loader {
		animation: loader-md 1s forwards;
		animation-delay: 3s;
	} .tab-pane .img-simulatore {
		animation: loader-img-md 1s forwards;
		animation-delay: 3s;
	} h1, h2 {
		font-weight: bold;
		font-size: 2.25rem;
	} h3 {
		font-size: 1.5rem;
	} h4 {
		font-size: 1.25rem;
	} .btn-primary
	, .btn-primary:hover
	, .nav-tabs .nav-link
	, .nav-tabs .nav-link:hover {
		font-size: 1.125rem;
	} .nav-tabs .nav-link
	, .nav-tabs .nav-link:hover {
		min-height: 82px;
	} .footer p span {
	    display: block;
	    padding-bottom: 0.5rem;
	} .footer p a img.unipi {
		height: 45px;
		margin-top: -2px;
	} .footer p a img.nutrafood {
		height: 60px;
		margin-top: -8px;
	} 
} @media only screen and (max-width: 767.98px) {
	section {
		padding: 2rem;
	} h1, h2 {
		font-weight: bold;
		font-size: 2rem;
	} h4 {
		font-size: 1.125rem;
	} .btn-primary
	, .btn-primary:hover
	, .nav-tabs .nav-link
	, .nav-tabs .nav-link:hover {
		font-size: 1rem;
	} .nav-tabs .nav-link {
		padding: .5rem .25rem;
	} .nav-tabs .nav-link img {
		height: 90px; 
	} .tab-pane.show .loader {
	    animation: loader-sm 1s forwards;
	    animation-delay: 3s;
	    height: 100px;
	    top: 120px;
	    width: auto;
	} .tab-pane .img-simulatore + h2 {
		margin-bottom: 5rem;
		border: 0;
	} .tab-pane.show .energy {
		max-width: calc(120px + 1rem);
	} .tab-pane.show .indicatore {
		max-width: 120px;
	} body
	, .approfondimenti.big p {
		font-size: 1rem;
		line-height: normal;
	} .navbar-nav .nav-link {
		font-size: 1.5rem;
	} .footer p a img {
		height: 25px;
	} .footer p a img.gea {
		height: 36px;
	}
} @media only screen and (max-width: 575.98px) {
	.nav-tabs .nav-link img {
		height: 70px; 
	} section {
		padding: 1rem;
	} section > div {
		min-height: calc(100vh - 2rem);
	} section > div > div {
		padding: 1.25rem;
	} .navbar-nav .nav-link {
		font-size: 1.25rem;
	} .navbar-nav .nav-link.active {
		 flex-wrap: wrap;
	} .navbar-nav .nav-link.active span {
		flex: 1 1 calc(100% - 20px);
		margin-bottom: .5rem;
	} .navbar-nav .nav-link.active:before {
		margin-bottom: .5rem;
	} .footer p a img {
		height: 18px;
	} .footer p a img.gea {
		height: 30px;
		margin-top: 8px;
	} table tr td span {
		padding-left: .25rem;
	} table tr.white td:last-child:before
	, table tr.double-white td:last-child:before {
		width: calc(100% + .5rem);
	}
}