/*
Theme Name: BGF Group
Author: Neiko srl
Author URI: http://www.neiko.it/
Description: BGF Group - 2025
Version: 1.0
License: GNU General Public License v2 or later
*/

/*  FONTS e COLORI */
:root {
	
	--blu: #008CD3;
	--orange: #D35917;
	--orange-gradient-light: linear-gradient(179.52deg, #F4F2F0 0.41%, #F3944C 99.59%);
	--blu-gradient-light: linear-gradient(180.39deg, #F4F2F0 0.34%, #47C1F0 99.66%);
	--blu-gradient: linear-gradient(154.4deg, #47C1F0 13.74%, #008CD3 86.26%);
	--black-gradient: linear-gradient(180deg, #3C3C3B 0%, #1E1E1E 100%);
	--antracite-light: #A7A7A7;
	--antracite: #3C3C3B;
	--black: #1E1E1E;
	--light-grey: #E7E5E4;
	--dark-white: #F4F2F0;
	--white: #FFFFFF;
	
	--font-family: 'Manrope', sans-serif;
	
	--16: clamp(0.778rem, 0.833vw, 0.889rem);
	--18: clamp(1.000rem, 0.938vw, 1.000rem);
	--20: clamp(1.000rem, 1.042vw, 1.111rem);
	--24: clamp(1.000rem, 1.250vw, 1.333rem);
	--32: clamp(1.111rem, 1.667vw, 1.778rem);
	--40: clamp(1.389rem, 2.083vw, 2.222rem);
	--48: clamp(1.6rem, 2.500vw, 2.667rem);
	--50: clamp(1.667rem, 2.604vw, 2.778rem);
	--72: clamp(1.889rem, 3.750vw, 4.000rem);
	--85: clamp(4.063rem, 4.427vw, 5.313rem);
	--100: clamp(2.778rem, 5.208vw, 5.556rem);
	--150: clamp(0.800rem, 7.813vw, 7.500rem);
	--200: clamp(0.800rem, 10.417vw, 10.000rem);
	--250: clamp(6.944rem, 13.021vw, 13.889rem);
	--700: clamp(13.889rem, 36.458vw, 38.889rem);
	--padding-dynamic: clamp(1.875rem, 5.208vw, 6.250rem);
	
		
	--transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
	
	--font-weight-regular: 400; /* Light */
	--font-weight-bold: 500; /* Medium */
	--font-weight-title: 500; /* Medium */
}

/* GENERAL */
html,body { 
	margin:0;
	padding:0;
	background-color: var(--dark-white);
	color: var(--black);
	font-family: var(--font-family);
	font-weight: var(--font-weight-regular);
	font-size: 18px !important;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
}

.container-fluid {
	padding-left: clamp(1.75rem, 5.208vw, 6.250rem);
	padding-right: clamp(1.75rem, 5.208vw, 6.250rem);
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}
.lenis:not(.lenis-scrolling) iframe {
  pointer-events: auto;
}

@media (min-width: 1400px){ 
	html,body {
		font-size: 18px !important;
	}
}

/* WPML */

.lang-dropdown {
	position: absolute;
	z-index: 100;
	top: 50%;
	right: var(--200);
	transform: translateY(-50%);
	display: inline-block;
}

.lang-dropdown-toggle {
	position: relative;
	z-index: 100;
	background: transparent;
	border: 1px solid var(--white);
	padding: 10px 14px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: var(--white);
	transition: var(--transition);
}

.lang-dropdown-toggle:hover {
	color: var(--black);
	background-color: var(--light-grey);
	border: 1px solid var(--light-grey);
}


.lang-dropdown-toggle .arrow {
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--white);
	border-bottom: 2px solid var(--white);
	transform: rotate(45deg);
	margin-left: 10px;
	transition: var(--transition);
}

.lang-dropdown-toggle:hover .arrow {
	border-right: 2px solid var(--black);
	border-bottom: 2px solid var(--black);
}

.lang-dropdown-menu {
	display: none;
	width: 100%;
	color: var(--white);
	position: absolute;
	top: 100%;
	left: 0;
	background: transparent;
	border: 1px solid var(--white);
	padding: 0;
	z-index: 100;
	transition: var(--transition);
}

.lang-dropdown-menu li {
	list-style: none;
}

.lang-dropdown-menu li a {
	display: block;
	padding: 10px 14px;
	text-decoration: none;
	color: var(--white);
	transition: var(--transition);
	width: 100%;
}

.lang-dropdown-menu li.active a {
	font-weight: bold;
}

.lang-dropdown-menu li a:hover {
	background: var(--light-grey);
	color: var(--black);
}

@media (max-width: 767.99px) {
	.lang-dropdown {
		right: 65px;
	}
	
	.lang-dropdown-toggle {
		padding: 6px 8px;
	}
	
	.lang-dropdown-menu li a {
		padding: 6px 8px;
	}
}


/* Per Chrome, Edge, Safari */
::-webkit-scrollbar {
  width: 8px; /* larghezza scrollbar */
  background: transparent; /* sfondo della track */
}

::-webkit-scrollbar-track {
  background: transparent; /* sfondo track */
}

::-webkit-scrollbar-thumb {
  background-color: var(--antracite); /* colore cursore */
  border-radius: 4px; /* arrotonda i bordi */
  border: 0px solid transparent; /* optional: per un po' di padding interno */
  background-clip: content-box;
}

/* Hover sul cursore */
::-webkit-scrollbar-thumb:hover {
  background-color: var(--blu); /* cambia colore al passaggio del mouse */
}

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--antracite) transparent;
}

img,a img {
	border: none!important;
}

::-moz-selection {
	background: none repeat scroll 0 0 #FFF;
	color:#000;
}

* {
	outline: 0!important;
}

b,strong,.bold { 
	font-weight: 700;
}

a,a:visited { 
	outline-style: none;
	text-decoration: none;
	color: inherit;
	width: fit-content;
}

a:hover { 
	cursor: pointer !important;
	color: inherit;
	text-decoration: underline;
}



/* PADDING E MARGIN */

.no-padding-x {
	padding-left: 0;
	padding-right: 0;
}

.no-padding-right {
	padding-right: 0 !important;
}

.no-padding-left {
	padding-left: 0 !important;
}

.py100 {
	padding-top: clamp(2.778rem, 5.208vw, 5.556rem);
	padding-bottom: clamp(2.778rem, 5.208vw, 5.556rem);
}

.py70 {
	padding-top: clamp(2.222rem, 3.646vw, 3.889rem);
	padding-bottom: clamp(2.222rem, 3.646vw, 3.889rem);
}

.py50 {
	padding-top: clamp(1.667rem, 2.604vw, 2.778rem);
	padding-bottom: clamp(1.667rem, 2.604vw, 2.778rem);
}

.py30 {
	padding-top: clamp(0.833rem, 1.563vw, 1.667rem);
	padding-bottom: clamp(0.833rem, 1.563vw, 1.667rem);
}

.py20 {
	padding-top: clamp(0.833rem, 1.042vw, 1.111rem);
	padding-bottom: clamp(0.833rem, 1.042vw, 1.111rem);
}

.pt100 {
	padding-top: clamp(2.778rem, 5.208vw, 5.556rem);
}

.pt70 {
	padding-top: clamp(2.222rem, 3.646vw, 3.889rem);
}

.pt50 {
	padding-top: clamp(1.667rem, 2.604vw, 2.778rem);
}

.pt30 {
	padding-top: clamp(0.833rem, 1.563vw, 1.667rem);
}

.pt10 {
	padding-top: clamp(0.278rem, 0.521vw, 0.556rem);
}

.pb100 {
	padding-bottom: clamp(2.778rem, 5.208vw, 5.556rem) !important;
}

.pb70 {
	padding-bottom: clamp(2.222rem, 3.646vw, 3.889rem);
}

.pb50 {
	padding-bottom: clamp(1.667rem, 2.604vw, 2.778rem);
}

.pb30 {
	padding-bottom: clamp(0.833rem, 1.563vw, 1.667rem);
}

.pb20 {
	padding-bottom: clamp(0.833rem, 1.042vw, 1.111rem);
}

.mb30 {
	margin-bottom: clamp(0.833rem, 1.563vw, 1.667rem);
}

.mb50 {
	margin-bottom: var(--50);
}

.full-height {
	width: auto;
	height: auto;
	min-height: 100vh;
}



/* TYPO */

.big{
	font-size: var(--24);
}
.small{
	font-size: 0.9rem;
}

h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{ 
	font-family: var(--font-title);
	font-weight: var(--font-weight-title);
	color: var(--primary-color);
}

h1,.h1 {
	font-family: var(--font-family);
	font-size: var(--72);
	margin: 0;
}

h2,.h2 {
	font-family: var(--font-family);
	font-size: var(--48);
	margin: 0 !important;
	line-height: normal;
}

h3,.h3 {
	font-family: var(--font-family);
	font-size: var(--32);
	margin: 0;
} 

h4,.h4 {
	font-family: var(--font-family);
	font-size: var(--24);
	margin: 0;
}

h5,.h5 {
	font-family: var(--font-family);
	font-size: var(--20);
	margin: 0;
}

h6,.h6 {
	font-family: var(--font-family);
	font-size: var(--18);
	margin: 0;
	font-weight: 700;
}

p, .p {
	margin-bottom: 0;
}

.sub {
	font-family: var(--font-family);
	font-size: var(--32);
}


/* COLORI */

.white {
	background-color: var(--dark-white);
}

.black {
	background-color: var(--black);
}

.blu {
	background: linear-gradient(180deg, #F4F2F0 0%, #47C1F0 100%);
}

.orange {
	background: linear-gradient(180deg, #F4F2F0 0%, #F3944C 100%);
}

.grey {
	background-color: var(--light-grey);
}

.white-text {
	color: var(--white);
}

.blu-text {
	color: var(--blu);
}

.orange-text {
	color: var(--orange);
}

.person {
	color: var(--orange);
	font-weight: 700;
}

.company {
	color: var(--blu);
	font-weight: 700;
}


/* ANIMAZIONE TESTI */

.animated-title {
	overflow: hidden;
	display: block;
}

.animated-title span {
	display: inline-block;
	transform: translateY(100%);
	opacity: 0;
	transition: transform 1s cubic-bezier(0.08,0.82,0.17,1), opacity 0.5s cubic-bezier(0.08,0.82,0.17,1);
}

.animated-title.animate span {
	transform: translateY(0);
	opacity: 1;
}

@media (max-width: 991.99px) {
	.animated-title span {
		display: inline-block;
		transform: translateY(0%);
		opacity: 1;
	}
}

/* ELEMENTI COMUNI */

.z-index-1 {
	position: relative;
	z-index: 1;
}

.square-bottom-right {
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translate(50%, 50%);
	z-index: 0;
}

.square-bottom-left {
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(-50%, 50%);
	z-index: 0;
}

.arrow-left {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
	width: var(--700);
	height: auto;
}

.arrow-right {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 0;
	width: var(--700);
	height: auto;
}

.arrow-right-dark {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
	width: var(--700);
	height: auto;
}

.arrow-left-dark {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
	width: var(--700);
	height: auto;
}

.arrow-left-orange {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
	width: var(--250);
	height: auto;
}

.arrow-left-grey {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
	width: auto;
	height: 100%;
}

.arrow-right-grey {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 0;
	width: auto;
	height: 100%;
}

.arrow-right-menu {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 0;
	width: auto;
	height: 100%;
}

@media (max-width: 991.99px) {
	.square-bottom-right {
		width: var(--72);
	}
	
	.square-bottom-left {
		width: var(--72);
	}
}

@media (max-width: 767.99px) {
	.square-bottom-right {
		width: var(--72);
	}
	
	.square-bottom-left {
		width: var(--72);
	}
}


/* BOTTONI */

.primary-btn {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 600;
	border: 1px solid var(--antracite);
	color: var(--antracite);
	padding: 12px 16px;
	transition: var(--transition);
	text-decoration: none !important;
	text-transform: uppercase;
}

.primary-btn:hover {
	color: var(--white);
	background-color: var(--antracite);
}

.secondary-btn {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 600;
	border: 1px solid var(--antracite);
	color: var(--dark-white);
	background-color: var(--antracite);
	padding: 12px 16px;
	transition: var(--transition);
	text-decoration: none !important;
	text-transform: uppercase;
}

.secondary-btn:hover {
	color: var(--antracite);
	background-color: var(--dark-white);
}

.primary-btn-company {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 600;
	border: 1px solid var(--blu);
	color: var(--antracite);
	padding: 12px 16px;
	transition: var(--transition);
	text-decoration: none !important;
	text-transform: uppercase;
}

.primary-btn-company:hover {
	color: var(--white);
	background-color: var(--blu);
}

.primary-btn-person {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 600;
	border: 1px solid var(--orange);
	color: var(--antracite);
	padding: 12px 16px;
	transition: var(--transition);
	text-decoration: none !important;
	text-transform: uppercase;
}

.primary-btn-person:hover {
	color: var(--white);
	background-color: var(--orange);
}


.text-link {
	position: relative;
	color: var(--white) !important;
	font-family: var(--font-family);
	font-size: var(--16);
	font-weight: 700;
	text-decoration: none;
	overflow: hidden;
	transition: var(--transition);
}

.text-link::before {
	content: "";
	background-color: var(--white);
	width: 100%;
	height: 1px;
	transition: var(--transition);
	position: absolute;
	left: 0;
	bottom: 0;
}

.text-link:hover {
	color: var(--white) !important;
	text-decoration: none !important;
}

.text-link:hover::before {
	left: 100%;
}

.text-link-contact {
	position: relative;
	font-family: var(--font-family);
	font-size: var(--24);
	font-weight: 700;
	text-decoration: none;
	overflow: hidden;
	transition: var(--transition);
	width: fit-content;
}

.text-link-contact::before {
	content: "";
	background-color: var(--black);
	width: 100%;
	height: 1px;
	transition: var(--transition);
	position: absolute;
	left: 0;
	bottom: 0;
}

.text-link-contact:hover {
	color: var(--black) !important;
	text-decoration: none !important;
}

.text-link-contact:hover::before {
	left: -100%;
}

.text-contact {
	position: relative;
	font-family: var(--font-family);
	font-size: var(--24);
	font-weight: 700;
	text-decoration: none;
	overflow: hidden;
	transition: var(--transition);
	width: fit-content;
}

.single-service-person {
	color: var(--orange) !important;
}

/* LOADER */
#loader {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
	z-index: 9999; 
	display: flex;
	justify-content: center;
	align-items: center;
}

.loader-inner {
	border: 8px solid #fff; /* Colore di sfondo del loader */
	border-top: 8px solid #000; /* Colore del loader */
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* HEADER */

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: var(--transition);
  padding: var(--50) 0;
}

#header.hidden {
  transform: translateY(-100%);
}

#header nav .container-fluid {
	padding-left: var(--100);
	padding-right: var(--100);
}

