/* ------------------------- VARIABLES ------------------------- */
:root {
	
	--primary-font: "IBM Plex Sans", sans-serif;
	--secondary-font: "Source Sans 3", sans-serif;
	
	--line-height: calc(1em + 8px);
	
	--h1-size: 55px;
	--h1-weight: 600;
	--h1-letter-spacing: 2.5px;
	
	--h2-size: 40px;
	--h2-weight: 600;
	--h2-letter-spacing: calc(var(--h2-size) * 0.025);
	
	--h3-size: 30px;
	--h3-weight: 600;
	--h3-letter-spacing: calc(var(--text-size) * 0.025);
	
	--h4-size: 25px;
	--h4-weight: 300;
	--h4-letter-spacing: normal;
	
	--h5-size: 20px;
	--h5-weight: 400;
	--h5-letter-spacing: calc(var(--text-size) * 0.025);
	
	--h6-size: 17px;
	--h6-weight: 400;
	--h6-letter-spacing: calc(var(--text-size) * 0.1);
	
	--text-size: 17px;
	--text-weight: 400;
	--text-letter-spacing: calc(var(--text-size) * 0.025);
	
	--text-small-size: 15px;
	--text-small-weight: 300;
	--text-small-letter-spacing: normal;
	
	--text-btn-size: 15px;
	--text-btn-weight: 400;
	--text-btn-letter-spacing: 1.5px;
	
	--text-header-size: 15px;
	--text-header-weight: 400;
	--text-header-letter-spacing: 1.5px;
	
	--text-footer-copyright-size: 13px;
	--text-footer-copyright-weight: 300;
	--text-footer-copyright-letter-spacing: normal;
	
	--blu: rgba(20, 96, 119, 1);
	--blu-65: rgba(20, 96, 119, .65);
	--blu-25: rgba(20, 96, 119, .25);
	--blu-5: rgba(20, 96, 119, .05);
	--blu-scuro: #2d3648;
	
	--header-h: 80px;
	--border-radius: 20px;
	--section-h: 100%;
	--section-p: 75px;
	
}


/* ------------------------- 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-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 * {
	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 - color ----- */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: var(--blu);
}
html, body, footer, p, span, li, a, label, input, select, textarea {
  color: var(--blu-scuro);
}
footer .copyright span,
footer .copyright span > a,
.text-blu { color: var(--blu) !important; }
.text-blu-65 { color: var(--blu-65) !important; }
.text-blu-25 { color: var(--blu-25) !important; }
.text-blu-5 { color: var(--blu-5) !important; }
.text-blu-scuro { color: var(--blu-scuro) !important; }

