/* ------------------------- VARIABLES ------------------------- */
:root {

	--primary-font: "Figtree", sans-serif;
	--secondary-font: "Figtree", sans-serif;

	--line-height: calc(1em + 8px);

	--h1-size: 54px;
	--h1-weight: 300;
	--h1-letter-spacing: normal;

	--h2-size: 64px;
	--h2-weight: 600;
	--h2-letter-spacing: normal;

	--h3-size: 31px;
	--h3-weight: 600;
	--h3-letter-spacing: normal;

	--h4-size: 28px;
	--h4-weight: 600;
	--h4-letter-spacing: normal;

	--h5-size: 24px;
	--h5-weight: 400;
	--h5-letter-spacing: normal;

	--h6-size: 18px;
	--h6-weight: 400;
	--h6-letter-spacing: normal;

	--text-size: 16px;
	--text-weight: 400;
	--text-letter-spacing: normal;

	--text-small-size: 13px;
	--text-small-weight: 400;
	--text-small-letter-spacing: normal;

	--text-btn-size: 18px;
	--text-btn-weight: 600;
	--text-btn-letter-spacing: normal;

	--text-header-size: 16px;
	--text-header-weight: 500;
	--text-header-letter-spacing: normal;

	--text-footer-copyright-size: 13px;
	--text-footer-copyright-weight: 300;
	--text-footer-copyright-letter-spacing: normal;

	--display1-size: var(--h1-size);
	--display1-weight: var(--h1-weight);
	--display1-letter-spacing: var(--h1-letter-spacing);

	--display2-size: 32px;
	--display2-weight: 300;
	--display2-letter-spacing: normal;

	--display3-size: 68px;
	--display3-weight: 300;
	--display3-letter-spacing: normal;

	--display4-size: 24px;
	--display4-weight: 300;
	--display4-letter-spacing: normal;

	--primario: #f9a01b;
	--primario-10: rgba(249, 160, 27, .1);
	--secondario: #43b3e2;
	--grigio: #8b959a;
	--grigio-chiaro: #f8f8f8;
	--blu-plenity: #0e62a1;
	--blu-plenity-scuro: #0b4a79;
	--nero: #222;
	--grigio-footer: #444;
	--grigio-chiaro-footer: #999;

	--header-h: 100px;
	--section-h: 450px;
	--border-radius: 20px;
	--banner-cover: -235px;
	--section-p: 10px;
	--col-d: 20px;

}


/* ------------------------- TEXT ------------------------- */

/* ----- text - line-height ----- */
html, body, footer, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, span, li, a, [class*="btn"], label, input, select, textarea {
	line-height: var(--line-height) !important;
}

/* ----- text - font-style ----- */
html, body, footer, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, span, li, a, [class*="btn"], label, input, select, textarea {
	font-style: normal;
}

/* ----- text - font-family ----- */
h1, .h1, h2, .h2, h3, .h3 {
	font-family: var(--primary-font) !important;
}
html, body, footer, h4, .h4, h5, .h5, h6, .h6, p, span, li, a, [class*="btn"], label, input, select, textarea {
	font-family: var(--secondary-font) !important;
}

/* ----- text - font-weight ----- */
.text-light { font-weight: 300; }
.text-regular { font-weight: 400; }
.text-medium { font-weight: 500; }
.text-semibold { font-weight: 600; }
.text-bold { font-weight: 700; }

/* ----- text - font-size ----- */
html {
	font-size: var(--text-size);
	font-weight: var(--text-weight);
	letter-spacing: normal;
}
h1, .h1 {
	font-size: var(--h1-size) !important;
	font-weight: var(--h1-weight) !important;
	letter-spacing: var(--h1-letter-spacing);
}
h2, .h2 {
	font-size: var(--h2-size);
	font-weight: var(--h2-weight);
	letter-spacing: var(--h2-letter-spacing);
}
h3, .h3 {
	font-size: var(--h3-size);
	font-weight: var(--h3-weight);
	letter-spacing: var(--h3-letter-spacing);
}
h4, .h4 {
	font-size: var(--h4-size);
	font-weight: var(--h4-weight);
	letter-spacing: var(--h4-letter-spacing);
}
h5, .h5 {
	font-size: var(--h5-size);
	font-weight: var(--h5-weight);
	letter-spacing: var(--h5-letter-spacing);
}
h6, .h6 {
	font-size: var(--h6-size);
	font-weight: var(--h6-weight);
	letter-spacing: var(--h6-letter-spacing);
}
p, span, li, a, #topbar p, #topbar a {
	font-size: var(--text-size);
	font-weight: var(--text-weight);
	letter-spacing: var(--text-letter-spacing);
}
[class*="btn"] {
	font-size: var(--text-btn-size);
	font-weight: var(--text-btn-weight);
	letter-spacing: var(--text-btn-letter-spacing);
}
input, input.form-control, select, select.form-control, .small, .small *:not(sup) {
	font-size: var(--text-small-size) !important;
	font-weight: var(--text-small-weight);
	letter-spacing: var(--text-small-letter-spacing);
}
#mainMenu nav > ul li > a,
nav a,
nav a > p,
nav a > span {
	font-size: var(--text-header-size) !important;
	font-weight: var(--text-header-weight) !important;
	letter-spacing: var(--text-header-letter-spacing) !important;
	text-transform: uppercase;
}
footer .copyright span,
footer .copyright span a {
	font-size: var(--text-footer-copyright-size) !important;
	font-weight: var(--text-footer-copyright-weight) !important;
	letter-spacing: var(--text-footer-copyright-letter-spacing);
}
.text-display1 {
	font-size: var(--display1-size);
	font-weight: var(--display1-weight);
	letter-spacing: var(--display1-letter-spacing);
}
.text-display2 {
	font-size: var(--display2-size);
	font-weight: var(--display2-weight);
	letter-spacing: var(--display2-letter-spacing);
}
.text-display3 {
	font-size: var(--display3-size);
	font-weight: var(--display3-weight);
	letter-spacing: var(--display3-letter-spacing);
}
.text-display4 {
	font-size: var(--display4-size);
	font-weight: var(--display4-weight);
	letter-spacing: var(--display4-letter-spacing);
}