.navbar-brand {
	padding: 0;
	margin: 0;
}

/* Bottone apertura menu */
.menu-btn {
	background: none;
	border: none;
	cursor: pointer;
	z-index: 103; /* sopra al menu */
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: var(--100);
	padding: 0;
}

.menu-btn svg {
	height: 15px;
	overflow: visible;
}

/* transizioni delle linee */
.menu-btn .line {
	transition: all 0.3s ease;
	transform-origin: center;
}

/* Stato "open" */
.menu-btn.open .line1 {
	transform: translate(-4px, 4px) rotate(45deg);
	stroke: var(--black);
}

.menu-btn.open .line2 {
	opacity: 0;
	stroke: var(--black);
}

.menu-btn.open .line3 {
	transform: translate(-4px, -4px) rotate(-45deg);
	stroke: var(--black);
}

#header .navbar-brand img {
	height: var(--85);	
}

#header.compact {
	padding: 10px 0; /* più piccolo */
	background-color: var(--light-grey); /* puoi cambiare colore */
	transition: all 0.3s ease;
}

/* Logo piccolo */
#header.compact .navbar-brand img {
	height: var(--50); /* piccolo, invece del grande originale */
	transition: all 0.3s ease;
}

/* Linee menu-btn compatto */
#header.compact .menu-btn .line {
	stroke: var(--black); /* antracite */
}