/* ----- text - other ----- */
footer .copyright a:hover {
	text-decoration: underline !important;
}
.text-big-counter {
	font-family: var(--primary-font) !important;
	font-size: 100px !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-blu { background-color: var(--blu) !important; }
.bg-blu-65 { background-color: var(--blu-65) !important; }
.bg-blu-25 { background-color: var(--blu-25) !important; }
.bg-blu-5 { background-color: var(--blu-5) !important; }
.bg-blu-scuro { background-color: var(--blu-scuro) !important; }
.bg-sez-img-text { background-image: linear-gradient(to left, transparent, var(--blu-5) 50%); }
.bg-sez-text-img { background-image: linear-gradient(to right, transparent, var(--blu-5) 50%); }
.bg-white-blu-5-bottom { background-image: linear-gradient(to bottom, white, var(--blu-5)); }


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

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

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

/* ----- btn - base - bg ----- */
[class*="btn"][class*="-bg-blu"] { background-color: var(--blu) !important; }
[class*="btn"][class*="-bg-blu-65"] { background-color: var(--blu-65) !important; }
[class*="btn"][class*="-bg-blu-25"] { background-color: var(--blu-25) !important; }
[class*="btn"][class*="-bg-blu-5"] { background-color: var(--blu-5) !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-blu"] { color: var(--blu) !important; }
[class*="btn"][class*="-cl-blu-65"] { color: var(--blu-65) !important; }
[class*="btn"][class*="-cl-blu-25"] { color: var(--blu-25) !important; }
[class*="btn"][class*="-cl-blu-5"] { color: var(--blu-5) !important; }
[class*="btn"][class*="-cl-white"] { color: white !important; }
[class*="btn"][class*="-cl-transparent"] { color: transparent !important; }

/* ----- btn - base - border ----- */
[class*="btn"][class*="-br-blu"] { border-color: var(--blu) !important; }
[class*="btn"][class*="-br-blu-65"] { border-color: var(--blu-65) !important; }
[class*="btn"][class*="-br-blu-25"] { border-color: var(--blu-25) !important; }
[class*="btn"][class*="-br-blu-5"] { border-color: var(--blu-5) !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-blu"]:hover { background-color: var(--blu) !important; }
[class*="btn"][class*="-bg-h-blu-65"]:hover { background-color: var(--blu-65) !important; }
[class*="btn"][class*="-bg-h-blu-25"]:hover { background-color: var(--blu-25) !important; }
[class*="btn"][class*="-bg-h-blu-5"]:hover { background-color: var(--blu-5) !important; }
[class*="btn"][class*="-bg-h-white"]:hover { background-color: white !important; }
[class*="btn"][class*="-bg-h-transparent"]:hover { background-color: transparent !important; }

/* ----- btn - hover - color ----- */
[class*="btn"][class*="-cl-h-blu"]:hover { color: var(--blu) !important; }
[class*="btn"][class*="-cl-h-blu-65"]:hover { color: var(--blu-65) !important; }
[class*="btn"][class*="-cl-h-blu-25"]:hover { color: var(--blu-25) !important; }
[class*="btn"][class*="-cl-h-blu-5"]:hover { color: var(--blu-5) !important; }
[class*="btn"][class*="-cl-h-white"]:hover { color: white !important; }
[class*="btn"][class*="-cl-h-transparent"]:hover { color: transparent !important; }

/* ----- btn - hover - border ----- */
[class*="btn"][class*="-br-h-blu"]:hover { border-color: var(--blu) !important; }
[class*="btn"][class*="-br-h-blu-65"]:hover { border-color: var(--blu-65) !important; }
[class*="btn"][class*="-br-h-blu-25"]:hover { border-color: var(--blu-25) !important; }
[class*="btn"][class*="-br-h-blu-5"]:hover { border-color: var(--blu-5) !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 ----- */
.p-relative { position: relative; }

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

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

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

/* ----- 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: 600px;
	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: 0;
	overflow: hidden;
}
.video-sfondo video {
  width: 100%;
  height: 100%;
	object-fit: cover;
}

/* ----- overlay ----- */
.overlay-sfondo {
	position: relative;
}
.overlay-sfondo:before,
.overlay-sfondo:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
}
.overlay-sfondo.overlay-reverse:before,
.overlay-sfondo.overlay-reverse:after {
	top: 0;
	bottom: unset;
}
.overlay-sfondo:before {
	height: 100%;
	background-image: linear-gradient(to top, var(--blu) 25%, var(--blu-25));
	opacity: .5;
	z-index: 1
}
.overlay-sfondo.overlay-reverse:before { background-image: linear-gradient(to bottom, var(--blu) 25%, var(--blu-25)); }
.overlay-sfondo:after {
	height: 40%;
	background-image: linear-gradient(to top, var(--blu), transparent);
	opacity: .85;
	z-index: 2
}
.overlay-sfondo.overlay-reverse:after { background-image: linear-gradient(to bottom, var(--blu), transparent); }
.overlay-sfondo > [class*="sfondo"] {
	position: absolute;
	z-index: 0;
}
.overlay-sfondo:not(.slide) > *:not([class*="sfondo"]) {
	position: relative;
	z-index: 10;
}
.overlay-sfondo.slide > .container {
	z-index: 10;
}

/* ----- divider ----- */
.divider {
	display: block;
	width: 125px;
	height: 2px;
}
.divider.divider-vert {
	width: 2px;
	height: 50px;
}
.divider.divider-blu { background-color: var(--blu); }
.divider.divider-blu-65 { background-color: var(--blu-65); }
.divider-center { 
	margin-right: auto;
	margin-left: auto;
}

/* ----- 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.grid-img-mission {
  grid-template-areas:
		'img1 img3'
    'img2 img3';
}
#imageGroup.grid-img-consulenze {
  grid-template-areas:
		'img1 img3'
		'img1 img4'
    'img2 img4';
}
#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(--blu-65);
  border-radius: 5px;
}
.checkbox-form .privacyContatti:after {
  content: ' ';
  display: none;
  position: relative;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid var(--blu-65);
  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: 1 !important;
}
.checkbox-form label {
  color: var(--blu-scuro);
}
.checkbox-form label > a {
  color: var(--blu);
}
.checkbox-form label > a:hover {
  color: var(--blu) !important;
  text-decoration: underline !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;
}


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

/* ----- header ----- */
#header,
#header .header-inner,
#header .header-inner .container {
  height: var(--header-h);
}
#header .header-inner .container {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
	padding-top: 20px !important;
	padding-right: var(--section-p) !important;
	padding-left: var(--section-p) !important;
}
#header .header-inner .container #logo,
#header .header-inner .container > .header-extras,
#header .header-inner .container > #mainMenu {
	display: flex;
	height: calc(var(--header-h) - 20px);
}
#header .header-inner .container #logo img {
	max-height: calc(var(--header-h) - 20px);
  height: 100%;
}
#header .header-inner .container .logo-header-sticky,
#header .header-inner .container .header-extras-header-sticky {
	display: none;
	align-items: center;
	height: 100%;
	z-index: 1;
}
#header .header-inner .container > .header-extras {
	order: 3;
}
#header .header-inner .container > .header-extras [class*="btn"] {
	height: calc(var(--header-h) - 20px);
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
#header .header-inner .container > #mainMenu {
	order: 2;
}
#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 50px;
	border-radius: var(--border-radius);
}
#header .header-inner .container #mainMenu nav:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, .35);
	background-blend-mode: hard-light;
	backdrop-filter: blur(5px);
	border: 1px solid white;
	border-radius: var(--border-radius);
	transition: .2s all ease-in-out !important;
}
#header .header-inner .container #mainMenu:hover nav:before {
	background-color: white;
}
#header .header-inner .container #mainMenu nav > ul {
	display: flex;
	column-gap: 25px;
	height: 100%;
}
#header .header-inner .container #mainMenu nav > ul li {
	margin: 0;
}
#header .header-inner .container #mainMenu nav > ul > li {
	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: black;
	padding: 10px 15px;
	border-radius: var(--border-radius);
}
#header .header-inner .container #mainMenu nav > ul li.current > a,
#header .header-inner .container #mainMenu nav > ul li:hover > a,
#header .header-inner .container #mainMenu nav > ul li:focus > a {
  color: var(--blu);
	background-color: var(--blu-5);
}
#header .header-inner .container #mainMenu nav > ul li ul.dropdown-menu {
	--w-dropmenu: 200px;
	top: 100%;
	left: calc(50% - var(--w-dropmenu) / 2);
	flex-direction: column;
	align-items: center;
	row-gap: 10px;
	width: var(--w-dropmenu);
	min-width: unset;
	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);
	margin-top: -1px;
	z-index: -1;
}
#header .header-inner .container #mainMenu nav > ul li ul.dropdown-menu:before,
#header .header-inner .container #mainMenu nav > ul li ul.dropdown-menu:after {
	--d: 20px;
	content: '';
	position: absolute;
	top: 1px;
	display: block;
	width: var(--d);
	height: var(--d);
	background-color: transparent;
	overflow: hidden;
	z-index: -1;
}
#header .header-inner .container #mainMenu nav > ul li ul.dropdown-menu:before {
	right: 100%;
	border-top-right-radius: var(--border-radius);
	box-shadow: 10px -10px 0 10px white;
}
#header .header-inner .container #mainMenu nav > ul li ul.dropdown-menu:after {
	left: 100%;
	border-top-left-radius: var(--border-radius);
	box-shadow: -10px -10px 0 10px white;
}
#mainMenu nav > ul > li:not(.hover-active):hover > ul {
	display: flex;
}