/* ----- text - color ----- */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	color: var(--nero);
}
html, body, footer, p, span, li, i, label, input, select, textarea {
	color: var(--nero);
}
footer p,
footer .copyright span,
footer .copyright span > a { color: var(--grigio-chiaro-footer) !important; }
footer .copyright a:hover,
.text-primario { color: var(--primario) !important; }
.text-secondario { color: var(--secondario) !important; }
.text-grigio { color: var(--grigio) !important; }
.text-grigio-chiaro { color: var(--grigio-chiaro) !important; }
.text-blu-plenity { color: var(--blu-plenity) !important; }
.text-blu-plenity-scuro { color: var(--blu-plenity-scuro) !important; }

/* ----- text - decoration ----- */
.text-underline { text-decoration: underline !important; }

/* ----- text - other ----- */
a, a > * { transition: .2s color ease-in-out; }
a:not(.text-white):not(.text-nero), *:not(.text-white):not(.text-nero) > a:not(.text-white):not(.text-nero) > * {
	color: var(--primario);
}
.text-nero > a, .text-nero > a > *, a.text-nero, a.text-nero > *,
a:hover, a:hover > * {
	color: var(--nero);
}
a.text-white:hover, a.text-white:hover > *,
.text-white > a:hover, .text-white > a:hover > *,
.text-nero > a:hover, .text-nero > a:hover > * {
	color: var(--primario) !important;
}


/* ------------------------- BACKGROUND ------------------------- */

.bg-norepeat { background-repeat: no-repeat; }
.bg-contain { background-size: contain; }
.bg-cover { background-size: cover; }
.bg-10 { background-size: 10%; }
.bg-20 { background-size: 20%; }
.bg-30 { background-size: 30%; }
.bg-35 { background-size: 35%; }
.bg-40 { background-size: 40%; }
.bg-50 { background-size: 50%; }
.bg-60 { background-size: 60%; }
.bg-70 { background-size: 70%; }
.bg-80 { background-size: 80%; }
.bg-90 { background-size: 90%; }
.bg-center { background-position: center; }
.bg-center-top { background-position: center top; }
.bg-center-bottom { background-position: center bottom; }
.bg-left-center { background-position: left center; }
.bg-left-top { background-position: left top; }
.bg-left-bottom { background-position: left bottom; }
.bg-right-center { background-position: right center; }
.bg-right-top { background-position: right top; }
.bg-right-bottom { background-position: right bottom; }
.bg-primario { background-color: var(--primario) !important; }
.bg-secondario { background-color: var(--secondario) !important; }
.bg-grigio { background-color: var(--grigio) !important; }
.bg-grigio-chiaro { background-color: var(--grigio-chiaro) !important; }
.bg-blu-plenity { background-color: var(--blu-plenity) !important; }
.bg-blu-plenity-scuro { background-color: var(--blu-plenity-scuro) !important; }


/* ------------------------- BTN ------------------------- */

/* ----- btn - general ----- */
[class*="btn"] {
	--h-btn: 42px;
	--p-btn-v: 8px;
	--p-btn-h: 15px;
	--b-btn: 0px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: var(--h-btn);
	padding: calc(var(--p-btn-v) - var(--b-btn)) calc(var(--p-btn-h) - var(--b-btn)) !important;
	border-width: var(--b-btn) !important;
	border-style: solid !important;
	border-radius: calc(var(--border-radius) / 2) !important;
	margin-bottom: 0 !important;
	text-transform: uppercase !important;
	transition: .3s all ease-in-out !important;
}
[class*="btn"][class*="-br"] {
	--b-btn: 2px;
}

/* ----- btn - generici ----- */
.btn-primario {
	--b-btn: 2px;
	color: white !important;
	background-color: var(--primario) !important;
	border-color: var(--primario) !important;
}
.btn-primario > i {
	color: white !important;
}
.btn-primario:hover {
	color: var(--primario) !important;
	background-color: rgba(255, 255, 255, .35) !important;
	backdrop-filter: blur(5px);
}
.btn-primario:hover > i {
	color: var(--primario) !important;
}
.btn-slide1 {
	color: white !important;
	background-color: var(--primario) !important;
}
.btn-slide1:hover {
	color: var(--primario) !important;
	background-color: white !important;
}
.btn-slide2 {
	--b-btn: 2px;
	color: var(--primario) !important;
	background-color: rgba(255, 255, 255, .35) !important;
	border-color: var(--primario) !important;
	backdrop-filter: blur(5px);
}
.btn-slide2:hover {
	color: white !important;
	background-color: var(--primario) !important;
}