#header.compact .lang-dropdown-toggle {
	border: 1px solid var(--black);
	color: var(--black);
}

#header.compact .lang-dropdown-toggle .arrow {
	border-right: 2px solid var(--black);
	border-bottom: 2px solid var(--black);
}

#header.compact .lang-dropdown-menu {
	color: var(--black);
	border: 1px solid var(--black);
	background-color: var(--light-grey);
}

#header.compact .lang-dropdown-menu li a {
	color: var(--black);
	background-color: var(--light-grey);
}




/* Overlay nascosto */
#custom-menu {
	position: fixed;
	top: 0;
	left: 100%;
	width: 100%;
	height: 100%;
	background: var(--light-grey);
	transition: left 0.4s ease;
	z-index: 100;
}

#custom-menu.active {
	left: 0;
}

/* fallback/body lock (non strettamente necessario se usi position:fixed sul body) */
.menu-open {
  overflow: hidden; 
  height: 100vh;
}

/* Layout interno */
.menu-content {
	position: relative;
	display: flex;
	height: 100%;
	z-index: 102;
}

/* Colonna sinistra */
.menu-left {
	width: 45%;
	padding: 0 var(--100);
	display: flex;
	gap: var(--50);
	flex-direction: column;
	justify-content: center;
}

.menu-left ul {
	list-style: none;
	padding: 0;
	margin: 0;
	position: relative;
	z-index: 102;
	gap: var(--40);
	display: flex;
	flex-direction: column;
}

.menu-left .submenu {
	list-style: none;
	padding: 0;
	position: relative;
	z-index: 102;
	gap: var(--16);
	display: flex;
	flex-direction: column;
	margin-top: var(--24);
}

.menu-left > ul > li:last-child > ul.submenu {
	list-style: none;
	padding: 0;
	position: relative;
	z-index: 102;
	gap: var(--16);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-top: var(--16);
}

.menu-left ul li {
	overflow-x: hidden;
	text-transform: uppercase;
}

.menu-left ul li a {
	position: relative;
	font-size: var(--64);
	font-weight: 500;
	font-family: var(--font-family);
	text-decoration: none;
	color: var(--black);
	transform: translateX(0);
	transition: var(--transition);
}

.menu-left ul li a::after {
	content: "";
	width: 100%;
	height: 2px;
	background-color: var(--black);
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateX(-100%);
	transition: var(--transition);
}

.menu-left ul li a:hover::after {
	transform: translateX(0);
	background-color: var(--black);
}

.menu-left ul li.current-menu-item > a {
  color: var(--black);
  border-bottom: 2px solid var(--black);
}

.submenu li {
	overflow: hidden;
	font-family: var(--font-family);
	font-size: var(--24);
	margin: 0;
	padding: 2px 0px;
}

.submenu li a {
	position: relative;
	color: var(--black);
}

.submenu li a::after {
	content: "";
	width: 100%;
	height: 1px !important;
	background-color: var(--black);
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateX(-100%);
	transition: var(--transition);
}

.submenu li a:hover::after {
	transform: translateX(0);
	background-color: var(--black);
}

.submenu li.current-menu-item > a {
  color: var(--black);
  border-bottom: 0px solid var(--black) !important;
}


/* Colonna destra */
.menu-right {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 55%;
	height: 100vh;
	padding: var(--72) 0;
	gap: var(--72);
}

.menu-company-wrapper {
	background-color: var(--dark-white);
	position: relative;
	padding: var(--50) 0 var(--50) var(--50);
}

.menu-company-group {
	position: relative;
	z-index: 1;
}