/* ----- header - cambio-lingue ----- */
#header:not(.sticky-active) .header-inner .container #mainMenu nav > ul .cambio-lingue {
	display: none;
}
#header .header-inner .container .header-extras .cambio-lingue {
	--d: 35px;
	float: none;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--d);
	height: 100%;
	border-radius: var(--border-radius);
	margin-left: 25px;
	z-index: 0;
}
#header .header-inner .container .header-extras .cambio-lingue:before {
	content: '';
	position: absolute;
	top: calc(50% - var(--d) / 2);
	left: calc(50% - var(--d) / 2);
	display: block;
	width: var(--d);
	height: var(--d);
	background-color: rgba(255, 255, 255, .35);
	background-blend-mode: hard-light;
	backdrop-filter: blur(5px);
	border: 1px solid white;
	border-radius: 5px;
	z-index: 0;
	transition: .2s all ease-in-out;
}
#header .header-inner .container .header-extras .cambio-lingue:hover:before {
	background-color: white;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
#header .header-inner .container .header-extras .cambio-lingue i {
	z-index: 1;
}
#header .header-inner .container #mainMenu nav > ul .cambio-lingue {
	float: none;
	display: flex;
	align-items: center;
}
#header .header-inner .container .header-extras .cambio-lingue i { color: var(--blu); }
#header .header-inner .container .header-extras .cambio-lingue:hover i { color: var(--blu); }
#header .header-inner .container #mainMenu nav > ul .cambio-lingue i { color: var(--blu-65); }
#header .header-inner .container #mainMenu nav > ul .cambio-lingue:hover i { color: var(--blu); }
#header .header-inner .container .header-extras .cambio-lingue ul.p-dropdown-content,
#header .header-inner .container #mainMenu nav > ul .cambio-lingue ul.p-dropdown-content {
	top: 100%;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	width: 150px;
	min-width: unset;
	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);
	margin-top: -1px;
	z-index: -1;
}
#header .header-inner .container .header-extras .cambio-lingue ul.p-dropdown-content {
	top: 0;
	left: unset;
	right: 100%;
	width: auto;
	padding: 10px;
	border-radius: 5px;
}
#header .header-inner .container .header-extras .cambio-lingue ul.p-dropdown-content li {
	border-radius: 5px;
}
#header .header-inner .container .header-extras .cambio-lingue ul.p-dropdown-content li.lingua-selezionata,
#header .header-inner .container .header-extras .cambio-lingue ul.p-dropdown-content li:hover {
	background-color: var(--blu-5);
}
#header .header-inner .container .header-extras .cambio-lingue ul.p-dropdown-content li.lingua-selezionata a,
#header .header-inner .container .header-extras .cambio-lingue ul.p-dropdown-content li:hover a {
	color: var(--blu);
}
#header .header-inner .container #mainMenu nav > ul .cambio-lingue ul.p-dropdown-content:before,
#header .header-inner .container #mainMenu nav > ul .cambio-lingue ul.p-dropdown-content:after {
	--d: 20px;
	content: '';
	position: absolute;
	top: 1px;
	display: block;
	width: var(--d);
	height: var(--d);
	background-color: transparent;
	overflow: hidden;
	z-index: -1;
}
#header:not(.sticky-active) .header-inner .container #mainMenu nav > ul .cambio-lingue ul.p-dropdown-content:before,
#header:not(.sticky-active) .header-inner .container #mainMenu nav > ul .cambio-lingue ul.p-dropdown-content:after { content: none; }
#header .header-inner .container #mainMenu nav > ul .cambio-lingue ul.p-dropdown-content:before {
	right: 100%;
	border-top-right-radius: var(--border-radius);
	box-shadow: 10px -10px 0 10px white;
}
#header .header-inner .container #mainMenu nav > ul .cambio-lingue ul.p-dropdown-content:after {
	left: 100%;
	border-top-left-radius: var(--border-radius);
	box-shadow: -10px -10px 0 10px white;
}
#header .header-inner .container #mainMenu nav > ul .cambio-lingue li {

}

	/* ----- header - sticky ----- */
