/*MAIN SETTINGS*/
html {
	scroll-behavior: smooth;
}

html, body {
	margin: 0;
	padding: 0;
	font: 100% 'Poppins', sans-serif;
	color: var(--black);
	background-color: var(--light-grey);
	font-size: 16px;
}

#main-container {
	min-height: 100%;
	position: absolute;
	width: 100%;
	/*display: grid;*/
}

#body-container {
	padding: 120px 0 0px;
	margin: 0 auto;
	width: 100%;
}

.block-container {
	position: relative;
	margin: 0 auto;
	width: 1400px;
	overflow: hidden;
}

.block-container.full {
	width: 100%;
}

@media only screen and (max-width: 1460px) {
	.block-container {
		width: 100%;
		padding: 0 30px;
	}
}

@media only screen and (max-width: 960px) {
	#body-container {
		padding: 60px 0 30px;
		transition: 0.3s ease;
	}
}

@media only screen and (max-width: 720px) {
	.block-container.full {
		padding-left: 0;
		padding-right: 0;
	}
}

/* ---------------------- GENERAL SETTINGS ---------------------- */
*, *::before, *::after {
	box-sizing: border-box;
}

img {
	border: 0;
}

/* colors */
:root {
	--blue: #26475F;
	--dark-blue: #132430;
	--red: #FD2135;
	--aqua: #33B297;
	--grey: #dfdfdf;
	--light-grey: #f2f2f2;
	--dark-grey: #9f9f9f;
	--black: #333;
	--white: #ffffff;
}

.grain-grey {
	background-repeat: repeat;
	background-image: url(../img/pattern-grain-grey.jpg);
}

.grain-light-grey {
	background-repeat: repeat;
	background-image: url(../img/pattern-grain-grey.jpg);
}


/* formattazione testo */
a {
	text-decoration: none;
	outline: none;
}

p {
	padding: 0;
	margin: 0 0 20px 0;
	display: block;
}

hr {
	border: 0;
	margin-bottom: 20px;
	border-bottom: solid 1px;
	border-color: var(--dark-grey);
}

h1 {
	margin: 0 0 20px;
	padding: 0;
	letter-spacing: 0.05em;
	display: block;
	width: 100%;
	font-size: 1.7em;
	font-weight: 700;
	font-family: 'Roboto Slab', serif;
	line-height: 1.1em;
}

h2 {
	margin: 0 0 20px;
	padding: 0;
	letter-spacing: 0.05em;
	display: block;
	width: 100%;
	font-size: 1.5em;
	font-weight: 700;
	font-family: 'Roboto Slab', serif;
	line-height: 1.1em;
}

h3 {
	margin: 0 0 20px;
	padding: 0;
	letter-spacing: 0.05em;
	display: block;
	width: 100%;
	font-size: 1.3em;
	font-weight: 700;
	font-family: 'Roboto Slab', serif;
	line-height: 1.2em;
}

h4, h5, h6, h7, h8 {
	padding: 0;
	margin: 0 0 20px 0;
	font-family: 'Roboto Slab', serif;
	letter-spacing: 0.05em;
	font-size: 1.1em;
	display: block;
	width: 100%;
	font-weight: 700;
}