.menu-person-wrapper {
	background-color: var(--dark-white);
	position: relative;
	padding: var(--50) 0 var(--50) var(--50);
}

.menu-person-group {
	position: relative;
	z-index: 1;
}

.menu-right ul {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	gap: 10px;
}

.menu-right ul li {
  text-transform: uppercase;
  overflow: hidden;
}

.menu-right ul li a {
  position: relative;
  font-size: var(--64);
  font-weight: 500;
  font-family: var(--font-family);
  text-decoration: none;
  color: var(--black);
  transform: translateY(0);
  transition: var(--transition);
}

.menu-company-wrapper ul li a {
	position: relative;
	overflow-x: hidden;
	display: inline-block;
	overflow-y: clip;
}

.menu-company-wrapper ul li a::before {
	content: "";
	width: 100%;
	height: 2px;
	background-color: var(--blu);
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateX(-100%);
	transition: var(--transition);
}

.menu-company-wrapper ul li a:hover::before {
	transform: translateX(0);
}

.menu-company-wrapper ul li.current-menu-item > a {
	color: var(--blu);
	border-bottom: 2px solid var(--blu);
}

.menu-company-wrapper ul li a:hover {
color: var(--blu);
}

.menu-person-wrapper ul li a {
	position: relative;
	overflow-x: hidden;
	display: inline-block;
	overflow-y: clip;
}

.menu-person-wrapper ul li a:hover {
color: var(--orange);
}

.menu-person-wrapper ul li.current-menu-item > a {
	color: var(--orange);
	border-bottom: 2px solid var(--orange);
}

.menu-person-wrapper ul li a::before {
	content: "";
	width: 100%;
	height: 2px;
	background-color: var(--orange);
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateX(-100%);
	transition: var(--transition);
}

.menu-person-wrapper ul li a:hover::before {
	transform: translateX(0);
}

@media (max-width: 991.99px) {
	.logo-menu img {
		width: 100%;
	}
	
	.mega-submenu {
		position: relative;
		z-index: 2;
	}
}



@media (max-width: 766.99px) {
	
	#header {
		padding: var(--20) 0;
	}
	
	.navbar {
		padding: 0;
	}
	
	#header nav .container-fluid {
		padding-left: var(--20);
		padding-right: var(--20);
	}
	
	#header .navbar-brand img {
		height: var(--72);	
	}
	
	#custom-menu {
		position: fixed;
		top: 0;
		left: 100%;
		width: 100%;
		height: 100%;
		background: var(--light-grey);
		transition: left 0.4s ease;
		z-index: 100;
		overflow-y: auto;
	}
	
	.menu-content {
		position: relative;
		display: flex;
		flex-direction: column-reverse;
		height: 100%;
		z-index: 102;
		justify-content: start;
		padding: var(--20) 0;
	}
	
	.menu-btn {
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
	}
	
	#footer .navbar-brand img {
		width: 100%;	
	}
	
	.menu-right, .menu-left, .menu-company-wrapper, .menu-person-wrapper {
		width: 100% !important;
	  }
	  
	.menu-right {
		height: fit-content;
		padding: 0;
		gap: 20px;
		justify-content: start;
	}
	
	.menu-left {
		height: auto;
		align-content: start;
		padding: 0 var(--20);
		margin-top: var(--20);
	}
	
	.menu-left .submenu {
		gap: 0;
		margin-top: 0;
	} 
	
	.menu-left .menu-toggle-mobile {
		font-weight: 500;
	}
	
	/* Elimina layout tipo pannello */
	  .menu-left .mega-submenu,
	  .menu-right .mega-submenu {
		position: relative;
		width: auto;
		height: auto;
		background: none;
		display: block;
		padding: 0;
		margin: 0;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		transition: none;
	  }
	
	  /* Togli elementi non necessari */
	  .mega-submenu .back-btn,
	  .menu-toggle-mobile .chevron {
		display: none !important;
	  }
	
	  /* Adattamento testi e spaziatura */
	  .mega-submenu ul {
		list-style: none;
		padding-left: 0;
		margin: 0;
		text-align: left;
		width: 100%;
	  }
	  
	  .menu-left ul {
		  list-style: none;
		  padding: 0;
		  margin: 0;
		  position: relative;
		  z-index: 102;
		  gap: var(--16);
		  display: flex;
		  flex-direction: column;
	  }
	  
	  .menu-left .submenu {
		  gap: var(--16);
	  }
	  
	  .menu-left > ul > li:last-child > ul.submenu {
		  list-style: inside;
		  padding: 0;
		  position: relative;
		  z-index: 102;
		  gap: 2px;
		  display: flex;
		  flex-direction: column;
		  flex-wrap: wrap;
		  margin-top: 5px;
		  margin-bottom: 10px;
	  }
	  
	  .menu-left > ul > li:last-child > ul.submenu {
		  list-style: inside !important;
	  }
	  
	  .menu-left > ul > li:last-child > ul.submenu li a {
			text-transform: capitalize;
			font-size: 15px;
		}
		
		.menu-left > ul > li:last-child > ul.submenu li a::after {
			display: none;
		}

	  
	  .menu-left ul li, .menu-left ul p {
		  margin: 0;
		  font-size: var(--32);
	  }
	
	  .mega-submenu ul li {
		margin: var(--12) 0;
		font-size: var(--32);
	  }
	
	  .mega-submenu ul li a {
		color: var(--black);
		text-decoration: none;
	  }
	
	  /* Evita padding eccessivo del titolo mobile */
	  .menu-toggle-mobile {
		padding-bottom: 0;
		margin-bottom: 0;
	  }
	
	.menu-toggle-mobile {
		padding-bottom: 0;
		gap: 5px;
		font-size: var(--48);
	}
	
	.logo-menu {
		padding-left: 20px;
	}
	
	.logo-menu img {
		height: var(--72);
	}
	
	.menu-company-wrapper {
		padding: var(--20) 0 var(--20) var(--20);
		margin-top: var(--20);
	}
	
	.menu-person-wrapper {
		padding: var(--20) 0 var(--20) var(--20);
	}
	
	
	
}

.back-btn {
	display: none;
}




/* FOOTER */

#footer {
	background: var(--black-gradient);
	overflow: hidden;
}

#footer .row {
	position: relative;
	z-index: 1;
	padding-left: 0;
	padding-right: 0;
}

.arrow-right-footer {
	position: absolute;
	right: var(--250);
	top: 0;
	z-index: 0;
	max-height: 120vh;
	min-height: 50vh;
	height: auto;
}

.border-bottom {
	border-bottom: 1px solid var(--light-grey) !important;
}

.social-icon {
	position: relative;
	top: 0;
	transform: translateY(0);
	transition: var(--transition);
}