#header.sticky-active .header-inner {
  background-color: transparent;
  box-shadow: unset !important;
}
#header.sticky-active .header-inner .container {
	justify-content: center;
}
#header.sticky-active .header-inner .container #logo,
#header.sticky-active .header-inner .container > .header-extras {
	display: none;
}
#header.sticky-active .header-inner .container .logo-header-sticky,
#header.sticky-active .header-inner .container .header-extras-header-sticky {
	display: flex;
}
#header.sticky-active .header-inner .container .header-extras-header-sticky [class*="btn"] {
	--h-btn: 45px;
	padding: 10px 25px !important;
}


/* ------------------------- SUBHEADER ------------------------- */
#subheader {
	--section-h: 550px;
	position: relative;
	height: var(--section-h);
	padding-top: var(--header-h);
	padding-bottom: 0;
	margin-top: calc(-1 * var(--header-h));
}
#subheader .container {
	display: flex;
	justify-content: center;
	align-items: center;
}
#subheader .subheader-titolo {
  margin-bottom: 15px;
}
#subheader .subheader-sottotitolo {
  margin-bottom: 50px;
}
#subheader .breadcrumb {
  padding: 5px 0;
  margin-bottom: 0px;
}
#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 + li:before {
  content: '\f054';
  font-family: "Font Awesome 7 Pro" !important;
}


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