blockquote {
	background-color: var(--grey);
	margin: 0 0 20px;
	padding: 20px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

time {
	font-size: 0.75em;
	background-color: var(--aqua);
	color: var(--white);
	padding: 3px 10px;
	margin-bottom: 10px;
	display: inline-block;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.section-title {
	width: 100%;
	display: block;
	margin-bottom: 40px;
	text-align: center;
	font-size: 1.6em;
}

.section-subtitle {
	width: 100%;
	display: block;
	margin-bottom: 40px;
	text-align: center;
	font-size: 1.0em;
	font-weight: normal;
	color: var(--dark-grey);
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
}

.section-author {
	margin-top: 10px;
	width: 100%;
	display: block;
	margin-bottom: 40px;
	font-size: 0.8em;
	text-align: right;
	font-weight: normal;
	color: var(--dark-grey);
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
}

.section-subtitle.centralized {
	padding: 0 15%;
}

@media only screen and (max-width: 960px) {
	.section-subtitle.centralized {
		padding: 0 0;
	}
}

.box-title {
	width: 100%;
	display: block;
	margin-bottom: 20px;
	text-align: center;
	font-size: 1.2em;
}

.txt-center {
	text-align: center;
}

.txt-left {
	text-align: left;
}

.txt-right {
	text-align: right;
}

.block {
	display: block;
}

.inline-block {
	display: inline-block;
}

a.link {
	font-weight: bold;
	transition: 0.2s ease;
	color: var(--black);
}

a.link:hover {
	color: var(--yellow);
}

img.full-width {
	max-width: 100%;
	width: 100%;
	display: block;
}

img.preview {
	width: 100%;
	display: block;
}

img.rounded {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

ul {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

ul li {
	margin-bottom: 10px;
}

ul.circlelist li {
	background-image: url(../img/icon-list-circle.svg);
	background-repeat: no-repeat;
	background-position: left 2px;
	background-size: 14px;
	padding-left: 24px;
}

ul.checklist li {
	background-image: url(../img/icon-list-check.svg);
	background-repeat: no-repeat;
	background-position: left 6px;
	background-size: 14px;
	padding-left: 24px;
}

ul.extended li {
	display: inline;
}

ul.extended li:after {
	content: ";";
}

.table-container {
	overflow-x: auto;
	display: block;
	width: 100%;
	margin-bottom: 20px;
}

table {
	border-collapse: collapse;
}

table th {
	background-color: var(--dark-grey);
	color: var(--white);
	padding: 5px 10px;
	font-weight: normal;
}

table tbody tr {
	color: var(--black);
}

table tbody td {
	padding: 10px;
	font-size: 0.9em;
}

table tbody tr:nth-child(even) {
	background-color: var(--light-grey);
}

table tbody tr:nth-child(odd) {
	background-color: var(--grey);
}

.gist table tbody tr:nth-child(even) {
	background-color: unset;
}

.gist table tbody tr:nth-child(odd) {
	background-color: unset;
}

/* fine formattazione testo */

/* elementi form */
.search-input {
	transition: all ease 0.2s;
	margin-bottom: 20px;
	float: left;
	width: 100%;
}

.search-input.button-container {
	text-align: center;
	margin-top: 20px;
}

.search-input.checkbox {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.search-input label {
	display: block;
	font-size: 0.8em;
	margin-bottom: 10px;
	line-height: 15px;
	font-weight: 700;
	font-family: 'Poppins', sans-serif;
}

.search-input input, .search-input textarea {
	display: block;
	width: 100%;
}

.search-input.half {
	width: 50%;
}

.search-input.half:nth-child(odd) {
	padding-right: 10px;
}

.search-input.half:nth-child(even) {
	padding-left: 10px;
}

@media only screen and (max-width: 640px) {
	.search-input.half {
		width: 100%;
	}

	.search-input.half:nth-child(odd), .search-input.half:nth-child(even) {
		padding-right: 0;
		padding-left: 0;
	}
}

input {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	outline: none;
	border: 0;
	background-color: var(--light-grey);
	height: 50px;
	line-height: 50px;
	padding: 0 20px;
	font-size: 1.0em;
	color: var(--dark-grey);
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	transition: 0.2s;
}

input::placeholder {
	color: var(--dark-grey);
}

input:focus {
	color: var(--blue);
	background-color: var(--white);
}

input.error {
	border: solid 3px;
	border-color: var(--aqua);
	animation: input-error 0.8s infinite;
	-webkit-animation: input-error 0.8s infinite;
}

textarea.error {
	border: solid 3px;
	border-color: var(--aqua);
	animation: input-error 0.8s infinite;
	-webkit-animation: input-error 0.8s infinite;
}

textarea.error.apple {
	border: solid 3px;
	border-color: var(--aqua);
	animation: none;
	-webkit-animation: none;
}

input.error.apple {
	border: solid 3px;
	border-color: var(--aqua);
	animation: none;
	-webkit-animation: none;
}

@keyframes input-error {
	0% {
		border-color: var(--aqua);
	}

	50% {
		border-color: var(--grey);
	}

	100% {
		border-color: var(--aqua);
	}
}

@-webkit-keyframes input-error {
	0% {
		-webkit-border-color: var(--aqua);
	}

	50% {
		-webkit-border-color: var(--grey);
	}

	100% {
		-webkit-border-color: var(--aqua);
	}
}

input.error:focus {
	border-color: var(--blue);
}

textarea {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	outline: none;
	border: 0;
	background-color: var(--light-grey);
	height: 180px;
	padding: 20px;
	font-size: 1.0em;
	font-family: 'Poppins', sans-serif;
	color: var(--black);
	font-weight: 400;
	transition: 0.2s;
}

textarea:focus {
	color: var(--blue);
	background-color: var(--white);
}

.search-input.checkbox {
	display: -webkit-flex;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 20px;
}

.search-input.checkbox a {
	color: var(--black);
	font-weight: bold;
}

.search-input.checkbox a:hover {
	opacity: 0.8;
}

.search-input.checkbox label {
	width: auto;
	margin-bottom: 0;
	opacity: 1.0;
	font-weight: normal;
}

.label-blog {
	background-color: var(--aqua);
	color: var(--white);
	font-weight: 600;
	font-size: 0.9em;
	padding: 5px 10px;
	position: absolute;
	z-index: 5;
	right: 0px;
	top: 25px;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-bottomleft: 5px;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}


.checkbox-style {
	-webkit-appearance: none;
	appearance: none;
	width: 24px !important;
	height: 24px !important;
	cursor: pointer;
	vertical-align: middle;
	background-color: var(--light-grey);
	border: 0;
	outline: none;
	padding: 0;
	margin-right: 15px;
	background-position: center center;
	background-size: 70%;
	background-repeat: no-repeat;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	flex-basis: 24px;
	flex-grow: 0;
	flex-shrink: 0;
}

.checkbox-style:checked {
	background-image: url(../img/icon-checkbox-checked.svg);
}

select {
	appearance: none;
	background-color: transparent;
	border: solid 1px;
	border-color: var(--grey);
	padding: 0 20px;
	margin: 0;
	width: 100%;
	height: 50px;
	font-size: 1.0em;
	background-color: var(--white);
	background-image: url(../img/icon-arrow-bottom.svg);
	background-position: right 20px center;
	background-repeat: no-repeat;
	background-size: 12px;
	color: var(--dark-grey);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	transition: 0.2s;
	outline: none;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	position: relative;
}

select:focus {
	color: var(--black);
	border-color: var(--black);
}

.alert {
	width: 100%;
	float: left;
	margin-bottom: 20px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background-color: var(--blue);
	color: var(--white);
	padding: 20px 20px 20px 54px;
	font-weight: 300;
	font-family: 'Poppins', sans-serif;
	background-repeat: no-repeat;
	background-position: 20px center;
	background-size: 24px;
}

.alert.error {
	background-image: url(../img/icon-alert.svg);
}

.alert.valid {
	background-image: url(../img/icon-valid.svg);
}

.button {
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	border: 0 none;
	cursor: pointer;
	padding: 15px 30px;
	font-weight: 300;
	line-height: 1.2em !important;
	text-align: center;
	text-shadow: none !important;
	background-color: var(--aqua);
	color: var(--white);
	font-size: 16px !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	display: inline-block;
	transition: all ease 0.2s;
}

.button:hover {
	background-color: #6DC7B5;
	text-shadow: 0px 0px 10px var(--white);
	/* box-shadow: 0px 0px 10px var(--aqua); */
}

/* fine elementi form */

/*  colonne */
.columns {
	display: -webkit-flex;
	display: flex;
	position: relative;
	width: 100%;
}

.columns .col-sx {
	padding-right: 15px;
	transition: all 0.3s ease;

}

.columns .col-dx {
	padding-left: 15px;
	transition: all 0.3s ease;
}

.columns.full {
	margin-bottom: 20px;
}

.columns.half .col-sx, .columns.half .col-dx, .columns .columns.half .col-sx, .columns .columns.half .col-dx {
	width: 50%;
}

.columns.half-qtr-sx .col-sx, .columns .columns.half-qtr-sx .col-sx {
	width: 70%;
	display: inline-block;
}

.columns.half-qtr-sx .col-dx, .columns .columns.half-qtr-sx .col-dx {
	width: 30%;
	display: inline-block;
}

.columns.half-qtr-dx .col-sx, .columns .columns.half-qtr-dx .col-sx {
	width: 30%;
	display: inline-block;
}

.columns.half-qtr-dx .col-dx, .columns .columns.half-qtr-dx .col-dx {
	width: 70%;
	display: inline-block;
}

.columns.trd .col-row, .columns .columns.trd .col-row {
	width: 33.33%;
	display: inline-block;
	padding: 0 10px;
}

.columns.trd .col-row:nth-child(3n+1), .columns .columns.trd .col-row:nth-child(3n+1) {
	padding: 0 20px 0 0;
}

.columns.trd .col-row:nth-child(3n+3), .columns .columns.trd .col-row:nth-child(3n+3) {
	padding: 0 0 0 20px;
}

.columns.four .col-row, .columns .columns.four .col-row {
	width: 25%;
	display: inline-block;
	padding: 0 20px;
}

/* .columns.four .col-row:nth-child(4n+1), .columns .columns.four .col-row:nth-child(4n+1) {
    padding: 0 20px 0 0;
}

.columns.four .col-row:nth-child(4n+4), .columns .columns.four .col-row:nth-child(4n+4) {
    padding: 0 0 0 20px;
} */

.wrap {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media only screen and (max-width: 1024px) {
	.columns.four {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.columns.four .col-row, .columns .columns.four .col-row {
		width: 50%;
	}

	.columns.four .col-row:nth-child(2n+1), .columns .columns.four .col-row:nth-child(2n+1) {
		padding: 0 20px 0 0;
	}

	.columns.four .col-row:nth-child(2n+2), .columns .columns.four .col-row:nth-child(2n+2) {
		padding: 0 0 0 20px;
	}
}

@media only screen and (max-width: 960px) {
	.columns {
		display: block;
	}

	.columns .col-sx {
		border-right: 0;
		padding-right: 0;
	}

	.columns .col-dx {
		padding-left: 0;
	}

	.columns.half .col-sx, .columns.half .col-dx, .columns .columns.half .col-sx, .columns .columns.half .col-dx {
		width: 100%;
	}

	.columns.half-qtr-sx .col-sx, .columns.half-qtr-sx .col-dx, .columns.half-qtr-dx .col-sx, .columns.half-qtr-dx .col-dx, .columns.trd .col-row, .columns .columns.half-qtr-sx .col-sx, .columns .columns.half-qtr-sx .col-dx, .columns .columns.half-qtr-dx .col-sx, .columns .columns.half-qtr-dx .col-dx, .columns .columns.trd .col-row {
		width: 100%;
		padding: 0 !important;
	}
}

@media only screen and (max-width: 640px) {
	.columns.four {
		display: block;
	}

	.columns.four .col-row, .columns .columns.four .col-row {
		width: 100%;
		padding: 0 !important;
	}
}

/* fine colonne */

/* paginazione */
.paginazione {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
}

.paginazione li {
	margin: 0;
}

.paginazione a {
	float: left;
	color: var(--black);
	font-weight: 500;
	text-align: center;
	width: 36px;
	height: 36px;
	line-height: 36px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	transition: 0.2s;
}

.paginazione a:hover {
	color: var(--dark-grey);
}

.paginazione .active, .paginazione .active:hover {
	border: solid 1px;
	color: var(--white);
	background-color: var(--aqua);
	cursor: default;
	font-weight: 700;
	font-family: 'Roboto Slab', serif;
}

.paginazione .arrow {
	background-size: 16px;
	background-position: center;
	background-repeat: no-repeat;
}

.paginazione .arrow:hover {
	opacity: 0.4;
}

.paginazione .arrow.left {
	background-image: url(../img/icon-arrow-left.svg);
}

.paginazione .arrow.right {
	background-image: url(../img/icon-arrow-right.svg);
}

/* fine paginazione */

/* gestione spazi */
.mb0 {
	margin-bottom: 0 !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt320 {
	margin-top: 20px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.pt20 {
	padding-top: 20px;
}

.pt40 {
	padding-top: 40px;
}

.pt60 {
	padding-top: 60px;
}

.pl10 {
	padding-left: 10px;
}

.pb20 {
	padding-bottom: 20px;
}

.pb40 {
	padding-bottom: 40px;
}

.pr10 {
	padding-right: 10px;
}

/* fine gestione spazi */

.show-mobile {
	display: none;
}

@media only screen and (max-width: 960px) {
	.show-mobile {
		display: block;
	}
}

/* ---------------------- fine GENERAL SETTINGS ---------------------- */

/* ---------------------- FOOTER ---------------------- */
.footer-form {
	position: relative;
	width: 100%;
	background-color: var(--grey);
	color: var(--dark-grey);
	padding: 40px 0 20px;
	border-top: solid 10px var(--aqua);
}

.footer-form .search-input.checkbox a {
	color: var(--dark-grey);
}

.footer-title {
	margin-bottom: 20px;
	display: block;
	letter-spacing: 0.05em;
	width: 100%;
	font-size: 1.4em;
	line-height: 1.2em;
	font-weight: 700;
	font-family: 'Roboto Slab', serif;
}

.footer-title.sub {
	font-size: 1.2em;
}

ul.tecnologie {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 20px;
	width: 100%;
}

ul.tecnologie li {
	width: 16.66%;
	padding: 0 10px 20px;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0.3;
}

@media only screen and (max-width: 960px) {
	.footer-form .col-sx {
		border-bottom: solid 1px var(--dark-grey);
		margin-bottom: 40px;
	}
}

@media only screen and (max-width: 520px) {
	ul.tecnologie li {
		width: 25%;
	}
}

ul.tecnologie li img {
	display: block;
	width: 50%;
}

@media only screen and (max-width: 420px) {
	ul.tecnologie li img {
		width: 60%;
	}
}

footer {
	position: relative;
	background-color: var(--grey);
	color: var(--dark-grey);
	font-size: 0.8em;
	display: flow-root;
	width: 100%;
}

footer .block-container {
	border-top: solid 1px var(--dark-grey);
	padding: 40px 0;
}

footer .novacore-info {
	float: left;
	transition: all 0.2s ease;
}

footer .novacore-info .info-content {
	display: -webkit-flex;
	display: flex;
	align-items: center;
}

footer .novacore-info .info-content .social {
	margin: 0;
}

footer .novacore-info .info-content .social li {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 0;
}

footer .novacore-info .info-content .social li:last-child {
	margin-right: 0;
}

footer .novacore-info .info-content .social li a img {
	height: 24px;
	opacity: 0.3;
	transition: 0.2s;
}

footer .novacore-info .info-content .social li a:hover img {
	opacity: 1.0;
}

footer .novacore-info .info-content span {
	margin: 0 20px;
}

footer .link-content {
	float: right;
}

footer .footer-nav {
	list-style: none;
	margin: 0 0 15px;
	padding: 0;
	transition: all 0.2s ease;
	display: block;
}

footer .footer-nav li {
	display: inline-block;
	margin: 0 0 0 20px;
	padding: 0;
	background-image: none;
}

footer .footer-nav li a {
	display: block;
	color: var(--dark-grey);
	letter-spacing: 0.05em;
}

footer .footer-nav li a:hover {
	color: var(--black);
}

footer .signature {
	display: block;
	text-align: right;
}

footer .signature img {
	height: 20px;
	cursor: pointer;
	opacity: 0.3;
	transition: 0.2s;
}

footer .signature img:hover {
	opacity: 1;
}

footer .signature.brand {
	margin-bottom: 10px;
	text-align: left;
}

footer .signature.brand img {
	height: 20px;
}

@media only screen and (max-width: 1460px) {
	footer {
		padding: 0 30px;
	}
}

@media only screen and (max-width: 960px) {
	footer .signature, footer .signature.brand {
		text-align: center;
	}

	footer .footer-nav li {
		margin: 0 10px;
	}

	footer .link-content, footer .novacore-info {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	footer .novacore-info .info-content {
		display: block;
	}

	footer .novacore-info .info-content .social {
		margin: 20px 0 20px;
	}

	footer .novacore-info .info-content span {
		display: block;
	}
}

@media only screen and (max-width: 580px) {}

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

/* ---------------------- HEADER ---------------------- */
header {
	position: fixed;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	width: 100%;
	padding: 20px 30px;
	z-index: 100;
	transition: all 0.2s ease;
	background-color: var(--blue);
}

.sticky {
	transition: all 0.2s ease;
}

.sticky .toggle {
	height: 40px;
}

.toggle .logotype {
	display: none !important;
	height: 60%;
	animation: dissolvenza 0.8s linear;
	-webkit-animation: dissolvenza 0.8s linear;
}

@keyframes dissolvenza {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-webkit-keyframes dissolvenza {
	0% {
		-webkit-opacity: 0;
	}

	50% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 1;
	}
}

#toggle:checked~.toggle .logotype {
	display: inline-block !important;
	opacity: 1 !important;
}

.toggle .logotype .logotype-glow {
	display: block;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	animation: logotype-glow 2s infinite alternate-reverse;
	-webkit-animation: logotype-glow 2s infinite alternate-reverse;
}

@keyframes logotype-glow {
	0% {
		background-image: url(../img/NC-Logotype.svg);
	}

	100% {
		background-image: url(../img/NC-Logotype-Glow.png);
	}
}

@-webkit-keyframes logotype-glow {
	0% {
		-webkit-background-image: url(../img/NC-Logotype.svg);
	}

	100% {
		-webkit-background-image: url(../img/NC-Logotype-Glow.png);
	}
}

/* .toggle:hover .logotype .logotype-glow {
	animation: logotype-glow 0.5s infinite;
} */

#toggle, .toggle {
	/* background-image: url(../img/NC-Logotype.svg); */
	background-image: none;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 33.33%;
	display: none;
	z-index: 100;
	transition: 0.2s;
	width: auto;
	min-width: 0%;
}

@keyframes show-menu-small-sticked {
	0% {
		min-width: 0px;
	}

	10% {
		min-width: 150px;
	}

	20% {
		min-width: 0px;
	}

	100% {
		min-width: 0px;
	}
}

@-webkit-keyframes show-menu-small-sticked {
	0% {
		-webkit-min-width: 0px;
	}

	10% {
		-webkit-min-width: 150px;
	}

	20% {
		-webkit-min-width: 0px;
	}

	100% {
		-webkit-min-width: 0px;
	}
}

#toggle:checked~.toggle {
	min-width: 100%;
	height: 40px;
	animation: open-menu 0.2s linear;
	-webkit-animation: open-menu 0.2s linear;
}

@keyframes open-menu {
	0% {
		min-width: 0%;
	}

	100% {
		min-width: 100%;
	}
}

@-webkit-keyframes open-menu {
	0% {
		-webkit-min-width: 0%;
	}

	100% {
		-webkit-min-width: 100%;
	}
}

#toggle:checked~.toggle .action-txt {
	display: none;
}

.toggle .action-txt {
	color: var(--white);
	text-transform: uppercase;
	position: absolute;
	text-align: center;
	width: 100%;
	font-size: 14px;
	opacity: 0;
	letter-spacing: 0.2em;
	animation: action-menu-txt 10s infinite;
	-webkit-animation: action-menu-txt 10s infinite;
}

.toggle .action-txt:before {
	content: "start";
}

.sticky .toggle .action-txt {
	animation: action-menu-txt-sticked 10s infinite;
	-webkit-animation: action-menu-txt-sticked 10s infinite;
	font-size: 12px;
}

@keyframes action-menu-txt {
	0% {
		opacity: 0;
	}

	5% {
		opacity: 0;
	}

	10% {
		opacity: 1;
	}

	15% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

@-webkit-keyframes action-menu-txt {
	0% {
		-webkit-opacity: 0;
	}

	5% {
		-webkit-opacity: 0;
	}

	10% {
		-webkit-opacity: 1;
	}

	15% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
	}
}

@keyframes action-menu-txt-sticked {
	0% {
		opacity: 0;
	}

	5% {
		opacity: 0;
	}

	10% {
		opacity: 1;
	}

	15% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

@-webkit-keyframes action-menu-txt-sticked {
	0% {
		-webkit-opacity: 0;
	}

	5% {
		-webkit-opacity: 0;
	}

	10% {
		-webkit-opacity: 1;
	}

	15% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
	}
}

.toggle {
	cursor: pointer;
	outline: none;
	height: 80px;
	position: relative;
	z-index: 150;
	margin-top: 0px;
	cursor: pointer;
	display: flex;
	display: -webkit-flex;
	position: relative;
	user-select: none;
	align-self: center;
	justify-content: center;
	align-items: center;
}

.toggle .img-proporzione {
	display: inline-block;
	height: 100%;
	width: auto;
	padding: 0;
	margin: 0;
	opacity: 0;
}

.toggle .blocco-proporzione {
	display: block;
	height: 100%;
	width: 120px;
	opacity: 0;
	transition: 0.3s;
}

#toggle:checked~.toggle .img-proporzione, #toggle:checked~.toggle .blocco-proporzione {
	display: none;
}

.toggle .logo-left {
	display: block;
	height: 100%;
	width: 100%;
	left: 0;
	position: absolute;
	top: 0;
	animation-name: logo-menu-left 10s infinite;
	-webkit-animation: logo-menu-left 10s infinite;
}

.sticky .toggle .logo-left {
	animation: logo-menu-left-sticky 10s infinite;
	-webkit-animation: logo-menu-left-sticky 10s infinite;
}

#toggle:checked~.toggle .logo-left {
	animation: logo-menu-left-stop 10s infinite;
	-webkit-animation: logo-menu-left-stop 10s infinite;
}

@keyframes logo-menu-left {
	0% {
		transform: translateX(0px);
	}

	10% {
		transform: translateX(-70px);
	}

	20% {
		transform: translateX(0px);
	}

	100% {
		transform: translateX(0px);
	}
}

@-webkit-keyframes logo-menu-left {
	0% {
		-webkit-transform: translateX(0px);
	}

	10% {
		-webkit-transform: translateX(-70px);
	}

	20% {
		-webkit-transform: translateX(0px);
	}

	100% {
		-webkit-transform: translateX(0px);
	}
}

@keyframes logo-menu-left-sticky {
	0% {
		transform: translateX(0px);
	}

	10% {
		transform: translateX(-50px);
	}

	20% {
		transform: translateX(0px);
	}

	100% {
		transform: translateX(0px);
	}
}

@-webkit-keyframes logo-menu-left-sticky {
	0% {
		-webkit-transform: translateX(0px);
	}

	10% {
		-webkit-transform: translateX(-50px);
	}

	20% {
		-webkit-transform: translateX(0px);
	}

	100% {
		-webkit-transform: translateX(0px);
	}
}

@keyframes logo-menu-left-stop {
	0% {
		transform: translateX(0px);
	}

	100% {
		transform: translateX(0px);
	}
}

@-webkit-keyframes logo-menu-left-stop {
	0% {
		-webkit-transform: translateX(0px);
	}

	100% {
		-webkit-transform: translateX(0px);
	}
}

.toggle .logo-left::before {
	content: "";
	display: inline-block;
	height: 100%;
	width: 100%;
	background-image: url(../img/NC-Symbol-Left.svg);
	background-repeat: no-repeat;
	background-position: center left;
	background-size: contain;
	animation: left-glow 2s infinite alternate;
	-webkit-animation: left-glow 2s infinite alternate-reverse;
}

@keyframes left-glow {
	0% {
		background-image: url(../img/NC-Symbol-Left.svg);
	}

	100% {
		background-image: url(../img/NC-Symbol-Left-Glow.png);
	}
}

@-webkit-keyframes left-glow {
	0% {
		-webkit-background-image: url(../img/NC-Symbol-Left.svg);
	}

	100% {
		-webkit-background-image: url(../img/NC-Symbol-Left-Glow.png);
	}
}

.toggle .logo-right {
	display: block;
	height: 100%;
	width: 100%;
	right: 0;
	position: absolute;
	top: 0;
	animation: logo-menu-right 10s infinite;
	-webkit-animation: logo-menu-right 10s infinite;
}

.sticky .toggle .logo-right {
	animation: logo-menu-right-sticky 10s infinite;
	-webkit-animation: logo-menu-right-sticky 10s infinite;
}

#toggle:checked~.toggle .logo-right {
	animation: logo-menu-right-stop 10s infinite;
	-webkit-animation: logo-menu-right-stop 10s infinite;
}

@keyframes logo-menu-right-stop {
	0% {
		transform: translateX(0px);
	}

	100% {
		transform: translateX(0px);
	}
}

@-webkit-keyframes logo-menu-right-stop {
	0% {
		-webkit-transform: translateX(0px);
	}

	100% {
		-webkit-transform: translateX(0px);
	}
}

@keyframes logo-menu-right {
	0% {
		transform: translateX(0px);
	}

	10% {
		transform: translateX(70px);
	}

	20% {
		transform: translateX(0px);
	}

	100% {
		transform: translateX(0px);
	}
}

@-webkit-keyframes logo-menu-right {
	0% {
		-webkit-transform: translateX(0px);
	}

	10% {
		-webkit-transform: translateX(70px);
	}

	20% {
		-webkit-transform: translateX(0px);
	}

	100% {
		-webkit-transform: translateX(0px);
	}
}

@keyframes logo-menu-right-sticky {
	0% {
		transform: translateX(0px);
	}

	10% {
		transform: translateX(50px);
	}

	20% {
		transform: translateX(0px);
	}

	100% {
		transform: translateX(0px);
	}
}

@-webkit-keyframes logo-menu-right-sticky {
	0% {
		-webkit-transform: translateX(0px);
	}

	10% {
		-webkit-transform: translateX(50px);
	}

	20% {
		-webkit-transform: translateX(0px);
	}

	100% {
		-webkit-transform: translateX(0px);
	}
}

.toggle .logo-right::before {
	content: "";
	display: inline-block;
	height: 100%;
	width: 100%;
	background-image: url(../img/NC-Symbol-Right.svg);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
	animation: right-glow 2s infinite alternate-reverse;
	-webkit-animation: right-glow 2s infinite alternate-reverse;
}

@keyframes right-glow {
	0% {
		background-image: url(../img/NC-Symbol-Right.svg);
	}

	100% {
		background-image: url(../img/NC-Symbol-Right-Glow.png);
	}
}

@-webkit-keyframes right-glow {
	0% {
		-webkit-background-image: url(../img/NC-Symbol-Right.svg);
	}

	100% {
		-webkit-background-image: url(../img/NC-Symbol-Right-Glow.png);
	}
}

header .nav {
	/*display: -webkit-flex;
	display: flex;
    align-items: center;
	justify-content: center;
	position:fixed;
	top: 0;
	left: 0;
	z-index:120;
	overflow:hidden;
	height:0px;
	margin:0;
	width:100%;
	transition:height 0.2s ease;
	background-color: var(--blue);*/
}

#toggle:checked~.nav {
	opacity: 1;
	width: 100%;
	height: 100%;
}

header .nav ul {
	opacity: 0;
	overflow: hidden;
	/* width: 0%; */
}

#toggle:checked~.nav ul {
	/* opacity: 1; */
	opacity: 0;
	animation: list-show 0.3s normal forwards;
	-webkit-animation: list-show 0.3s normal forwards;
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.3s;
}

@keyframes list-show {
	0% {
		width: 0%;
		opacity: 0;
	}

	100% {
		width: 100%;
		opacity: 1;
	}
}

@-webkit-keyframes list-show {
	0% {
		-webkit-width: 0%;
		opacity: 0;
	}

	100% {
		-webkit-width: 100%;
		opacity: 1;
	}
}

header .nav li {
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: normal;
	height: 60px;
	position: relative;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	margin-bottom: 10px;
}

header .nav.apple li::before, header .nav.apple li::after {
	display: none !important;
}

#toggle:checked~.nav li::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	content: "";
	background-color: var(--white);
	-webkit-box-shadow: 0px 0px 5px 0px #fff;
	box-shadow: 0px 0px 5px 0px #fff;
	animation: link-show-left 0.4s normal forwards;
	-webkit-animation: link-show-left 0.4s normal forwards;
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.2s;

}