/* ----- btn - base ----- */

/* ----- btn - base - bg ----- */
[class*="btn"][class*="-bg-primario"] { background-color: var(--primario) !important; }
[class*="btn"][class*="-bg-secondario"] { background-color: var(--secondario) !important; }
[class*="btn"][class*="-bg-grigio"] { background-color: var(--grigio) !important; }
[class*="btn"][class*="-bg-grigio-chiaro"] { background-color: var(--grigio-chiaro) !important; }
[class*="btn"][class*="-bg-blu-plenity"] { background-color: var(--blu-plenity) !important; }
[class*="btn"][class*="-bg-blu-plenity-scuro"] { background-color: var(--blu-plenity-scuro) !important; }
[class*="btn"][class*="-bg-white"] { background-color: white !important; }
[class*="btn"][class*="-bg-transparent"] { background-color: transparent!important; }
[class*="btn"][class*="-bg-blur"] { background-color: rgba(255, 255, 255, .35) !important; backdrop-filter: blur(5px); }

/* ----- btn - base - color ----- */
[class*="btn"][class*="-cl-primario"],
[class*="btn"][class*="-cl-primario"] > i { color: var(--primario) !important; }
[class*="btn"][class*="-cl-secondario"],
[class*="btn"][class*="-cl-secondario"] > i { color: var(--secondario) !important; }
[class*="btn"][class*="-cl-grigio"],
[class*="btn"][class*="-cl-grigio"] > i { color: var(--grigio) !important; }
[class*="btn"][class*="-cl-grigio-chiaro"],
[class*="btn"][class*="-cl-grigio-chiaro"] > i { color: var(--grigio-chiaro) !important; }
[class*="btn"][class*="-cl-blu-plenity"],
[class*="btn"][class*="-cl-blu-plenity"] > i { color: var(--blu-plenity) !important; }
[class*="btn"][class*="-cl-blu-plenity-scuro"],
[class*="btn"][class*="-cl-blu-plenity-scuro"] > i { color: var(--blu-plenity-scuro) !important; }
[class*="btn"][class*="-cl-nero"],
[class*="btn"][class*="-cl-nero"] > i { color: var(--nero) !important; }
[class*="btn"][class*="-cl-white"],
[class*="btn"][class*="-cl-white"] > i { color: white !important; }
[class*="btn"][class*="-cl-transparent"],
[class*="btn"][class*="-cl-transparent"] > i { color: transparent !important; }

/* ----- btn - base - border ----- */
[class*="btn"][class*="-br-primario"] { border-color: var(--primario) !important; }
[class*="btn"][class*="-br-secondario"] { border-color: var(--secondario) !important; }
[class*="btn"][class*="-br-grigio"] { border-color: var(--grigio) !important; }
[class*="btn"][class*="-br-grigio-chiaro"] { border-color: var(--grigio-chiaro) !important; }
[class*="btn"][class*="-br-blu-plenity"] { border-color: var(--blu-plenity) !important; }
[class*="btn"][class*="-br-blu-plenity-scuro"] { border-color: var(--blu-plenity-scuro) !important; }
[class*="btn"][class*="-br-white"] { border-color: white !important; }
[class*="btn"][class*="-br-transparent"] { border-color: transparent !important; }

/* ----- btn - hover ----- */

/* ----- btn - hover - bg ----- */
[class*="btn"][class*="-bg-h-primario"]:hover { background-color: var(--primario) !important; }
[class*="btn"][class*="-bg-h-secondario"]:hover { background-color: var(--secondario) !important; }
[class*="btn"][class*="-bg-h-grigio"]:hover { background-color: var(--grigio) !important; }
[class*="btn"][class*="-bg-h-grigio-chiaro"]:hover { background-color: var(--grigio-chiaro) !important; }
[class*="btn"][class*="-bg-h-blu-plenity"]:hover { background-color: var(--blu-plenity) !important; }
[class*="btn"][class*="-bg-h-blu-plenity-scuro"]:hover { background-color: var(--blu-plenity-scuro) !important; }
[class*="btn"][class*="-bg-h-white"]:hover { background-color: white !important; }
[class*="btn"][class*="-bg-h-transparent"]:hover { background-color: transparent !important; }
[class*="btn"][class*="-bg-h-blur"]:hover { background-color: rgba(255, 255, 255, .35) !important; backdrop-filter: blur(5px); }