/* ----- footer - content ----- */
#footer .footer-content {
	--section-h: 600px;
	height: var(--section-h);
  padding: 20px 0 20px 0;
	overflow: hidden;
}
#footer .footer-content .card-link-footer {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 800px;
	padding: 30px 50px;
	z-index: 10;
}
#footer .footer-content .card-link-footer:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
  background-color: rgba(255, 255, 255, .35);
	background-blend-mode: hard-light;
  backdrop-filter: blur(5px);
	border: 1px solid white;
	border-radius: var(--border-radius);
	z-index: 5;
}
#footer .footer-content .card-link-footer > * {
	position: relative;
	z-index: 10;
}
#footer .footer-content .grid-link-footer {
	display: grid;
	grid-template-areas:
		'tel mail'
		'pos pos';
	grid-column-gap: 20px;
	grid-row-gap: 15px;
}
#footer .footer-content .grid-link-footer [class*="link-footer"] {
  display: flex;
  align-items: center;
}
#footer .footer-content .grid-link-footer .link-footer-tel { grid-area: tel; }
#footer .footer-content .grid-link-footer .link-footer-mail { grid-area: mail; }
#footer .footer-content .grid-link-footer .link-footer-pos { grid-area: pos; }
#footer .footer-content .mappa-contatti {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: var(--section-h);
}
#footer .footer-content .mappa-contatti iframe {
	height: var(--section-h);
}

/* ----- footer - copyright ----- */
footer .copyright {
	display: flex;
	align-items: center;
	min-height: 45px;
	padding: 10px 0;
}


/* ------------------------- SLIDER ------------------------- */
#slider {
	top: calc(-1 * var(--header-h)) !important;
	margin-bottom: calc(-1 * var(--header-h)) !important;
}
#slider .container {
  max-width: 1200px;
  padding-right: 0;
  padding-left: 0;
}


/* ------------------------- INCLUDE ------------------------- */

/* ----- include - clienti ----- */
#clienti .carousel .logo-carousel-container {
	padding: 5px 15px;
	border-radius: var(--border-radius);
	margin: 10px 10px 20px 10px;
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
}

/* ----- include - fasi ----- */
.grid-fasi {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 25px;
}
.grid-fasi .card-fase {
	border-radius: var(--border-radius);
	background-color: white;
	overflow: hidden;
}
.grid-fasi .card-fase .card-fase-img img {
  width: 100%;
}
.grid-fasi .card-fase .card-fase-testi {
	padding: 25px 50px 50px 50px;
}

/* ----- include - ambiti ----- */
.carousel .ambito-carousel-container {
  padding: 0 7.5px;
}
.carousel .ambito-carousel-container img {
  margin-bottom: 25px;
}


/* ------------------------- STORIA ------------------------- */
[class*="row-tappa-storia"] {
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
}
[class*="row-tappa-storia"].row-tappa-storia-reverse {
	flex-direction: row-reverse;
}
[class*="row-tappa-storia"]:before,
[class*="row-tappa-storia"]:after {
	content: '';
	position: absolute;
	left: calc(50% - (var(--d) / 2));
	display: block;
	width: var(--d);
	background-color: var(--blu);
}
[class*="row-tappa-storia"]:before {
	--d: 2px;
	top: 0;
	height: 100%;
}
[class*="row-tappa-storia"]:first-child:before,
[class*="row-tappa-storia"]:last-child:before {
	height: 50%;
}
[class*="row-tappa-storia"]:first-child:before {
	top: unset;
	bottom: 0;
}
[class*="row-tappa-storia"]:after {
	--d: 15px;
	top: calc(50% - (var(--d) / 2));
	height: var(--d);
	border-radius: 4px;
}


/* ------------------------- TEAM ------------------------- */
.grid-team {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 25px;
	grid-row-gap: 50px;
  justify-items: center;
}


/* ------------------------- REFERENZE ------------------------- */
.grid-loghi-referenze {
	display: grid;
  grid-template-areas:
		'logo1 logo1 logo2 logo2 logo3 logo3'
    '. logo4 logo4 logo5 logo5 .';
	grid-gap: 25px;
}
.grid-loghi-referenze .logo-referenze {
	padding: 5px 15px;
	border-radius: var(--border-radius);
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
}


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