#toggle:checked~.nav li::after {
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	content: "";
	background-color: var(--white);
	-webkit-box-shadow: 0px 0px 5px 0px #fff;
	box-shadow: 0px 0px 5px 0px #fff;
	animation: link-show-right 0.4s normal forwards;
	-webkit-animation: link-show-right 0.4s normal forwards;
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}

@keyframes link-show-left {
	0% {
		opacity: 1;
	}

	70% {
		opacity: 1;
	}

	80% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

@-webkit-keyframes link-show-left {
	0% {
		-webkit-opacity: 1;
	}

	70% {
		-webkit-opacity: 1;
	}

	80% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
	}
}

@keyframes link-show-right {
	0% {
		opacity: 1;
	}

	70% {
		opacity: 1;
	}

	80% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

@-webkit-keyframes link-show-right {
	0% {
		-webkit-opacity: 1;
	}

	70% {
		-webkit-opacity: 1;
	}

	80% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
	}
}

header .nav li a {
	color: var(--white);
	font-weight: 200;
	font-size: 2em;
	letter-spacing: 0.2em;
	transition: 0.2s ease;
	z-index: 120;
	padding: 0 20px;
	line-height: normal;
	text-transform: uppercase;
	text-align: center;
}

header .nav li a:hover {
	text-shadow: 0 0 10px var(--white);
	color: var(--white);
}