/* ----- btn - hover - color ----- */
[class*="btn"][class*="-cl-h-primario"]:hover,
[class*="btn"][class*="-cl-h-primario"]:hover > i { color: var(--primario) !important; }
[class*="btn"][class*="-cl-h-secondario"]:hover,
[class*="btn"][class*="-cl-h-secondario"]:hover > i { color: var(--secondario) !important; }
[class*="btn"][class*="-cl-h-grigio"]:hover,
[class*="btn"][class*="-cl-h-grigio"]:hover > i { color: var(--grigio) !important; }
[class*="btn"][class*="-cl-h-grigio-chiaro"]:hover,
[class*="btn"][class*="-cl-h-grigio-chiaro"]:hover > i { color: var(--grigio-chiaro) !important; }
[class*="btn"][class*="-cl-h-blu-plenity"]:hover,
[class*="btn"][class*="-cl-h-blu-plenity"]:hover > i { color: var(--blu-plenity) !important; }
[class*="btn"][class*="-cl-h-blu-plenity-scuro"]:hover,
[class*="btn"][class*="-cl-h-blu-plenity-scuro"]:hover > i { color: var(--blu-plenity-scuro) !important; }
[class*="btn"][class*="-cl-h-nero"]:hover,
[class*="btn"][class*="-cl-h-nero"]:hover > i { color: var(--nero) !important; }
[class*="btn"][class*="-cl-h-white"]:hover,
[class*="btn"][class*="-cl-h-white"]:hover > i { color: white !important; }
[class*="btn"][class*="-cl-h-transparent"]:hover,
[class*="btn"][class*="-cl-h-transparent"]:hover > i { color: transparent !important; }

/* ----- btn - hover - border ----- */
[class*="btn"][class*="-br-h-primario"]:hover { border-color: var(--primario) !important; }
[class*="btn"][class*="-br-h-secondario"]:hover { border-color: var(--secondario) !important; }
[class*="btn"][class*="-br-h-grigio"]:hover { border-color: var(--grigio) !important; }
[class*="btn"][class*="-br-h-grigio-chiaro"]:hover { border-color: var(--grigio-chiaro) !important; }
[class*="btn"][class*="-br-h-blu-plenity"]:hover { border-color: var(--blu-plenity) !important; }
[class*="btn"][class*="-br-h-blu-plenity-scuro"]:hover { border-color: var(--blu-plenity-scuro) !important; }
[class*="btn"][class*="-br-h-white"]:hover { border-color: white !important; }
[class*="btn"][class*="-br-h-transparent"]:hover { border-color: transparent !important; }


/* ------------------------- OBJECT ------------------------- */

/* ----- general ----- */
body:not(.bg-white), body:not(.bg-white) section {
	background-color: var(--grigio-chiaro);
}
.container, .container-fluid {
	padding-right: var(--col-d);
	padding-left: var(--col-d);
}
.row {
	margin-right: calc(-1 * var(--col-d));
	margin-left: calc(-1 * var(--col-d));
}
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto,
.col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto,
.col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto,
.col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto,
.col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
	padding-right: var(--col-d);
	padding-left: var(--col-d);
}
.p-relative { position: relative; }

.ombra-card {
	box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.08);
}

/* ----- scroll top ----- */
#scrollTop:after {
	background-color: var(--secondario);
}
#scrollTop:hover i {
	transform: none !important;
}

/* ----- spacing ----- */

/* ----- spacing - border radius ----- */
.border-round { border-radius: var(--border-radius); }
.border-round-2 { border-radius: calc(var(--border-radius) * 2); }

/* ----- spacing - padding ----- */
.pr-section { padding-right: var(--section-p) !important; }
.pl-section { padding-left: var(--section-p) !important; }

/* ----- spacing - gap ----- */
.g-5 { gap: 5px; }
.g-10 { gap: 10px; }
.g-15 { gap: 15px; }
.g-20 { gap: 20px; }
.g-25 { gap: 25px; }

/* ----- spacing - ul ----- */
ul {
	margin-bottom: 0 !important;
	margin-left: 40px;
}

/* ----- recaptcha ----- */
.grecaptcha-badge { visibility: hidden; }

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

/* ----- img cover ----- */
.img-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
----- img scacchiera -----
.colonna-img-scacchiera {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	height: var(--h-col);
	padding-right: 0 !important;
	padding-left: 0 !important;
}
.colonna-img-scacchiera img {
	transform: scale(var(--scale));
}
*/

/* ----- video sfondo ----- */
.video-sfondo {
	--w-vid: 1920px;
	--h-vid: 650px;
	position: absolute;
	top: calc((var(--section-h) - var(--h-vid)) / 2);
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: var(--h-vid);
	z-index: -1;
	overflow: hidden;
}
.video-sfondo video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
----- imageGroup -----
#imageGroup {
  display: grid;
  grid-gap: 25px;
  align-items: center;
  justify-items: center;
}
#imageGroup.grid-img-home {
  grid-template-areas:
		'img1 img2'
    'img1 img3';
}
#imageGroup [id^="imgGallery"] {
  display: contents;
}
#imageGroup [id^="imgGallery"] img {
	border-radius: var(--border-radius);
	width: 100%;
}
#imageGroup .grid-img-gallery-control {
	display: none;
}
*/