.social-icon:hover {
	transform: translateY(-5px);
}

.neiko-link {
	color: var(--white) !important;
	transition: var(--transition);
}

.neiko-link:hover {
	color: var(--white);
}

.img-delega {
	width: var(--150);
	height: auto;
}

.img-industry {
	width: var(--200);
	height: auto;
}

.footer span {
	font-size: var(--16)
}

@media (max-width: 767.99px) {
	.img-delega {
		width: var(--250);
		height: fit-content;
	}
	
	.footer span {
		font-size: var(--16)
	}
	
	.footer {
		gap: 15px !important;
	}

}

.container-credit span, .container-credit a {
	font-size: var(--16);
}

.wpml-ls-statics-footer .wpml-ls .wpml-ls-legacy-list-horizontal {
	display: none !important;
}

.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer {
	display: none !important;
}

.otgs-development-site-front-end {
	display: none !important;
}

.white-label {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	background-color: var(--white);
}

/* PAGINE */


/* HOMEPAGE */

.container-hero {
	width: 100%;
	height: 100vh;
	position: relative;
}

.container-hero img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}

.container-hero video {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}

#watchVideo {
	position: absolute;
	right: clamp(1.875rem, 5.208vw, 5.556rem);
	bottom: clamp(1.875rem, 3.646vw, 3.889rem);
	z-index: 2;
}

.overlay {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: linear-gradient(
	  180deg,
	  rgba(30, 30, 30, 0.5) 0%,
	  rgba(30, 30, 30, 0.3) 15%,
	  rgba(30, 30, 30, 0.1) 35%,
	  rgba(30, 30, 30, 0) 50%,
	  rgba(30, 30, 30, 0.1) 55%,
	  rgba(30, 30, 30, 0.5) 85%,
	  rgba(30, 30, 30, 0.75) 100%
	);
	pointer-events: none;
}

.wrapper-hero {
	position: absolute;
	left: clamp(1.875rem, 5.208vw, 5.556rem);
	bottom: clamp(1.875rem, 3.646vw, 3.889rem);
	z-index: 2;
}

@media (max-width: 767.99px) {
	.container-hero {
		width: 100%;
		height: fit-content;
		position: relative;
	}
	
	.container-hero .overlay {
		height: 35vh;
	}
	
	.container-hero img {
		width: 100%;
		height: 35vh;
		object-fit: cover;
		object-position: center;
	}
	
	.container-hero video {
		width: 100%;
		height: 35vh;
		object-fit: cover;
	}
	
	#videoHomeHero video {
		width: 100%;
		height: 35vh !important;
		object-fit: cover;
		position: relative;
		top: 0;
		left: 0;
	}
	
	#watchVideoHeroMobile {
		position: absolute;
		right: var(--20);
		top: 27vh;
		z-index: 10;
	}
	
	.container-hero .wrapper-hero h1, .container-hero .wrapper-hero .sub {
		color: var(--black);
	}
	
	.wrapper-hero {
		position: relative;
		left: clamp(1.875rem, 5.208vw, 6.250rem);
		top: clamp(1.875rem, 5.208vw, 6.250rem);
		padding-bottom: clamp(1.875rem, 5.208vw, 6.250rem);
	}
	
	#page-single-aziende .container-hero {
		width: 100%;
		height: 50vh;
		position: relative;
	}
	
	#page-single-aziende .container-hero img {
		width: 100%;
		height: 50vh;
		object-fit: cover;
	} 
	
	#page-single-aziende .overlay {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		background: linear-gradient(
		  180deg,
		  rgba(30, 30, 30, 0.5) 0%,
		  rgba(30, 30, 30, 0.3) 15%,
		  rgba(30, 30, 30, 0.1) 35%,
		  rgba(30, 30, 30, 0) 50%,
		  rgba(30, 30, 30, 0.1) 55%,
		  rgba(30, 30, 30, 0.5) 85%,
		  rgba(30, 30, 30, 0.75) 100%
		);
	}
	
	#page-single-aziende .wrapper-hero {
		position: absolute;
		left: clamp(1.875rem, 5.208vw, 5.556rem);
		top: auto;
		bottom: clamp(1.875rem, 3.646vw, 3.889rem);
		z-index: 2;
		padding-bottom: 0;
	}
	
	#page-single-aziende .container-hero .wrapper-hero h1, #page-single-aziende .container-hero .wrapper-hero .sub {
		color: var(--white);
	}
	
}

.label-wrapper {
	position: relative;
	width: fit-content;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	padding: 0;
}

.label-wrapper span {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 500;
	text-transform: uppercase;
	color: var(--antracite);
	text-align: center;
}

.label-wrapper span::before {
	content: "";
	width: var(--50);
	height: 1px;
	background-color: var(--antracite);
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
}

.label-wrapper .blu-text {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 500;
	text-transform: uppercase;
	color: var(--blu);
	text-align: center;
}

.label-wrapper .blu-text::before {
	content: "";
	width: var(--50);
	height: 1px;
	background-color: var(--blu);
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
}

.label-wrapper .orange-text {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 500;
	text-transform: uppercase;
	color: var(--orange);
	text-align: center;
}

.label-wrapper .orange-text::before {
	content: "";
	width: var(--50);
	height: 1px;
	background-color: var(--orange);
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
}

.label-wrapper .white-text {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 500;
	text-transform: uppercase;
	color: var(--white);
	text-align: center;
}

.label-wrapper .white-text::before {
	content: "";
	width: var(--50);
	height: 1px;
	background-color: var(--white);
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
}


/* SEZIONE DEDICATA AL VIDEO */

.video-part {
   width: calc(100% - 100px);
   height: 200vh; /* Se vuoi che il video copra l'intera viewport, potresti non aver bisogno di questa altezza eccedente */
   margin: 0 auto;
   background-color: var(--black);
   transition: margin 0.5s;
   box-sizing: border-box;
   border-radius: 2px;
   position: relative;
   background-color: var(--dark-white);
}

#videoHome {
	width: 100%;
	height: 100vh; /* Questo assicura che il video copra l'altezza completa della viewport */
	object-fit: cover;
	position: sticky;
	top: 0;
	border-radius: 2px;
}

#videoHome video {
	width: 60vw;   /* partenza */
	height: auto;
	max-height: 100vh;
	object-fit: cover;
	border-radius: 2px;
	transition: none; /* disabilitiamo transizioni classiche, useremo JS */
}

#watchVideo {
	position: sticky;
	top: 50%;
	left: 50%;
	width: fit-content;
	display: block;
	transform: translate(-50%, -50%);
	z-index: 11;
	margin-bottom: calc(50vh - 25px);
}

#watchVideo.visible {
	display: flex;
	align-items: center;
	jusitfy-content: center;
	visibility: visible;
	opacity: 1;
}