header .nav li a.active {
	color: var(--aqua);
	font-weight: 700;
}

header .nav li a.active::before {
	content: "YOU'RE IN";
	display: block;
	font-size: 0.3em;
	font-weight: 500;
	line-height: 0.0em;
}

header .nav li a.active:hover {
	color: var(--aqua);
	text-shadow: none;
	cursor: default;
}

@media only screen and (max-width: 960px) {
	header {
		padding: 10px 20px;
	}

	.toggle {
		height: 40px;
	}

	/* .toggle .img-proporzione, .toggle .blocco-proporzione {
		animation: show-menu-small 10s infinite;
		-webkit-animation: show-menu-small 10s infinite;
		width: 60px;
	}

	.sticky .toggle .img-proporzione, .sticky .toggle .blocco-proporzione {
		animation: show-menu-small-sticked 10s infinite;
		-webkit-animation: show-menu-small-sticked 10s infinite;
	} */

	.toggle .logo-left {
		animation: logo-menu-left-small 10s infinite;
		-webkit-animation: logo-menu-left-small 10s infinite;
	}

	.sticky .toggle .logo-left {
		animation: logo-menu-left-sticky 10s infinite;
		-webkit-animation: logo-menu-left-small-sticky 10s infinite;
	}

	@keyframes logo-menu-left-small {
		0% {
			transform: translateX(0px);
		}

		10% {
			transform: translateX(-50px);
		}

		20% {
			transform: translateX(0px);
		}

		100% {
			transform: translateX(0px);
		}
	}

	@-webkit-keyframes logo-menu-left-small {
		0% {
			-webkit-transform: translateX(0px);
		}

		10% {
			-webkit-transform: translateX(-50px);
		}

		20% {
			-webkit-transform: translateX(0px);
		}

		100% {
			-webkit-transform: translateX(0px);
		}
	}

	@keyframes logo-menu-left-small-sticky {
		0% {
			transform: translateX(0px);
		}

		10% {
			transform: translateX(-50px);
		}

		20% {
			transform: translateX(0px);
		}

		100% {
			transform: translateX(0px);
		}
	}

	@-webkit-keyframes logo-menu-left-small-sticky {
		0% {
			-webkit-transform: translateX(0px);
		}

		10% {
			-webkit-transform: translateX(-50px);
		}

		20% {
			-webkit-transform: translateX(0px);
		}

		100% {
			-webkit-transform: translateX(0px);
		}
	}

	.toggle .logo-right {
		animation: logo-menu-right-small 10s infinite;
		-webkit-animation: logo-menu-right-small 10s infinite;
	}

	.sticky .toggle .logo-right {
		animation: logo-menu-right-sticky 10s infinite;
		-webkit-animation: logo-menu-right-small-sticky 10s infinite;
	}

	@keyframes logo-menu-right-small {
		0% {
			transform: translateX(0px);
		}

		10% {
			transform: translateX(50px);
		}

		20% {
			transform: translateX(0px);
		}

		100% {
			transform: translateX(0px);
		}
	}

	@-webkit-keyframes logo-menu-right-small {
		0% {
			-webkit-transform: translateX(0px);
		}

		10% {
			-webkit-transform: translateX(50px);
		}

		20% {
			-webkit-transform: translateX(0px);
		}

		100% {
			-webkit-transform: translateX(0px);
		}
	}

	@keyframes logo-menu-right-small-sticky {
		0% {
			transform: translateX(0px);
		}

		10% {
			transform: translateX(50px);
		}

		20% {
			transform: translateX(0px);
		}

		100% {
			transform: translateX(0px);
		}
	}

	@-webkit-keyframes logo-menu-right-small-sticky {
		0% {
			-webkit-transform: translateX(0px);
		}

		10% {
			-webkit-transform: translateX(50px);
		}

		20% {
			-webkit-transform: translateX(0px);
		}

		100% {
			-webkit-transform: translateX(0px);
		}
	}

	.toggle .action-txt {
		font-size: 12px;
	}

	.sticky .toggle .action-txt {
		animation: action-menu-txt-sticked 10s infinite;
		-webkit-animation: action-menu-txt-sticked 10s infinite;
	}

	header .nav li {
		height: 40px;
	}

	header .nav li a {
		font-size: 1.2em;
	}

	header .nav li a.active::before {
		font-size: 0.4em;
	}
}