/* ----- checkbox-form ----- */
.checkbox-form {
	display: flex;
	position: relative;
}
.checkbox-form > input {
	position: relative;
	z-index: 10;
	opacity: 0 !important;
	margin-right: 10px;
}
.checkbox-form .privacyContatti {
	display: block;
	position: absolute;
	z-index: 5;
	top: 2px;
	width: 16px;
	height: 16px;
	background-color: transparent;
	border: 1px solid var(--grigio);
	border-radius: 5px;
}
.checkbox-form .privacyContatti:after {
	content: ' ';
	display: none;
	position: relative;
	top: 2px;
	left: 5px;
	width: 4px;
	height: 8px;
	border: solid var(--primario);
	border-width: 0 1.5px 1.5px 0;
	transform: rotate(45deg);
}
.checkbox-form > input:checked ~ .privacyContatti:after {
	display: block;
}
.checkbox-form label,
.checkbox-form label > a {
	font-size: 12px !important;
	line-height: var(--line-height) !important;
	letter-spacing: 0 !important;
}
.checkbox-form label {
	color: var(--grigio);
}
.checkbox-form label > a {
	color: var(--grigio) !important;
	text-decoration: underline !important;
}
.checkbox-form label > a:hover {
	color: var(--primario) !important;
}
.checkbox-form.checkbox-center {
	justify-content: center;
	align-items: center;
}
.checkbox-form.checkbox-center > input {
	position: relative;
	margin-right: 0;
	right: -14px;
}
.checkbox-form.checkbox-center .privacyContatti {
	position: relative;
	top: -1px;
	margin-right: 8px;
}

/* ----- bg-pittogramma ----- */
[class*="bg-pittogramma"]:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: .03;
	z-index: -1;
}
.bg-pittogramma-white:before {
	background-image: url(/pages/_assets/nice/images/logo-pittogramma-white.svg);
}
.bg-pittogramma-mappa-white:before {
	--bg-p: 40px;
	top: var(--bg-p);
	left: var(--bg-p);
	width: calc(100% - (var(--bg-p) * 2));
	height: calc(100% - (var(--bg-p) * 2));
	background-image: url(/pages/_assets/nice/images/mappamondo.svg);
	background-position: center;
	background-size: contain;
	opacity: .05;
}

/* ----- banner-intro ----- */
.banner-intro {
	--banner-p: 40px;
	top: var(--banner-cover);
	background-color: transparent !important;
	padding-top: 0;
	margin-bottom: var(--banner-cover);
	overflow: visible;
}
.banner-intro .banner-container {
	position: relative;
	width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: var(--banner-p);
	border-radius: calc(var(--border-radius) * 2);
}
.banner-intro .banner-container .banner-text {
	background-color: white;
	padding: var(--banner-p);
	border-radius: var(--border-radius);
}
.banner-intro .banner-container .banner-text-extra {
	position: absolute;
	bottom: 5px;
	left: var(--banner-p);
	display: flex;
	justify-content: center;
	width: calc(100% - (var(--banner-p) * 2));
}

/* ----- el icona ----- */
div.el-icona {
	--d: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--d);
	height: var(--d);
	background-color: var(--primario);
	border-radius: 50%;
	margin: auto;
}
div.el-icona.el-icona-white {
	background-color: white;
}
div.el-icona i {
	color: white;
}
div.el-icona.el-icona-white i {
	color: var(--blu-plenity);
}


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

/* ----- header ----- */
#header,
#header .header-inner,
#header .header-inner .container {
	height: var(--header-h);
}
#header .header-inner .container {
	--pt-header: 10px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding-top: var(--pt-header) !important;
	padding-right: var(--section-p) !important;
	padding-left: var(--section-p) !important;
}
#header .header-inner .container:before {
	content: '';
	position: absolute;
	top: var(--pt-header);
	left: var(--section-p);
	display: block;
	width: calc(100% - (var(--section-p) * 2));
	height: calc(100% - var(--pt-header));
	background-color: rgba(255, 255, 255, .35);
	background-blend-mode: hard-light;
	backdrop-filter: blur(5px);
	border: none;
	border-radius: var(--border-radius);
	box-shadow: 0 4px 6px 0 rgba(0, 0, 0, .1);
	transition: .2s all ease-in-out !important;
}
#header .header-inner .container #logo,
#header .header-inner .container > #mainMenu {
	display: flex;
	height: calc(var(--header-h) - var(--pt-header));
}
#header .header-inner .container #logo {
	float: none !important;
	max-height: calc(var(--header-h) - var(--pt-header));
	height: 100%;
	padding: 20px 40px;
}
#header .header-inner .container #logo svg g.label-logo path {
	fill: white;
	transition: .2s all ease-in-out;
}
#header .header-inner .container > #mainMenu,
#header .header-inner .container > #mainMenu * {
	transition: .2s all ease-in-out !important;
}
#header .header-inner .container #mainMenu nav {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 40px;
}
#header .header-inner .container #mainMenu nav > ul {
	display: flex;
	column-gap: 30px;
	height: 100%;
}
#header .header-inner .container #mainMenu nav > ul li {
	margin: 0;
}
#header .header-inner .container #mainMenu nav > ul > li,
#header .header-inner .container #mainMenu nav > ul > li > a:not(.action-button) {
	display: flex;
	align-items: center;
	height: 100%;
}
#header .header-inner .container #mainMenu nav > ul > li.dropdown > span.dropdown-arrow {
	display: none;
}
#header .header-inner .container #mainMenu nav > ul > li > a {
	color: white;
	padding: 5px 10px;
}
#header .header-inner .container #mainMenu nav > ul > li > a > i {
	color: white;
	width: 100%;
	margin-right: 0;
	margin-left: 5px;
	font-size: var(--text-header-size);
}
#header .header-inner .container #mainMenu nav > ul > li > a.action-button {
	background-color: var(--primario);
	border: 1px solid var(--primario);
	border-radius: 5px;
}
#header .header-inner .container #mainMenu nav > ul > li > a.action-button:hover {
	color: var(--primario);
	background-color: transparent;
}
#header .header-inner .container #mainMenu nav > ul li.current > a:not(.action-button),
#header .header-inner .container #mainMenu nav > ul li:hover > a:not(.action-button),
#header .header-inner .container #mainMenu nav > ul li:focus > a:not(.action-button),
#header .header-inner .container #mainMenu nav > ul li.current > a:not(.action-button) > i,
#header .header-inner .container #mainMenu nav > ul li:hover > a:not(.action-button) > i,
#header .header-inner .container #mainMenu nav > ul li:focus > a:not(.action-button) > i,
#header.sticky-active .header-inner .container #mainMenu nav > ul li.current > a:not(.action-button),
#header.sticky-active .header-inner .container #mainMenu nav > ul li:hover > a:not(.action-button),
#header.sticky-active .header-inner .container #mainMenu nav > ul li:focus > a:not(.action-button),
#header.sticky-active .header-inner .container #mainMenu nav > ul li.current > a:not(.action-button) > i,
#header.sticky-active .header-inner .container #mainMenu nav > ul li:hover > a:not(.action-button) > i,
#header.sticky-active .header-inner .container #mainMenu nav > ul li:focus > a:not(.action-button) > i {
	color: var(--primario);
}
#header .header-inner .container #mainMenu nav > ul > li ul.dropdown-menu {
	--w-dropmenu: 180px;
	top: 100%;
	flex-direction: column;
	row-gap: 20px;
	width: var(--w-dropmenu);
	min-width: unset;
	padding: 20px;
	border: none;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
	border-bottom-right-radius: var(--border-radius);
	border-bottom-left-radius: var(--border-radius);
	background-color: rgba(255, 255, 255, .35);
	background-blend-mode: hard-light;
	backdrop-filter: blur(5px);
	box-shadow: 0 4px 6px 0 rgba(0, 0, 0, .1);
	margin-top: 0;
	z-index: 0;
}
#header .header-inner .container #mainMenu nav > ul > li:not(.hover-active):hover > ul {
	display: flex;
}
#header .header-inner .container #mainMenu nav > ul > li ul.dropdown-menu > li > a {
	color: white;
	padding: 0;
}