@media (max-width: 767.99px) {
	
	.video-part {
	   width: 100%;
		 height: 250dvh;
		 position: relative;
	}
}

@media (max-width: 575.98px) {
	
	#watchVideo {
			position: absolute;
			bottom: 30px;
			opacity: 1;
			visibility: visible;
			top: unset;
			left: 50%;
			translate: -50% -50%;
			transform: unset;
			display: flex;
			align-items: center;
			justify-content: center;
		}
	
}

.video-part img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  position: sticky;
  top: 0;
  border-radius: 2px;
}

/* SEZIONE DEDICATA ALL'HORIZONTAL SCROLL */

.container-btr {
  position: relative;
  width: 100%;
  min-height: 100vh;
}

.space-holder {
  position: relative;
  width: 100%;
}

.sticky {
  position: sticky;
  top: 0;
  padding: 0 50px;
  width: 100%;
  height: auto;
  overflow: hidden;
  display: flex;
  flex-flow: column;
  box-sizing: border-box;
  padding-bottom: 20px;
}

.horizontal {
  position: relative;
  height: 50%;
  will-change: transform;
  z-index: 1;
}

.cards {
  position: relative;
  height: 100%;
  padding-left: clamp(1.875rem, 5.208vw, 6.250rem);
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
}

.sample-card {
  position: relative;
  width: 40vw;
  height: 100%;
  background-color: #333;
  margin-right: 30px;
  flex-shrink: 0;
  border-radius: 2px;
  overflow: hidden;
  transition: var(--transition);
}

.sample-card img {
  width: 100%;
  height: auto;
  scale: 1;
  transition: var(--transition);
}

.sample-card:hover img {
  scale: 1.05;
}

.news-single {
	overflow: hidden;
}

.news-single img {
	scale: 1;
	transition: var(--transition);
}
.news-single:hover img {
	scale: 1.05;
}

.news-single .container-title-pj, .pj-infos .container-title-pj {
	transform: translateY(0);
	transition: var(--transition);
}

.news-single:hover .container-title-pj, .pj-infos:hover .container-title-pj {
	transform: translateY(-20px);
}

.mobile-hidden {
	display: block;
}

.mobile-show {
	display: none;
}

@media (max-width: 1199.99px) {
	
	.horizontal {
		height: 50%;
	}
	
	.cards {
	  height: 55vh;
	  padding-left: 50px;
	}
	
	.sample-card {
		width: 80vw;
		margin: 30px 30px 30px 0px;
	}
	
	.sample-card img {
		height: 45vh;
	}
}

@media (max-width: 575.99px) {
	
	.sticky {
	  position: sticky;
	  top: 0px;
	  padding: 0 30px;
	  width: 100%;
	  height: auto;
	  overflow: hidden;
	  display: flex;
	  flex-flow: column;
	  box-sizing: border-box;
	  padding-bottom: 20px;
	}
	
	.progetti-home {
		padding-left: 30px !important;
	}
	
	.horizontal {
		height: 50%;
	}
	
	.cards {
		padding-left: 30px;
		height: 40vh;
	}
	
	.sample-card {
		width: 85vw;
		height: 40vh;
		margin: 30px 30px 30px 0px;
	}
	
	.sample-card img {
		height: 50vh;
	}
	
	#team-persone {
		display: none !important;
	}
	
	.mobile-hidden {
		display: none;
	}
	
	.mobile-show {
		display: block;
	}
}

.progetti-home {
	padding-left: 50px;
}

.progetti-img-home {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.pj-infos {
	position: absolute;
	width: 100%;
	height: 100%;
	bottom: 0;
	left: 0;
	z-index: 3;
	padding: 20px 15px 20px 20px;
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	overflow: hidden;
	transition: var(--transition);
}

.pj-infos:hover img {
	scale: 1.05;
}

.container-title-pj {
	display: flex;
}

.container-pill {
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
}

.pill-label-home {
	background-color: var(--antracite-light);
	color: var(--white);
	padding: 5px 10px;
	border-radius: 0;
	z-index: 3;
}

.pill-label-home p {
	font-size: var(--16);
}

/* PAGINA CHI SIAMO */

.sticky-wrapper-text {
	position: sticky;
	top: 0;
	z-index: 1;
}

.metodo-lavoro-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--72);
	padding: var(--50);
	background-color: var(--dark-white);
	margin-bottom: var(--32);
}

.contact-wrapper-persone {
	position: relative;
	padding: var(--72) var(--50);
	display: flex;
	flex-direction: column;
	background-color: var(--light-grey);
	border: 1px solid var(--orange);
	align-items: center;
	justify-content: center;
}

@media (max-width: 575.99px) {
	.metodo-lavoro-wrapper {
		margin-bottom: var(--50);
	}
	
	.container-team {
		padding-bottom: var(--100);
	}
}


/* FORM DI CONTATTO PERSONE */

.wpcf7-form {
	display: flex !important;
	flex-wrap: wrap;
	gap: 20px !important;
	position: relative;
	z-index: 1;
}

.wpcf7-form .half-label, .wpcf7-form .file-label {
	flex: 0 0 calc(50% - 20px);
	box-sizing: border-box;
	color: var(--antracite);
	text-transform: uppercase;
	font-family: var(--font-family);
	font-size: var(--18);
	margin-bottom: 10px;
	border-radius: 0px !important;
}

.wpcf7-form .half-label input {
	background-color: var(--dark-white);
	color: var(--antracite);
	padding: 6px 12px;
	border: 0px solid var(--dark-white);
	margin-top: 10px;
	border-radius: 0px !important;
}

.wpcf7-form .total-label {
	flex: 0 0 calc(100% - 20px);
	color: var(--antracite);
	text-transform: uppercase;
	font-family: var(--font-family);
	font-size: var(--18);
	margin-bottom: 10px;
	border-radius: 0px !important;
}

.half-label label,
.total-label label,
.file-label label {
  display: block; 
  width: 100% !important;   /* la label si adatta alla colonna */
  text-transform: uppercase;
}

.wpcf7-form-control {
  width: 100%;   /* forza i campi input/select/textarea a riempire la label */
  box-sizing: border-box;
}

.wpcf7 select.wpcf7-form-control {
  background-color: var(--dark-white);
  border: 0px solid var(--dark-white);
  color: var(--antracite);
  width: 100%;
  padding: 6px 12px;
  margin-top: 10px;
  border-radius: 0px !important;
}

.wpcf7 textarea.wpcf7-form-control {
	background-color: var(--dark-white);
	border: 0px solid var(--dark-white);
	border-radius: 0px !important;
	color: var(--antracite);
	padding: 6px 12px;
	margin-top: 10px;
	height: var(--250);
}