header .language {
	position: absolute;
	left: 0;
	top: 0;
	height: 30px;
	padding: 0 10px;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--dark-blue);
	clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%);
	opacity: 0.5;
	transition: 0.3s;
}

header .language:hover {
	opacity: 1;
}

header .language a {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}

header .language a img {
	display: inline-block;
	margin: 0;
	height: 20px;
}

header .language a span {
	display: inline-block;
	color: var(--white);
	text-transform: uppercase;
	font-size: 0.7em;
	text-align: center;
	margin: 0 10px;
}

@media only screen and (max-width: 520px) {
	header .language {
		padding: 0 15px 0 10px;
	}

	header .language a span {
		display: none;
	}
}

/* ---------------------- fine HEADER ---------------------- */

/* ---------------------- HOMEPAGE ---------------------- */
#body-container.home {
	padding-top: 0px;
}

@media only screen and (max-width: 960px) {
	#body-container.home {
		padding-top: 0;
	}
}

.section-button-container {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 0 20px;
}

section.top-home {
	position: relative;
	height: 650px;
	padding-top: 110px;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--dark-grey);
	font-size: 2.5em;
	line-height: 1.2em;
	text-shadow: 0 0 10px var(--dark-blue);
	overflow: hidden;
	transition: 0.2s;
	background: var(--dark-blue);
	background: -moz-radial-gradient(center, ellipse cover, #26475f 0%, #132430 100%);
	/* FF3.6-15 */
	background: -webkit-radial-gradient(center, ellipse cover, #26475f 0%, #132430 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: radial-gradient(ellipse at center, #26475f 0%, #132430 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#26475f', endColorstr='#132430', GradientType=1);
	/* IE6-9 fallback on horizontal gradient */
}

section.top-home::after {
	background-image: url(../img/top-home-virtual-mountain.svg);
	background-repeat: repeat-x;
	background-size: cover;
	position: absolute;
	height: 50%;
	width: 100%;
	bottom: 0;
	left: 0;
	content: "";
	opacity: 0.6;
	z-index: 1;
	animation: top-mountain 300s linear infinite;
	-webkit-animation: top-mountain 300s linear infinite;
}

@keyframes top-mountain {
	0% {
		ìbackground-position-x: 0;
	}

	100% {
		background-position-x: 20000px;
	}
}

@-webkit-keyframes top-mountain {
	0% {
		-webkit-background-position-x: 0;
	}

	100% {
		-webkit-background-position-x: 20000px;
	}
}

section.top-home::before {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	content: "";
	background-image: url(../img/top-home-pattern-stripe.svg);
	background-repeat: repeat;
	opacity: 0.3;
	z-index: 2;
}

.top-home .top-text {
	position: relative;
	display: inline-block;
	z-index: 3;
	text-align: center;
}

.top-home .top-text .code-animate {
	animation: code-animate 0.2s linear forwards;
	-webkit-animation: code-animate 0.2s linear forwards;
	opacity: 0;
	height: 0px;
	display: inline;
	overflow: hidden;
}

.top-home .top-text .code-animate.br {
	/* display: -webkit-flex;
	display: flex; */
	display: table;
}

@keyframes code-animate {
	0% {
		opacity: 0;
		height: 0px;
	}

	100% {
		opacity: 1;
		height: auto;
	}
}

@-webkit-keyframes code-animate {
	0% {
		-webkit-opacity: 0;
		-webkit-height: 0px;
	}

	100% {
		-webkit-opacity: 1;
		-webkit-height: auto;
	}
}

/* foreach */
.top-home .top-text .code-animate.A {
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}

/* ( */
.top-home .top-text .code-animate.B {
	animation-delay: 0.4s;
	-webkit-animation-delay: 0.4s;
}

/* $problem  */
.top-home .top-text .code-animate.C {
	animation-delay: 0.6s;
	-webkit-animation-delay: 0.6s;
}

/* as */
.top-home .top-text .code-animate.D {
	animation-delay: 0.7s;
	-webkit-animation-delay: 0.7s;
}

/* $big */
.top-home .top-text .code-animate.E {
	animation-delay: 0.9s;
	-webkit-animation-delay: 0.9s;
}

/* ) */
.top-home .top-text .code-animate.F {
	animation-delay: 1.0s;
	-webkit-animation-delay: 1.0s;
}

/* { */
.top-home .top-text .code-animate.G {
	animation-delay: 1.2s;
	-webkit-animation-delay: 1.2s;
}

/* $solution */
.top-home .top-text .code-animate.H {
	animation-delay: 1.4s;
	-webkit-animation-delay: 1.4s;
}

/* = */
.top-home .top-text .code-animate.I {
	animation-delay: 1.6s;
	-webkit-animation-delay: 1.6s;
}

/* "Novacore!"; */
.top-home .top-text .code-animate.L {
	animation-delay: 1.9s;
	-webkit-animation-delay: 1.9s;
}

/* } */
.top-home .top-text .code-animate.M {
	animation-delay: 2.1s;
	-webkit-animation-delay: 2.1s;
}

section.top-home span {
	font-weight: 400;
}

.code-txt-01 {
	color: var(--aqua);
}

.code-txt-02 {
	color: var(--white);
	font-weight: 700 !important;
}

.code-txt-03 {
	color: var(--aqua);
	font-weight: 700 !important;
}

.top-home .top-text .section-button-container {
	margin: 40px 0 0 0;
	animation: code-button 0.5s linear forwards;
	-webkit-animation: code-button 0.5s linear forwards;
	animation-delay: 2.5s;
	-webkit-animation-delay: 2.5s;
	opacity: 0;
	height: 0;
	display: -webkit-flex;
	display: block;
	text-align: center;
}

.top-home .top-text .button {
	font-size: 20px !important;
	box-shadow: 0 0 10px var(--dark-blue);
	line-height: 1.0em !important;
}

@keyframes code-button {
	0% {
		opacity: 0;
		transform: scale(3);
		filter: blur(5rem);
		margin: 0 0 0 0;
		height: 0;
	}

	100% {
		opacity: 1;
		transform: scale(1);
		filter: blur(0);
		margin: 40px 0 0 0;
		height: auto;
	}
}

@-webkit-keyframes code-button {
	0% {
		-webkit-opacity: 0;
		-webkit-transform: scale(3);
		-webkit-filter: blur(5rem);
		-webkit-margin: 0 0 0 0;
		-webkit-height: 0;
	}

	100% {
		-webkit-opacity: 1;
		-webkit-transform: scale(1);
		-webkit-filter: blur(0);
		-webkit-margin: 40px 0 0 0;
		-webkit-height: auto;
	}
}

@media only screen and (max-width: 1024px) {
	section.top-home {
		font-size: 2.0em;
	}
}

@media only screen and (max-width: 960px) {
	section.top-home {
		padding-top: 60px;
		height: 550px;
	}
}

@media only screen and (max-width: 820px) {
	section.top-home {
		font-size: 1.4em;
		height: 400px;
	}
}

@media only screen and (max-width: 520px) {
	section.top-home {
		font-size: 1.2em;
	}

	.top-home .top-text .button {
		font-size: 16px !important;
	}
}

@media only screen and (max-width: 420px) {
	section.top-home {
		font-size: 1.1em;
	}
}

/* ---------------------- fine HOMEPAGE ---------------------- */

/* page generic contents */
section.top-page {
	padding: 80px 0;
	margin-bottom: 40px;
}

section.top-page .top-title {
	text-align: center;
	font-size: 1.8em;
	color: var(--dark-grey);
	margin: 0 0 10px;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
}

section.top-page .top-subtitle {
	margin: 0;
	text-align: center;
	font-size: 1.2em;
	color: var(--dark-grey);
	font-weight: 400;
}

/* fine page generic contents */

/* ---------------------- SOLUTIONS ---------------------- */
section.solutions.home {
	padding: 40px 0 40px;
}

section.solutions .solution-name {
	text-align: center;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.1em;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
}

section.solutions .columns.four .col-row {
	border-bottom: solid 1px var(--grey);
	margin-bottom: 40px;
	padding-bottom: 20px;
}

@media only screen and (max-width: 640px) {
	section.solutions .columns.four .col-row {
		padding-bottom: 20px !important;
	}
}

section.solutions .solutions-main-image {
	display: block;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

section.solutions .solutions-main-image .icon-bgd {
	display: block;
	height: 150px;
	opacity: 0;
	margin: 0 auto 40px;
}

section.solutions .solutions-main-image .icon-img {
	position: absolute;
	width: 150px;
	top: 50%;
	left: 50%;
	margin-top: -75px;
	margin-left: -75px;
}

section.solutions .solutions-main-image .icon-img.sistemistica-back {
	animation: sistemistica-back 5s infinite;
	-webkit-animation: sistemistica-back 5s infinite;
}

section.solutions .solutions-main-image .icon-img.sistemistica-front {
	animation: sistemistica-front 5s infinite;
	-webkit-animation: sistemistica-front 5s infinite;
}

@keyframes sistemistica-back {

	/* 0% {margin-left: -100px;}
	50% {margin-left: -80px;}
	100% {margin-left: -100px;} */
	0% {
		transform: translateX(0px);
	}

	50% {
		transform: translateX(20px);
	}

	100% {
		transform: translateX(0px);
	}
}

@-webkit-keyframes sistemistica-back {

	/* 0% {-webkit-margin-left: -100px;}
	50% {-webkit-margin-left: -80px ;}
	100% {-webkit-margin-left: -100px;} */
	0% {
		-webkit-transform: translateX(0px);
	}

	50% {
		-webkit-transform: translateX(20px);
	}

	100% {
		-webkit-transform: translateX(0px);
	}
}

@keyframes sistemistica-front {

	/* 0% {margin-left: -100px;}
	50% {margin-left: -120px;}
	100% {margin-left: -100px;} */
	0% {
		transform: translateX(0px);
	}

	50% {
		transform: translateX(-20px);
	}

	100% {
		transform: translateX(0px);
	}
}

@-webkit-keyframes sistemistica-front {

	/* 0% {-webkit-margin-left: -100px;}
	50% {-webkit-margin-left: -120px;}
	100% {-webkit-margin-left: -100px;} */
	0% {
		-webkit-transform: translateX(0px);
	}

	50% {
		-webkit-transform: translateX(-20px);
	}

	100% {
		-webkit-transform: translateX(0px);
	}
}

section.solutions .solutions-main-image .icon-img.consulenza-back {
	animation: consulenza-back 6s infinite;
	-webkit-animation: consulenza-back 6s infinite;
}

/* section.solutions .solutions-main-image .icon-img.consulenza-front {
	animation: consulenza-front 2s infinite;
} */

@keyframes consulenza-back {
	0% {
		transform: scale(1.1);
	}

	50% {
		transform: scale(0.95);
	}

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

@-webkit-keyframes consulenza-back {
	0% {
		-webkit-transform: scale(1.1);
	}

	50% {
		-webkit-transform: scale(0.95);
	}

	100% {
		-webkit-transform: scale(1.1);
	}
}

/* @keyframes consulenza-front {
	0% {
		margin-top: -100px;
	}
	50% {
		margin-top: -105px;
	}
	100% {
		margin-top: -100px;
	}
} */

section.solutions .solutions-main-image .icon-img.mobile-back {
	animation: mobile-back 3s infinite;
	-webkit-animation: mobile-back 3s infinite;
}

section.solutions .solutions-main-image .icon-img.mobile-front {
	animation: mobile-front 3s infinite;
	-webkit-animation: mobile-front 3s infinite;
}

@keyframes mobile-back {
	0% {
		transform: scale(1);
	}

	40% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.05);
	}

	60% {
		transform: scale(1);
	}

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

@-webkit-keyframes mobile-back {
	0% {
		-webkit-transform: scale(1);
	}

	40% {
		-webkit-transform: scale(1);
	}

	50% {
		-webkit-transform: scale(1.05);
	}

	60% {
		-webkit-transform: scale(1);
	}

	100% {
		-webkit-transform: scale(1);
	}
}

@keyframes mobile-front {
	0% {
		margin-top: -75px;
	}

	40% {
		margin-top: -80px;
		transform: scale(1);
	}

	50% {
		margin-top: -80px;
		transform: scale(0.95);
	}

	60% {
		margin-top: -80px;
		transform: scale(1);
	}

	100% {
		margin-top: -75px;
	}
}

@-webkit-keyframes mobile-front {
	0% {
		-webkit-margin-top: -75px;
	}

	40% {
		-webkit-margin-top: -80px;
		-webkit-transform: scale(1);
	}

	50% {
		-webkit-margin-top: -80px;
		-webkit-transform: scale(0.95);
	}

	60% {
		-webkit-margin-top: -80px;
		-webkit-transform: scale(1);
	}

	100% {
		-webkit-margin-top: -75px;
	}
}

section.solutions .solutions-main-image .icon-img.sviluppo-gear {
	animation: sviluppo-gear 4s infinite;
	-webkit-animation: sviluppo-gear 4s infinite;
	margin-top: -85px;
}

@keyframes sviluppo-gear {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@-webkit-keyframes sviluppo-gear {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

.solutions-block .block-container {
	border-bottom: solid 1px var(--grey);
	margin-bottom: 40px;
	padding-bottom: 20px;
}

.solutions-block:last-child .block-container {
	border-bottom: 0;
	margin-bottom: 0;
}

.solutions-block .solutions-main-icon {
	display: block;
	width: 200px;
	margin: 0 auto 40px;
}

.solutions-block .solution-name {
	text-align: center;
	font-size: 1.8em;
	font-weight: 700;
	line-height: 1.1em;
	margin-bottom: 10px;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
}

.solutions-block .solution-subname {
	font-style: italic;
	text-align: center;
	margin-bottom: 40px;
	color: var(--dark-grey);
	font-family: 'Poppins', sans-serif;
	font-weight: normal;
	font-size: 1.0em;
	line-height: 1.1em;
}

@media only screen and (max-width: 640px) {
	.solutions-block .solution-name {
		font-size: 1.4em;
	}
}

@media only screen and (max-width: 960px) {
	.solutions-block .columns.half .col-sx {
		margin-bottom: 40px;
	}
}

.solutions-block .title-description {
	font-size: 1.2em;
	color: var(--dark-grey);
	font-weight: normal;
}

.solutions-block .checklist {
	background-color: var(--grey);
	padding: 30px 30px 20px;
	display: inline-block;
	width: 100%;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

/* ---------------------- fine SOLUTIONS ---------------------- */

/* ---------------------- CORE ---------------------- */
section.core.home {
	padding: 0;
	position: relative;
}

section.core.home .block-container {
	overflow: visible;
}

section.core.home .columns.half {
	-webkit--webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

section.core.home .columns.half .col-sx {
	position: relative;
	display: -webkit-flex;
	display: flex;
	align-items: flex-end;
}

@media only screen and (max-width: 960px) {
	section.core.home .columns.half .col-sx {
		width: auto;
		margin: 0 20%;
	}

	section.core.home .core-image-container {
		margin-top: -30px;
	}

	section.core.home .columns.half .col-dx {
		border-top: solid 1px var(--dark-blue);
	}
}

@media only screen and (max-width: 640px) {
	section.core.home .columns.half .col-sx {
		width: auto;
		margin: 0 10%;
	}
}

@media only screen and (max-width: 420px) {
	section.core.home .columns.half .col-sx {
		margin: 0 0;
	}
}

section.core.home .core-image-container {
	display: block;
	position: relative;
	width: 100%;
	margin-top: -40px;
}

section.core.home .core-image-container .blocco {
	display: block;
	width: 100%;
	margin: 0;
	opacity: 0;
}

section.core.home .core-image-container .back {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}

section.core.home .core-image-container .front {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}

section.core.home .core-image-container .front-floating {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	animation: floating-pieces 8s linear infinite;
	-webkit-animation: floating-pieces 8s linear infinite;
}

@keyframes floating-pieces {
	0% {
		transform: translateY(5px)
	}

	50% {
		transform: translateY(-5px)
	}

	100% {
		transform: translateY(5px)
	}
}

@-webkit-keyframes floating-pieces {
	0% {
		-webkit-transform: translateY(5px)
	}

	50% {
		-webkit-transform: translateY(-5px)
	}

	100% {
		-webkit-transform: translateY(5px)
	}
}

section.core.home .core-image-container .flying-pieces {
	position: absolute;
	right: 0;
	bottom: -20px;
	height: 100%;
	width: 60%;
}

section.core.home .core-image-container .flying-pieces li {
	/* background: var(--dark-blue); */
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
}

section.core.home .core-image-container .flying-pieces li::before {
	background: var(--dark-blue);
	animation: rotation 6s linear infinite;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
}

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
		;
	}
}

@-webkit-keyframes rotation {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

/* core piece 1*/
section.core.home .core-image-container .flying-pieces li:nth-child(1) {
	width: 6%;
	height: 6%;
	animation: diagonal-01 6s linear infinite;
	-webkit-animation: diagonal-01 6s linear infinite;
}

section.core.home .core-image-container .flying-pieces li:nth-child(1)::before {
	clip-path: polygon(50% 0%, 0% 100%, 100% 63%);
}

@keyframes diagonal-01 {
	0% {
		opacity: 1;
		transform: translate(0%, 0%);
	}

	70% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: translate(1600%, -1600%);
	}
}

@-webkit-keyframes diagonal-01 {
	0% {
		-webkit-opacity: 1;
		-webkit-transform: translate(0%, 0%);
	}

	70% {
		-webkit-opacity: 1;
	}

	90% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
		-webkit-transform: translate(1600%, -1600%);
	}
}

/* core piece 2*/
section.core.home .core-image-container .flying-pieces li:nth-child(2) {
	animation: diagonal-02 5s linear infinite;
	animation-delay: 0.3s;
	-webkit-animation: diagonal-02 5s linear infinite;
	-webkit-animation-delay: 0.3s;
	width: 4%;
	height: 3%;
}

section.core.home .core-image-container .flying-pieces li:nth-child(2)::before {
	clip-path: polygon(20% 0%, 99% 20%, 84% 89%, 0% 100%);
}

@keyframes diagonal-02 {
	0% {
		opacity: 1;
		transform: translate(300%, 0%);
	}

	70% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: translate(1600%, -1600%);
	}
}

@-webkit-keyframes diagonal-02 {
	0% {
		-webkit-opacity: 1;
		-webkit-transform: translate(300%, 0%);
	}

	70% {
		-webkit-opacity: 1;
	}

	90% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
		-webkit-transform: translate(1600%, -1200%);
	}
}

/* core piece 3*/
section.core.home .core-image-container .flying-pieces li:nth-child(3) {
	animation: diagonal-03 4s linear infinite;
	animation-delay: 0.5s;
	-webkit-animation: diagonal-03 4s linear infinite;
	-webkit-animation-delay: 0.5s;
	width: 3.5%;
	height: 6%;
}

section.core.home .core-image-container .flying-pieces li:nth-child(3)::before {
	clip-path: polygon(50% 0%, 0 69%, 100% 100%);
}

@keyframes diagonal-03 {
	0% {
		opacity: 1;
		transform: translate(0%, -300%);
	}

	70% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: translate(2200%, -1600%);
	}
}