/* ----- header - sticky ----- */
#header.sticky-active .header-inner {
	background-color: transparent;
	box-shadow: unset !important;
}
#header.sticky-active .header-inner .container:before {
	background-color: white;
}
#header.sticky-active .header-inner .container #logo svg g.label-logo path {
	fill: var(--grigio);
}
#header.sticky-active .header-inner .container #mainMenu nav > ul > li > a:not(.action-button),
#header.sticky-active .header-inner .container #mainMenu nav > ul > li > a:not(.action-button) > i {
	color: var(--grigio);
}
#header.sticky-active .header-inner .container #mainMenu nav > ul > li ul.dropdown-menu {
	background-color: white;
}
#header.sticky-active .header-inner .container #mainMenu nav > ul > li ul.dropdown-menu > li > a {
	color: var(--grigio);
}


/* ------------------------- SUBHEADER ------------------------- */
#subheader {
	--section-h: 450px;
	position: relative;
	height: var(--section-h);
	padding-top: var(--header-h);
	padding-bottom: 0;
	margin-top: calc(-1 * var(--header-h));
	border-bottom-right-radius: var(--border-radius);
	border-bottom-left-radius: var(--border-radius);
}
.subheader-banner #subheader {
	--section-h: 650px;
	padding-top: calc(var(--header-h) + 30px);
	padding-bottom: calc(-1 * var(--banner-cover));
}
#subheader .container {
	display: flex;
	justify-content: center;
	align-items: center;
}
#subheader .subheader-titolo {
	margin-bottom: 15px;
}
#subheader .subheader-titolo > .subheader-titolo-blog {
	font-size: var(--h3-size) !important;
}
#subheader .subheader-sottotitolo {
	margin-bottom: 50px;
}
#subheader .breadcrumb {
	padding: 5px 0;
	margin-bottom: 0;
}
#subheader .breadcrumb ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
#subheader .breadcrumb ul li,
#subheader .breadcrumb ul li a,
#subheader .breadcrumb ul li a span {
	color: white !important;
}
#subheader .breadcrumb ul li {
	opacity: 1;
}
#subheader .breadcrumb ul li a span {
	text-transform: lowercase;
	font-style: italic;
}
#subheader .breadcrumb ul li:last-child a span {
	color: var(--primario) !important;
}
#subheader .breadcrumb ul li + li:before {
	content: '\2f';
	font-family: "Font Awesome 7 Pro" !important;
}

/* ----- subheader - blog ----- */
#subheader.subheader-blog .breadcrumb {
	display: flex;
	justify-content: center;
}
#subheader.subheader-blog .breadcrumb ul {
	align-items: start;
}
#subheader.subheader-blog .breadcrumb ul li {
	display: flex;
	flex: 1 0 auto;
}
#subheader.subheader-blog .breadcrumb ul li:last-child {
	flex: 1 1 100%;
	align-items: start;
	justify-content: flex-start;
	text-align: left;
}


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