/* ----- blog - filtri ----- */
.elenco-filtri-blog {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	list-style: none;
	margin-left: 0;
	margin-bottom: 80px !important;
}

/* ----- blog - card ----- */
.grid-card-blog {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 20px;
}
.card-blog {
	width: 100%;
	background-color: var(--blu-5);
	border-radius: var(--border-radius);
	overflow: hidden;
}
.card-blog .card-blog-text {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 25px;
	padding: 50px;
	transition: .3s all ease-in-out;
}
.card-blog:hover .card-blog-text {
	background-color: var(--blu-5);
}
.card-blog .card-blog-text .card-blog-cat {
	position: relative;
	text-transform: uppercase;
	color: white;
	background-color: white;
	padding: 5px 15px;
	border-radius: calc(var(--border-radius) / 2);
	z-index: 0;
	overflow: hidden;
}
.card-blog .card-blog-text .card-blog-cat:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: var(--blu-65);
	z-index: -1;
}
.card-blog .card-blog-text > h3 {
	min-height: calc(var(--line-height) * 2);
}
.card-blog .card-blog-text > p {
	min-height: calc(var(--line-height) * 3);
}
.card-blog .card-blog-text .card-blog-dettaglio {
	display: flex;
	align-items: center;
}
.card-blog .card-blog-text .card-blog-dettaglio > * {
	color: var(--blu) !important;
}
.card-blog:hover .card-blog-text .card-blog-dettaglio > span {
	text-decoration: underline;
}

/* ------------------------- CONTATTI ------------------------- */
.contatti-grid {
	display: grid;
	grid-template-areas:
		'map map'
		'tel email';
	grid-gap: 25px;
  align-items: center;
  justify-items: center;
}
.contatti-grid > a[class*="contatti-grid-"] {
	text-align: center;
	width: 100%;
	background-color: var(--blu-5);
	padding: 20px 30px;
	border-radius: var(--border-radius);
	transition: .3s all ease-in-out;
}
.contatti-grid > a[class*="contatti-grid-"]:hover {
	background-color: var(--blu);
}
.contatti-grid > a[class*="contatti-grid-"]:hover > i,
.contatti-grid > a[class*="contatti-grid-"]:hover > span {
	color: white !important;
	transition: .3s all ease-in-out;
}
.contatti-grid > a.contatti-grid-mappa { grid-area: map; }
.contatti-grid > a.contatti-grid-telefono { grid-area: tel; }
.contatti-grid > a.contatti-grid-email { grid-area: email; }

/* ----- contatti ----- */
form > .modulo-contatti-grid {
	display: grid;
	grid-template-areas:
		'titolo titolo'
		'nome messaggio'
		'azienda messaggio'
		'email messaggio'
		'telefono messaggio'
		'check messaggio'
		'submit messaggio';
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 15px;
	grid-row-gap: 25px;
	background-color: var(--blu-5);
	padding: 50px;
	border-radius: var(--border-radius);
}
form > .modulo-contatti-grid > [class*="modulo-contatti"] > * {
	border: none;
	border-radius: var(--border-radius);
}
form > .modulo-contatti-grid > [class*="modulo-contatti"] > *:focus {
 box-shadow: 0 0 0 .2rem var(--blu-5);
}
form > .modulo-contatti-grid > [class*="modulo-contatti"] > input::placeholder,
form > .modulo-contatti-grid > [class*="modulo-contatti"] > textarea::placeholder {
	font-weight: 700 !important;
	color: var(--blu-65);
}
form > .modulo-contatti-grid > [class*="modulo-contatti"] > input {
  height: unset;
  padding: 20px 30px;
}
form > .modulo-contatti-grid > .modulo-contatti-textarea > textarea {
  height: 100%;
  padding: 20px 30px;
}
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-azienda { grid-area: azienda; }
form > .modulo-contatti-grid > .modulo-contatti-input-email { grid-area: email; }
form > .modulo-contatti-grid > .modulo-contatti-input-telefono { grid-area: telefono; }
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(--blu-65) !important;
}
section[id^="policy"] .btn:hover {
	background-color: var(--blu) !important;
}
section[id^="policy"] a:hover {
	color: var(--blu) !important;
}