@-webkit-keyframes diagonal-03 {
	0% {
		-webkit-opacity: 1;
		-webkit-transform: translate(0%, -300%);
	}

	70% {
		-webkit-opacity: 1;
	}

	90% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
		-webkit-transform: translate(2200%, -1600%);
	}
}

/* core piece 4*/
section.core.home .core-image-container .flying-pieces li:nth-child(4) {
	animation: diagonal-04 4s linear infinite;
	animation-delay: 1.1s;
	-webkit-animation: diagonal-04 4s linear infinite;
	-webkit-animation-delay: 1.1s;
	width: 5%;
	height: 3%;
}

section.core.home .core-image-container .flying-pieces li:nth-child(4)::before {
	clip-path: polygon(0 20%, 80% 0%, 100% 100%, 19% 83%);
}

@keyframes diagonal-04 {
	0% {
		opacity: 1;
		transform: translate(0%, -500%);
	}

	70% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: translate(1600%, -2600%);
	}
}

@-webkit-keyframes diagonal-04 {
	0% {
		-webkit-opacity: 1;
		-webkit-transform: translate(0%, -500%);
	}

	70% {
		-webkit-opacity: 1;
	}

	90% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
		-webkit-transform: translate(1600%, -2600%);
	}
}

/* core piece 5*/
section.core.home .core-image-container .flying-pieces li:nth-child(5) {
	animation: diagonal-05 6s linear infinite;
	animation-delay: 1.2s;
	-webkit-animation: diagonal-05 6s linear infinite;
	-webkit-animation-delay: 1.2s;
	width: 6%;
	height: 4%;
}