/* ----- footer - content ----- */
#footer {
	--footer-p: 80px;
	background-color: var(--nero);
	padding: 0 var(--footer-p);
}
#footer:before {
	content: '';
	position: absolute;
	top: 0;
	left: var(--footer-p);
	display: block;
	width: calc(100% - var(--footer-p) * 2);
	height: 100%;
	background-image: url(/pages/_assets/nice/images/logo-pittogramma.svg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: .03;
}
#footer .footer-content {
	padding: 80px 0 40px 0;
	overflow: hidden;
}
#footer .footer-content .grid-link-footer {
	display: flex;
	justify-content: flex-end;
	grid-gap: 60px;
}
#footer .footer-content .grid-link-footer > div {
	width: max-content;
}
#footer .footer-content .grid-link-footer a:hover > p {
	color: var(--primario) !important;
}


/* ----- footer - copyright ----- */
footer .copyright {
	background-color: transparent;
	padding-bottom: 40px;
}
footer .copyright div.divider-footer {
	width: 100%;
	height: 1px;
	background-color: var(--grigio-footer);
	margin-bottom: 40px;
}


/* ------------------------- SLIDER ------------------------- */
#slider {
	min-height: 850px;
	top: calc(-1 * var(--header-h)) !important;
	margin-bottom: calc(-1 * var(--header-h)) !important;
	border-bottom-right-radius: var(--border-radius);
	border-bottom-left-radius: var(--border-radius);
}
#slider .container {
	max-width: 1200px;
	padding: 90px 0 180px 0;
}
#slider .container .slide-captions h1 {
	opacity: 1 !important;
	animation: none !important;
}


/* ------------------------- HOME ------------------------- */
#sezPlenity {
	width: calc(100% - var(--section-p) * 2);
	background-color: var(--blu-plenity);
	border-radius: var(--border-radius);
	margin-right: auto;
	margin-left: auto;
}
#sezPlenity .embed-vimeo {
	border-radius: var(--border-radius);
	overflow: hidden;
}


/* ------------------------- BRIDGE ------------------------- */
.card-bridge-container {
	border-radius: var(--border-radius);
	overflow: hidden;
}
.card-bridge-container .card-bridge-text {
	background-color: white;
	padding: 20px;
}
.card-bridge-container .card-bridge-text h3 {
	min-height: calc(var(--line-height) * 2);
}
.card-bridge-container .card-bridge-text p {
	min-height: calc(var(--line-height) * 5);
}
.card-bridge-container .card-bridge-img img {
	width: 100%;
}


/* ------------------------- MAJOR NEEDS ------------------------- */

/* ----- major needs - row valori ----- */
.row-valori {
	--divider-w: 200px;
}
.row-valori .col-divider-valore {
	position: relative;
	max-width: var(--divider-w);
}
.row-valori .col-divider-valore:before {
	--d: 1px;
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - (var(--d) / 2));
	width: var(--d);
	height: 100%;
	background-color: white;
}
.row-valori .col-spazio-valore {
	max-width: calc(var(--divider-w) / 2);
}

/* ----- major needs - sezMondo ----- */
#sezMondo {
	width: calc(100% - var(--section-p) * 2);
	background-color: var(--blu-plenity);
	border-radius: var(--border-radius);
	padding-top: 100px;
	padding-bottom: 100px;
	margin-right: auto;
	margin-left: auto;
}
#sezMondo .row-valori {
	--divider-w: 180px;
}

/* ----- major needs - sezType2 ----- */
#sezType2 .row-valori {
	--divider-w: 250px;
}
#sezType2 .row-valori .col-divider-valore:before {
	background-color: var(--blu-plenity);
}

/* ----- major needs - loghi ----- */
.grid-loghi {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 100px;
}
.grid-loghi .singolo-logo img {
	border-radius: 50%;
}


/* ------------------------- SCIENCE - TECHNOLOGY ------------------------- */
#techWork {
	padding-top: 400px;
}
#techWork .embed-vimeo {
	border-radius: calc(var(--border-radius) * 2);
	overflow: hidden;
}
#techWork .row-valori {
	--divider-w: 150px;
}
#techWork .row-valori .col-divider-valore:before {
	background-color: var(--blu-plenity);
}


/* ------------------------- PRODUCTS - PLENITY ------------------------- */
#introPlenity .embed-vimeo {
	border-radius: calc(var(--border-radius) * 2);
	overflow: hidden;
}