.wpcf7 input[type="file"] {
	margin-top: 10px;
	cursor: pointer;
}

.wpcf7 input[type="file"]::file-selector-button {
  font-family: var(--font-family);
  font-size: var(--18);
  font-weight: 600;
  border: 1px solid var(--orange);
  color: var(--antracite);
  background-color: var(--dark-white);
  padding: 12px 16px;
  transition: var(--transition);
  text-decoration: none !important;
  text-transform: uppercase;
  cursor: inherit;
}

.wpcf7 input[type="file"]::file-selector-button:hover {
	color: var(--white);
	background-color: var(--orange) !important;
	cursor: pointer;
}

.wpcf7 input[type="submit"] {
 font-family: var(--font-family);
   font-size: var(--18);
   display: flex;
   font-weight: 600;
   border: 1px solid var(--orange) !important;
   border-radius: 0px !important;
   color: var(--antracite) !important;
   padding: 12px 16px;
   background-color: var(--dark-white) !important;
   transition: var(--transition);
   text-decoration: none !important;
   text-transform: uppercase;
   width: fit-content;
}

.wpcf7 input[type="submit"]:hover {
  color: var(--white) !important;
  background-color: var(--orange) !important;
}

.wpcf7-list-item {
	margin: 0;
}

#newsletter-form {
	display: flex !important;
	flex-wrap: wrap;
	gap: 20px !important;
	position: relative;
	z-index: 1;
	justify-content: center !important;
}

#newsletter-form .half-label {
	flex: 0 0 calc(50% - 10px) !important;
	box-sizing: border-box;
	color: var(--antracite);
	text-transform: uppercase;
	font-family: var(--font-family);
	font-size: var(--18);
	margin-bottom: 10px;
	border-radius: 0px !important;
}

#newsletter-form .part-label {
	flex: 0 0 calc(32% - 10px) !important;
	box-sizing: border-box;
	color: var(--antracite);
	text-transform: uppercase;
	font-family: var(--font-family);
	font-size: var(--18);
	margin-bottom: 10px;
	border-radius: 0px !important;
}

#newsletter-form .part-label label {
	width: 100%;
}

.wpcf7-form .part-label input {
	background-color: var(--dark-white);
	color: var(--antracite);
	padding: 6px 12px;
	border: 0px solid var(--dark-white);
	margin-top: 10px;
	border-radius: 0px !important;
}



#contatti-rapidi #newsletter-form {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0px !important;
	position: relative;
	z-index: 1;
	justify-content: start !important;
}

#contatti-rapidi .part-label {
	flex: 0 0 100% !important;
	box-sizing: border-box;
	color: var(--antracite);
	text-transform: uppercase;
	font-family: var(--font-family);
	font-size: var(--18);
	margin-bottom: 10px;
	border-radius: 0px !important;
}

#contatti-rapidi .part-label label {
	width: 100%;
}

#contatti-rapidi .wpcf7-form .part-label input {
	background-color: var(--white) !important;
	color: var(--antracite);
	padding: 6px 12px;
	border: 0px solid var(--white);
	margin-top: 10px;
	border-radius: 0px !important;
}

#contatti-rapidi .wpcf7 select.wpcf7-form-control {
  background-color: var(--white);
  border: 0px solid var(--white);
  color: var(--antracite);
  width: 100%;
  padding: 6px 12px;
  margin-top: 10px;
  border-radius: 0px !important;
}

#contatti-rapidi .submit-newsletter {
	padding-top: 10px;
}

#newsletter-aziende .submit-newsletter {
	border: 1px solid var(--blu);
}

@media (max-width: 991.99px) {
	.full-height {
		min-height: 90vh;
		height: auto;
		max-height: 300vh;
	}
	
	.submit-newsletter {
		display: flex;
		flex-direction: row;
		justify-content: center;
	}
	
	.submit-newsletter p {
		text-align: center !important;
	}

	
	.submit-newsletter p  .wpcf7-submit {
		text-align: center !important;
		display: block;
		align-content: center;
	}
	
}

@media (max-width: 575.99px) {
	
	.wpcf7-form {
		display: flex !important;
		flex-wrap: wrap;
		gap: 10px !important;
		position: relative;
		z-index: 1;
	}
	
	#newsletter-form .half-label {
		flex: 0 0 100% !important;
		box-sizing: border-box;
		color: var(--antracite);
		text-transform: uppercase;
		font-family: var(--font-family);
		font-size: var(--18);
		margin-bottom: 10px;
		border-radius: 0px !important;
	}
	
	#newsletter-form .part-label {
		flex: 0 0 100% !important;
		box-sizing: border-box;
		color: var(--antracite);
		text-transform: uppercase;
		font-family: var(--font-family);
		font-size: var(--18);
		margin-bottom: 10px;
		border-radius: 0px !important;
	}
	
	.wpcf7-form .half-label, .wpcf7-form .file-label {
		flex: 0 0 100%;
		box-sizing: border-box;
		color: var(--antracite);
		text-transform: uppercase;
		font-family: var(--font-family);
		font-size: var(--18);
		margin-bottom: 5px;
		width: 100%;
	}
	
	.wpcf7-form .total-label {
		flex: 0 0 100%;
		color: var(--antracite);
		text-transform: uppercase;
		font-family: var(--font-family);
		font-size: var(--18);
		margin-bottom: 10px;
		border-radius: 0px !important;
	}
	
	.full-height {
		min-height: 100vh;
		max-height: 300vh;
		height: auto;
	}
	
	.submit-newsletter {
		display: flex;
		flex-direction: row;
		justify-content: center;
	}
	
	.submit-newsletter p {
		text-align: center !important;
	}
	
	.submit-newsletter p  .wpcf7-submit {
		text-align: center !important;
		display: block;
		align-content: center;
	}
	
}


.wpcf7-turnstile.cf-turnstile {
	position: absolute !important;
}


/* PAGINA SERVIZI AZIENDA */

.servizio-wrapper {
	background-color: var(--dark-white);
	padding: var(--72) var(--50);
	height: -webkit-fill-available;
	max-height: 100vh;
	min-height: 35vh;
	align-content: center;
}

@media (max-width: 767.99px) {
	.servizio-wrapper {
		background-color: var(--dark-white);
		padding: var(--72) var(--50);
		height: auto;
		align-content: center;
	}
}

/* PAGINA SINGOLO SERVIZIO AZIENDA */ 

#page-single-aziende .container-hero {
	width: 100%;
	height: auto;
	max-height: 75vh;
}

#page-single-aziende .container-hero img {
	width: 100%;
	max-height: 75vh;
	object-fit: cover;
}