section.core.home .core-image-container .flying-pieces li:nth-child(5)::before {
	clip-path: polygon(23% 20%, 80% 0%, 100% 100%, 0 81%);
}

@keyframes diagonal-05 {
	0% {
		opacity: 1;
		transform: translate(300%, -50%);
	}

	70% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: translate(1600%, -1600%);
	}
}

@-webkit-keyframes diagonal-05 {
	0% {
		-webkit-opacity: 1;
		-webkit-transform: translate(300%, -50%);
	}

	70% {
		-webkit-opacity: 1;
	}

	90% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
		-webkit-transform: translate(1600%, -1600%);
	}
}

/* core piece 6*/
section.core.home .core-image-container .flying-pieces li:nth-child(6) {
	animation: diagonal-06 6.5s linear infinite;
	animation-delay: 1.3s;
	-webkit-animation: diagonal-06 6.5s linear infinite;
	-webkit-animation-delay: 1.3s;
	width: 3%;
	height: 5%;
}

section.core.home .core-image-container .flying-pieces li:nth-child(6)::before {
	clip-path: polygon(75% 0, 0% 100%, 100% 83%);
}

@keyframes diagonal-06 {
	0% {
		opacity: 1;
		transform: translate(0, -400%);
	}

	70% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: translate(2200%, -1600%);
	}
}

@-webkit-keyframes diagonal-06 {
	0% {
		-webkit-opacity: 1;
		-webkit-transform: translate(0, -400%);
	}

	70% {
		-webkit-opacity: 1;
	}

	90% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
		-webkit-transform: translate(2200%, -1600%);
	}
}

/* core piece 7*/
section.core.home .core-image-container .flying-pieces li:nth-child(7) {
	animation: diagonal-07 4.5s linear infinite;
	animation-delay: 1.4s;
	-webkit-animation: diagonal-07 4.5s linear infinite;
	-webkit-animation-delay: 1.4s;
	width: 5%;
	height: 3%;
}

section.core.home .core-image-container .flying-pieces li:nth-child(7)::before {
	clip-path: polygon(20% 0%, 86% 18%, 100% 100%, 0 75%);
}

@keyframes diagonal-07 {
	0% {
		opacity: 1;
		transform: translate(200%, 0%);
	}

	70% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: translate(1400%, -1600%);
	}
}

@-webkit-keyframes diagonal-07 {
	0% {
		-webkit-opacity: 1;
		-webkit-transform: translate(200%, 0%);
	}

	70% {
		-webkit-opacity: 1;
	}

	90% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
		-webkit-transform: translate(1400%, -1600%);
	}
}

/* core piece 8*/
section.core.home .core-image-container .flying-pieces li:nth-child(8) {
	animation: diagonal-08 4s linear infinite;
	animation-delay: 1.5s;
	-webkit-animation: diagonal-08 4s linear infinite;
	-webkit-animation-delay: 1.5s;
	width: 3%;
	height: 4.5%;
}

section.core.home .core-image-container .flying-pieces li:nth-child(8)::before {
	clip-path: polygon(15% 19%, 100% 0, 100% 100%, 0 75%);
}

@keyframes diagonal-08 {
	0% {
		opacity: 1;
		transform: translate(50%, 0%);
	}

	70% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: translate(1800%, -1200%);
	}
}

@-webkit-keyframes diagonal-08 {
	0% {
		-webkit-opacity: 1;
		-webkit-transform: translate(50%, 0%);
	}

	70% {
		-webkit-opacity: 1;
	}

	90% {
		-webkit-opacity: 0;
	}

	100% {
		-webkit-opacity: 0;
		-webkit-transform: translate(1800%, -1200%);
	}
}

section.core.home .columns.half .col-dx {
	padding-top: 40px;
	padding-bottom: 20px;
}

section.core.home .core-title {
	width: 100%;
	display: block;
	margin-bottom: 10px;
	font-size: 1.6em;
}

section.core.home .core-subtitle {
	width: 100%;
	display: block;
	margin-bottom: 40px;
	font-size: 1.2em;
	font-weight: normal;
	color: var(--dark-grey);
	font-weight: 500;
}

.core-business {
	text-align: center;
	margin-bottom: 40px;
	padding: 0 15% 20px;
	border-bottom: solid 1px var(--grey);
}

@media only screen and (max-width: 960px) {
	.core-business {
		padding: 0 0 20px;
	}

	.core-business p {
		text-align: justify;
	}
}

.core-business img {
	width: 180px;
	margin: 20px auto 40px;
}

.core-business .business-title {
	font-family: 'Poppins', sans-serif;
	color: var(--dark-blue);
	font-weight: normal;
	font-size: 1.3em;
}

.core-team {
	margin-bottom: 40px;
	border-bottom: solid 1px var(--grey);
}

.core-team .team-img-profile {
	display: block;
	margin: 0 auto 20px;
	width: 45%;
}

.core-team .team-name {
	text-align: center;
	color: var(--dark-blue);
	font-size: 1.3em;
	margin-bottom: 0px;
}

.core-team .team-rule {
	text-align: center;
	margin-bottom: 20px;
	color: var(--aqua);
}

.core-team .team-txt {
	font-style: italic;
	text-align: center;
	margin-bottom: 40px;
	color: var(--dark-grey);
}

.core-team .profile-link {
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--black);
	font-size: 0.8em;
	border: 1px dashed var(--dark-grey);
	width: fit-content;
	margin: 0 auto 40px;
	margin: 0 auto 40px;
	padding: 10px 24px;
	-webkit-border-radius: 64px;
	-moz-border-radius: 64px;
	border-radius: 64px;
	transition: 0.2s;
}

.core-team .profile-link:hover {
	opacity: 0.7;
}

.core-team .profile-link .icon {
	width: 16px;
	margin-right: 10px;
}

@media only screen and (max-width: 960px) {
	.core-team .col-row {
		border-bottom: solid 1px var(--grey);
		margin-bottom: 40px;
	}

	.core-team .col-row:last-child {
		border-bottom: 0;
		margin-bottom: 0;
	}
}

.core-tecnologie .tecnologie-txt {
	text-align: center;
	margin-bottom: 40px;
	padding: 0 15%;
}

.core-tecnologie .tecnologie-title {
	font-family: 'Poppins', sans-serif;
	color: var(--dark-blue);
	font-weight: normal;
	font-size: 1.3em;
	text-align: center;
}

.core-tecnologie ul.tecnologie {
	margin: 70px 0 40px;
}

.core-tecnologie ul.tecnologie li {
	width: 9.09%;
}

@media only screen and (max-width: 1080px) {
	.core-tecnologie ul.tecnologie li {
		width: 16.6%;
	}
}

@media only screen and (max-width: 960px) {
	.core-tecnologie .tecnologie-txt {
		padding: 0 0;
	}

	.core-tecnologie .tecnologie-txt p {
		text-align: justify;
	}
}

@media only screen and (max-width: 520px) {
	.core-tecnologie ul.tecnologie li {
		width: 25%;
	}
}

@media only screen and (max-width: 350px) {
	.core-tecnologie ul.tecnologie li {
		width: 33.33%;
	}
}


/* ---------------------- fine CORE ---------------------- */

/* ---------------------- BLOG ---------------------- */
section.blog {
	padding: 40px 0 20px;
}