/* ------------------------- BLOG ------------------------- */
.grid-blog {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.grid-blog .card-blog {
	display: flex;
	background-color: var(--blu-plenity);
	padding: 20px 40px;
	border-radius: var(--border-radius);
}
.grid-blog .card-blog .card-blog-testi {
	display: grid;
	grid-template-columns: auto 30px;
	grid-gap: 40px;
	align-items: center;
	width: 100%;
}
.grid-blog .card-blog .card-blog-testi i {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}


/* ------------------------- BLOG - DETTAGLIO ------------------------- */
.row-blog {
	background-color: white;
	padding-bottom: 10px;
	border-radius: var(--border-radius);
	overflow: hidden;
}
.grid-allegati-blog {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

/* ------------------------- CAREERS ------------------------- */
.vantaggio-career {
	height: 100%;
	background-color: rgba(255, 255, 255, .1);
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: var(--border-radius);
}
.vantaggio-career i {
	--d: 56px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--d);
	height: var(--d);
	color: white;
	background-color: var(--primario);
	border-radius: 50%;
}


/* ------------------------- CONTATTI ------------------------- */

/* ----- contatti - link ----- */
.col-contatto {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}
.col-contatto > * {
	transition: .2s all ease-in-out !important;
}
.col-contatto > i {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 56px;
	height: 48px;
	color: var(--primario);
	background-color: var(--primario-10);
	border-radius: calc(var(--border-radius) * 2);
}
.col-contatto > h6 {
	color: var(--nero) !important;
}
.col-contatto:hover > i {
	color: white !important;
	background-color: var(--primario);
}
.col-contatto:hover > h6 {
	color: var(--primario) !important;
}

/* ----- contatti - tab ----- */
.tabs ul.nav-tabs {
	justify-content: center;
	gap: 20px;
	padding-bottom: 40px;
	margin-left: 0 !important;
}
.tabs ul.nav-tabs .nav-item {
	margin-bottom: 0;
}
.tabs ul.nav-tabs .nav-item a.nav-link.btn:not(.active) {
	color: var(--grigio);
	background-color: white;
	border: 2px solid var(--grigio) !important;
}
.tabs ul.nav-tabs .nav-item a.nav-link.btn.active,
.tabs ul.nav-tabs .nav-item a.nav-link.btn:hover {
	color: white;
	background-color: var(--primario) !important;
	border: 2px solid var(--primario) !important;
}

/* ----- contatti - form ----- */
form > .modulo-contatti-grid {
	display: grid;
	grid-template-areas:
		'titolo titolo'
		'nome cognome'
		'email nazione'
		'richiesta tipo'
		'messaggio messaggio'
		'check check'
		'submit submit';
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 20px;
	grid-row-gap: 25px;
	background-color: white;
	padding: 40px;
	border-radius: var(--border-radius);
	transition: .2s all ease-in-out;
}
form > .modulo-contatti-grid.modulo-contatti-grid-business {
	grid-template-areas:
		'titolo titolo'
		'nome cognome'
		'email nazione'
		'azienda ruolo'
		'partnership regione'
		'messaggio messaggio'
		'check check'
		'submit submit';
}
form > .modulo-contatti-grid > [class*="modulo-contatti"] > *:not(label) {
	border: 1px solid var(--grigio);
	border-radius: calc(var(--border-radius) / 2);
}
form > .modulo-contatti-grid > [class*="modulo-contatti"] > *:not(label):not(button):hover,
form > .modulo-contatti-grid > [class*="modulo-contatti"] > *:not(label):not(button):active,
form > .modulo-contatti-grid > [class*="modulo-contatti"] > *:not(label):not(button):focus {
	border-color: var(--primario);
	box-shadow: 0 0 0 .2rem var(--primario-10);
}
form > .modulo-contatti-grid > [class*="modulo-contatti"] > input,
form > .modulo-contatti-grid > [class*="modulo-contatti"] > input::placeholder,
form > .modulo-contatti-grid > [class*="modulo-contatti"] > select,
form > .modulo-contatti-grid > [class*="modulo-contatti"] > textarea,
form > .modulo-contatti-grid > [class*="modulo-contatti"] > textarea::placeholder {
	color: var(--grigio) !important;
}
form > .modulo-contatti-grid > [class*="modulo-contatti"] > input,
form > .modulo-contatti-grid > [class*="modulo-contatti"] > select {
	height: unset !important;
	padding: 15px;
}
form > .modulo-contatti-grid > .modulo-contatti-textarea > textarea {
	height: 200px;
	padding: 15px;
}
form > .modulo-contatti-grid > .modulo-contatti-titolo { grid-area: titolo; }
form > .modulo-contatti-grid > .modulo-contatti-input-nome { grid-area: nome; }
form > .modulo-contatti-grid > .modulo-contatti-input-cognome { grid-area: cognome; }
form > .modulo-contatti-grid > .modulo-contatti-input-email { grid-area: email; }
form > .modulo-contatti-grid > .modulo-contatti-input-nazione { grid-area: nazione; }
form > .modulo-contatti-grid > .modulo-contatti-input-azienda { grid-area: azienda; }
form > .modulo-contatti-grid > .modulo-contatti-input-ruolo { grid-area: ruolo; }
form > .modulo-contatti-grid > .modulo-contatti-input-richiesta { grid-area: richiesta; }
form > .modulo-contatti-grid > .modulo-contatti-input-tipo { grid-area: tipo; }
form > .modulo-contatti-grid > .modulo-contatti-input-partnership { grid-area: partnership; }
form > .modulo-contatti-grid > .modulo-contatti-input-regione { grid-area: regione; }
form > .modulo-contatti-grid > .modulo-contatti-textarea { grid-area: messaggio; }
form > .modulo-contatti-grid > .checkbox-form { grid-area: check; }
form > .modulo-contatti-grid > .modulo-contatti-submit { grid-area: submit; }


/* ------------------------- PRIVACY E COOKIE POLICY ------------------------- */
section[id^="policy"] .btn {
	border: none !important;
	background-color: var(--primario) !important;
}
section[id^="policy"] .btn:hover {
	color: var(--primario) !important;
	background-color: white !important;
}
section[id^="policy"] a:not(.btn) {
	color: inherit !important;
	text-decoration: underline !important;
	transition: .2s all ease-in-out !important;
}
section[id^="policy"] a:not(.btn):hover {
	color: var(--primario) !important;
}