.breadcrumb-wrapper {
  margin-bottom: 15px;
}

.rank-math-breadcrumb {
  font-size: var(--20);
  color: var(--dark-white);
  font-weight: 700;
}

.rank-math-breadcrumb a {
  color: var(--dark-white); /* se sei su hero con sfondo scuro */
  text-decoration: none;
  transition: var(--transition);
}
.rank-math-breadcrumb a:hover {
  text-decoration: underline;
}

/* PAGINA CONTATTI */

.container-contact {
	gap: var(--32);
}

.text-contact {
	position: relative;
	font-family: var(--font-family);
	font-size: var(--24);
	font-weight: 700;
	text-decoration: none;
	overflow: hidden;
	transition: var(--transition);
}

/*PAGINA FAQ AZIENDE */

.accordion {
  .accordion-item {
	border-bottom: 0px solid var(--blu);
	border-radius: 0;
	margin-bottom: var(--32);
	background-color: var(--light-grey);
	button[aria-expanded="true"] {
	  border-bottom: 1px solid var(--blu);
	  background-color: var(--light-grey);
	  border-radius: 0;
	}
  }
  button {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	text-align: left;
	width: 100%;
	padding: var(--32) var(--32);
	color: var(--black);
	font-size: var(--32);
	font-weight: 600;
	border: none;
	border-bottom: 1px solid var(--blu);
	border-radius: none;
	background: none;
	background-color: var(--light-grey);
	outline: none;
	&:hover,
	&:focus {
	  cursor: pointer;
	  color: var(--blu);
	  &::after {
		cursor: pointer;
		color: var(--blu);
		border: 1px solid var(--blu);
	  }
	}
	.icon {
	  display: inline-block;
	  position: absolute;
	  top: 18px;
	  right: 0;
	  width: 22px;
	  height: 22px;
	  border: 1px solid;
	  border-radius: 22px;
	  &::before {
		display: block;
		position: absolute;
		content: "";
		top: 9px;
		left: 5px;
		width: 10px;
		height: 2px;
		background: currentColor;
	  }
	  &::after {
		display: block;
		position: absolute;
		content: "";
		top: 5px;
		left: 9px;
		width: 2px;
		height: 10px;
		background: currentColor;
	  }
	}
  }
  button[aria-expanded="true"] {
	color: var(--blu);
	.icon {
	  &::after {
		width: 0;
	  }
	}
	+ .accordion-content {
	  opacity: 1;
	  max-height: 9em;
	  transition: all 200ms linear;
	  will-change: opacity, max-height;
	}
  }
  .accordion-content {
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 200ms linear, max-height 200ms linear;
	will-change: opacity, max-height;
	p {
	  font-weight: 400;
	  margin: var(--32) var(--32);
	}
  }
}



/* FAQ PERSONE */

.accordion-person {
  .accordion-item {
	border-bottom: 0px solid var(--orange);
	border-radius: 0;
	margin-bottom: var(--32);
	background-color: var(--light-grey);
	button[aria-expanded="true"] {
	  border-bottom: 1px solid var(--orange);
	  background-color: var(--light-grey);
	  border-radius: 0;
	}
  }
  button {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	text-align: left;
	width: 100%;
	padding: var(--32) var(--32);
	color: var(--black);
	font-size: var(--32);
	font-weight: 600;
	border: none;
	border-bottom: 1px solid var(--orange);
	border-radius: none;
	background: none;
	background-color: var(--light-grey);
	outline: none;
	&:hover,
	&:focus {
	  cursor: pointer;
	  color: var(--orange);
	  &::after {
		cursor: pointer;
		color: var(--orange);
		border: 1px solid var(--orange);
	  }
	}
	.icon {
	  display: inline-block;
	  position: absolute;
	  top: 18px;
	  right: 0;
	  width: 22px;
	  height: 22px;
	  border: 1px solid;
	  border-radius: 22px;
	  &::before {
		display: block;
		position: absolute;
		content: "";
		top: 9px;
		left: 5px;
		width: 10px;
		height: 2px;
		background: currentColor;
	  }
	  &::after {
		display: block;
		position: absolute;
		content: "";
		top: 5px;
		left: 9px;
		width: 2px;
		height: 10px;
		background: currentColor;
	  }
	}
  }
  button[aria-expanded="true"] {
	color: var(--orange);
	.icon {
	  &::after {
		width: 0;
	  }
	}
	+ .accordion-content {
	  opacity: 1;
	  max-height: 9em;
	  transition: all 200ms linear;
	  will-change: opacity, max-height;
	}
  }
  .accordion-content {
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 200ms linear, max-height 200ms linear;
	will-change: opacity, max-height;
	p {
	  font-weight: 400;
	  margin: var(--32) var(--32);
	}
  }
}

.accordion-btn {
	display: flex;
	flex-direction: row;
}

.accordion-btn .accordion-title {
	width: fit-content;
}

.accordion-btn .accordion-title p {
	width: fit-content;
}

.accordion-btn i {
  transition: transform 0.3s ease;
}

.accordion-btn[aria-expanded="true"] i {
  transform: rotate(180deg);
}

.container-company-form .wpcf7 input[type="submit"] {
	font-family: var(--font-family);
	font-size: var(--18);
	font-weight: 600;
	border-radius: 0px !important;
	border: 1px solid var(--blu) !important;
	color: var(--antracite) !important;
	background-color: var(--dark-white) !important;
	padding: 12px 16px;
	transition: var(--transition);
	text-decoration: none !important;
	text-transform: uppercase;
	width: fit-content;
}

.container-company-form .wpcf7 input[type="submit"]:hover {
	color: var(--white) !important;
	background-color: var(--blu) !important;
	border: 1px solid var(--blu);
}

.container-company-form .wpcf7-form .half-label input {
	background-color: var(--dark-white);
	color: var(--antracite);
	padding: 6px 12px;
	border: 1px solid var(--blu) !important;
	margin-top: 10px;
	border-radius: 0px !important;
}

/* PAGINA ARTICOLI */

.button-second.active {
	background-color: var(--antracite);
	color: var(--white);
}

/* NEWS */

.form-control {
	display: block;
	width: 100%;
	padding: .375rem .75rem;
	font-size: var(--20) !important;
	font-weight: 400;
	line-height: 1.5;
	color: var(--black) !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--bs-body-bg);
	background-clip: padding-box;
	border: 1px solid var(--black) !important;
	border-radius: 0px !important;
	transition: border-color .15s  ease-in-out, box-shadow .15s  ease-in-out;
}

.form-control:focus {
	color: var(--bs-body-color);
	background-color: var(--bs-body-bg);
	border-color: var(--orange) !important\;
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(211, 89, 23, 0.25);
}

/* NK COOKIE */