section.blog .columns {
	-webkit--webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

section.blog .columns .col-row {
	border-bottom: solid 1px var(--grey);
	margin-bottom: 40px;
	padding-bottom: 20px;
}

@media only screen and (max-width: 960px) {
	section.blog .columns .col-row {
		padding-bottom: 20px !important;
	}
}

section.blog .articolo-blog {
	color: var(--black);
}

section.blog .articolo-blog .articolo-title {
	font-size: 1.25em;
}

section.blog .articolo-blog .img-container {
	display: block;
	width: 100%;
	/*height: 250px;*/
	overflow: hidden;
	position: relative;
	margin-bottom: 20px;
	padding: 5px;
	/*background-color: #e9e9e9;*/
	transition: 0.1s;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	transition: all 150ms;
}

section.blog .articolo-blog:hover .img-container {
	/*background-color: var(--aqua);*/
}

section.blog .articolo-blog .img-container {
	/*filter: saturate(0) !important;
	-webkit-filter: saturate(0);*/
	/*width: 100%;
	height: 250px;
	mix-blend-mode: multiply;*/
	/*transition: 0.1s;*/


}

section.blog .articolo-blog:hover .img-container {
	/*-webkit-transition:500ms linear; */
	/*-webkit-border-radius:10px;*/
	transform: scale(1.02);
}

section.blog.dettaglio .title-block {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	width: 100%;
	align-items: center;
	padding-bottom: 20px;
}

section.blog.dettaglio .back-arrow {
	background-size: 20px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/icon-arrow-left.svg);
	width: 36px;
	height: 36px;
	margin-right: 15px;
	transition: 0.2s;
}

section.blog.dettaglio .back-arrow:hover {
	opacity: 0.4;
}

section.blog.dettaglio .title-container {
	flex: 1 0;
}

section.blog.dettaglio .title-container h1 {
	text-align: left;
}

section.blog.dettaglio .title-container h2 {
	text-align: left;
	margin-bottom: 0;
}

section.blog.dettaglio .columns .col-dx .col-dx-title {
	text-align: center;
	border-bottom: solid 1px var(--grey);
	padding-bottom: 20px !important;
}

section.blog.dettaglio .columns .col-dx .articolo-blog {
	border-bottom: solid 1px var(--grey);
	margin-bottom: 20px;
	display: block;
}

.articolo_text a {
	color: var(--black) !important;
	text-decoration: underline;
}

section.blog.dettaglio .columns .col-dx .articolo-blog:last-child {
	border-bottom: 0;
	margin-bottom: 0px;
}

@media only screen and (max-width: 960px) {
	section.blog.dettaglio .columns .col-sx {
		border-bottom: solid 1px var(--grey);
		margin-bottom: 40px;
		padding-bottom: 20px !important;
	}
}

.sharing-box {
	display: inline-block;
	width: 100%;
	margin-bottom: 20px;
	padding: 20px;
	border: dashed 5px var(--grey);
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.sharing-title {
	font-weight: bold;
	font-family: 'Roboto Slab', serif;
	font-size: 1.0em;
	display: block;
	margin-bottom: 10px;
}

.commenti-main {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background-color: var(--grey);
	display: inline-block;
	width: 100%;
	padding: 20px 20px 0;
}

.commenti-main-title {
	font-size: 1.0em;
}

.commenti-main {
	display: inline-block;
}

.commenti-main .commenti {
	border-top: solid 1px var(--dark-grey);
	padding-top: 20px;
	margin-bottom: 0;
	display: inline-block;
	width: 100%;
}

.commenti-main .commenti li {
	display: inline-block;
	width: 100%;
	border-bottom: dashed 1px var(--dark-grey);
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.commenti-main .commenti li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.commenti-main .commenti li time {
	background-color: transparent;
	color: var(--aqua);
	padding: 0;
	margin-bottom: 0px;
	font-weight: bold;
}

.commenti-main .commenti li name {
	font-weight: bold;
	font-family: 'Roboto Slab', serif;
	font-size: 1.1em;
	display: block;
	margin-bottom: 10px;
}

.commenti-main .commenti li span {
	display: block;
}

/* ---------------------- fine BLOG ---------------------- */

/* ---------------------- EXPERIENCE ---------------------- */
section.porfolio {
	padding: 40px 0 20px;
}

section.portfolio .columns {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

section.portfolio .columns .col-row {
	border-bottom: solid 1px var(--grey);
	margin-bottom: 40px;
	padding-bottom: 20px;
}

@media only screen and (max-width: 960px) {
	section.portfolio .columns .col-row {
		padding-bottom: 20px !important;
	}

	section.portfolio .columns .col-row:last-child {
		border-bottom: 0;
	}
}

section.portfolio .articolo-portfolio {
	color: var(--black);
}

section.portfolio .articolo-portfolio .articolo-title {
	font-size: 1.25em;
}

section.portfolio .articolo-portfolio .img-container {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	overflow: hidden;
	border: dashed 5px var(--grey);
	transition: 0.3s;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	height: 200px;
	width: 200px;
	margin: 0 auto 40px;
}

section.portfolio .articolo-portfolio .img-container img {
	filter: saturate(0);
	transition: 0.3s;
	display: block;
	width: 60%;
}

section.portfolio .articolo-portfolio:hover .img-container img {
	filter: saturate(1);
}

/* ---------------------- fine EXPERIENCE ---------------------- */

/* ---------------------- CONTACTS ---------------------- */
.contacts {
	margin-bottom: 40px;
}

.contacts .title-maindescription {
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.1em;
	margin-bottom: 10px;
}

.contacts .title-subdescription {
	font-style: italic;
	margin-bottom: 40px;
	color: var(--dark-grey);
	font-family: 'Poppins', sans-serif;
	font-weight: normal;
	font-size: 1.0em;
	line-height: 1.1em;
}

.contacts .title-description {
	font-size: 1.2em;
	color: var(--dark-grey);
	font-weight: normal;
}

.contacts .contatti-links {
	border: dashed 5px var(--grey);
	padding: 30px 30px 10px;
	display: inline-block;
	width: 100%;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.contacts .contatto-info {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	align-items: center;
	color: var(--black);
	margin-bottom: 20px;
	transition: 0.2s;
}

.contacts .contatto-info:hover {
	opacity: 0.7;
}

.contacts .contatto-info .icon {
	width: 24px;
	margin-right: 15px;
}

@media only screen and (max-width: 960px) {
	.contacts .contatto-info .icon {
		width: 16px;
	}

	.contacts .columns.half .col-sx {
		border-bottom: solid 1px var(--grey);
		margin-bottom: 20px;
	}
}

/* ---------------------- fine CONTACTS ---------------------- */


/* ---------------------- GESTIONALE ---------------------- */
.gestionale footer .block-container {
	border-top: 0;
}

.login-box {
	max-width: 350px;
}

/* ---------------------- fine GESIONALE ---------------------- */




/********************************************************/
/* Header nuova */
/*********************************************************/

/* Header */
.header-container {
	width: 1400px;
	color: white;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo a {
	float: left;
	padding: 0;
	height: 35px;
}

.logo img {
	height: 35px;
}

/* Desktop Nav */
.nav-desktop ul {
	display: flex;
	gap: 0.8rem;
	list-style: none;
	margin-bottom: 0;
	font-size: 0.9em;
}

.nav-desktop ul li {
	margin-bottom: 0;
}

.nav-desktop ul li a {
	color: white;
	text-decoration: none;
	font-weight: 500;
}

.nav-desktop ul li a:hover {
	color: var(--aqua);
}

/* Hamburger (mobile only) */
.hamburger {
	font-size: 2rem;
	display: none;
	cursor: pointer;
}

/* Mobile Menu */
.mobile-menu {
	position: fixed;
	top: 0;
	right: -100%;
	width: 75%;
	max-width: 300px;
	height: 100vh;
	background-color: var(--blue);
	color: white;
	padding: 2rem;
	transition: right 0.3s ease-in-out;
	z-index: 1000;
}

.mobile-menu ul {
	list-style: none;
	margin-top: 2rem;
}

.mobile-menu ul li {
	margin-bottom: 1.5rem;
}

.mobile-menu ul li a {
	color: white;
	text-decoration: none;
	font-size: 1.2rem;
}

.mobile-menu.show {
	right: 0;
}

.close-btn {
	font-size: 2rem;
	cursor: pointer;
	text-align: right;
}

/* Responsive */
@media (max-width: 1024px) {
	.header-container {
		padding: 0;
	}

	.nav-desktop {
		display: none;
	}

	.hamburger {
		display: block;
	}
}








/* Bottone in basso a destra */
#contact-button {
	position: fixed;
	bottom: 20px;
	right: 20px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	z-index: 1000;
}

/* Form di contatto nascosto inizialmente */
#contact-form {
	position: fixed;
	bottom: 80px;
	right: 20px;
	background: white;
	border: 1px solid #ccc;
	padding: 20px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	display: none;
	z-index: 999;
	width: 343px;
	border-radius: 10px;
	transform: translateX(100%);
	/* Nasconde il form inizialmente sulla destra */
	transition: transform 0.5s ease;
	/* Aggiungi una transizione per lo scorrimento */
}

/* Icona X per chiudere */
#close-form {
	position: absolute;
	top: 15px;
	right: 20px;
	font-size: 20px;
	cursor: pointer;

	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.1em;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	color: var(--black);
}

#contact-form .search-input {
	margin-bottom: 10px;
}

#contact-form input,
#contact-form textarea {
	width: 100%;
}

#contact-form textarea {
	height: 150px;
}

#contact-form button {
	width: 100%;
}

#contact-form h3 {
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.1em;
	margin-bottom: 10px;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	color: var(--black);
}

#contact-form h4 {
	font-style: italic;
	color: var(--dark-grey);
	font-family: 'Poppins', sans-serif;
	font-weight: normal;
	font-size: 1.0em;
	line-height: 1.1em;
}