@charset "utf-8";
.site-header{
	max-width: 1230px;
	position: relative;
	margin: 0 auto;
	padding: 0 15px;
	width: 100%;
	height: 100px;
	z-index:999;
}
.dark-theme .site-header, .dark-theme .sotto-menu-container .sotto-menu-col-wrapper{
	background-color:#15191c;
}
.light-theme .site-header, .light-theme .sotto-menu-container .sotto-menu-col-wrapper{
	background-color:#ffffff;
}
.site-header.header-2{
	height: 125px;
}
.site-header.sticky {
	position: fixed;
	max-width: 100%;
	z-index: 999;
	padding: 0;
	top: 0;
}
.dark-theme .site-header.sticky.scrolled .sotto-menu-container .sotto-menu-col-wrapper{
	background-color:#15191c;
}
.light-theme .site-header.sticky.scrolled .sotto-menu-container .sotto-menu-col-wrapper{
	background-color:#ffffff;
}
.site-header .wrap {
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
	height: 100px;
	max-width: 1230px;
	width:100%;
	margin: 0 auto;
	transition: none;
	position:relative;
}
.header-2 .site-header .wrap {
	height: 85px;
}
.site-header .wrap.superheader {
	height: 40px;
	border-bottom:1px solid #f2f2f2;
}
.site-header.sticky .wrap {
	padding: 0 15px;
}
.header-1 .site-logo{
	position: absolute;
	display: inline-block;
	left:50%;
	transform:translateX(-50%);
}
.header-2 .site-logo{
	position: relative;
	display: inline-block;
}
.site-logo img{
	position: relative;
	display: block;
	height: 50px;
	width: auto;
}

.social-icons,
.social-icons li{
	position: relative;
	display: inline-block;
	padding: 0;
	margin: 0;
	text-align: right;
}
.social-icons li {
	position: relative;
	list-style: none;
	font-size: 17px;
	display: inline-block;
}
.header-2 .social-icons li {
	font-size: 15px;
}

.social-icons li:not(:first-child) {
	margin-left: 25px;
}
.light-theme .social-icons a,.light-theme .social-icons a{
	color:#222222;
	text-decoration:none;
}
.light-theme .social-icons a:hover, .light-theme .social-icons a:active, .light-theme .social-icons a:focus{
	color:#007b68;
	text-decoration:none;
}
.dark-theme .social-icons a{
	color:#dedede;
	text-decoration:none;
}
.dark-theme .social-icons a:hover, .dark-theme .social-icons a:active, .dark-theme .social-icons a:focus{
	color:#aa883e;
	text-decoration:none;
}
#burger-menu {
	width: 35px;
	height: 15px;
	position: relative;
	margin: 0 0 0 40px;
	transform: rotate(0deg);
	transition: 0.5s ease-in-out;
	cursor: pointer;
	display: inline-block;
}

#burger-menu span {
	display: block;
	position: absolute;
	width: 35px;
	height: 1px;
	left: 0;
	opacity: 1;
	border-radius: 0;
	transform: rotate(0deg);
	transition: 0.25s ease-in-out;
}

#burger-menu.rounded span,
#burger-menu.solid span {
	height: 3px;
}
#burger-menu.rounded span{
	border-radius: 2px;
}

#burger-menu span:nth-child(1) {
	top: -1px;
}

#burger-menu span:nth-child(2),
#burger-menu span:nth-child(3) {
	top: 7px;
}

#burger-menu span:nth-child(4) {
	top: 15px;
}

#burger-menu.open span:nth-child(1),
#burger-menu.open span:nth-child(4) {
	width: 0%;
	left: 50%;
}

#burger-menu.open span:nth-child(2) {
	transform: rotate(45deg);
}

#burger-menu.open span:nth-child(3) {
	transform: rotate(-45deg);
}
.light-theme #burger-menu span {
  background: #007b68;
}
.dark-icon #burger-menu span {
  background: #aa883e;
}


#menu-laterale {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  background-color: #ffffff;
  z-index: 998;
  box-sizing: border-box;
  padding-top: 100px;
  overflow-y: auto;
  transition: transform 0.5s ease;
  transform: translateX(100%);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.header-2 #menu-laterale {
	display:none;
}

#menu-laterale.open {
  transform: translateX(0%);
}

#menu-laterale.closing {
  transform: translateX(100%);
}

#menu-laterale.closed {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#menu-laterale .wrap {
  padding-top: 30px;
  padding-right: 30px;
}



.dark-theme #menu-laterale{
	background-color:#15191c;
}
.light-theme #menu-laterale{
	background-color:#ffffff;
}
#menu-laterale .wrap {
	width: 400px;
	position: relative;
	padding-top: 120px;
	padding-bottom: 120px;
	text-align: right;
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-end;
}
#menu-laterale ul,
#menu-laterale ul li,
.header-2 .menu-principale, 
.header-2 .menu-principale li{
	padding: 0;
	margin: 0;
}
.header-2 .menu-principale,
.header-2 .menu-principale li{
	position: relative;
	display: inline-block;
}
.header-2 .menu-principale{
	margin-right:20px;
}
#menu-laterale ul li, 
#menu-laterale .dropdown button, 
#menu-laterale .dropdown a,
.header-2 .menu-principale li,
.header-2 .lang-switcher li,
.sotto-menu-container .sotto-menu-col li{
	list-style: none;
	text-transform: uppercase;
	font-weight: 500;
	font-family: 'Karla', sans-serif;
	font-size: 17px;
	display: block;
	line-height: 40px;
	letter-spacing: 3px;
	background: transparent !important;	
	border:0;
	padding:0;
	outline:none !important;
	box-shadow:none !important;
}
#menu-laterale ul.dropdown-menu{
	padding-right:22px;
}
#menu-laterale ul.dropdown-menu li a{
	font-size:15px;
	line-height:30px;
}
.header-2 .menu-principale li,
.header-2 .lang-switcher li,
.sotto-menu-container .sotto-menu-col li{
	display:inline-block;
	margin:0 10px;
	font-size:14px;
}
.header-2 .menu-principale li i{
	font-size:10px;
	position:relative;
	top:-1px;
}
#menu-laterale .dropdown.language-switcher{
	position:relative;
	margin-top:30px;
}
#menu-laterale .dropdown-menu{
	transition:none;
	width: auto;
    min-width: 100%; /* Assicura che la tendina sia larga almeno quanto il bottone */
	text-align:right;
	background-color:transparent;
	border:0;
}
#menu-laterale .dropdown-menu.show{
	position:relative !important;
	transform:none !important;
}
#menu-laterale .dropdown-item{
    width: 100%;
    white-space: normal; /* evita tagli */
    box-sizing: border-box;
}
#menu-laterale .dropdown-item{
    width: 100%;
    white-space: normal; /* evita tagli */
    box-sizing: border-box;
}
.dark-theme #menu-laterale li a,
.dark-theme #menu-laterale .dropdown button,
.dark-theme #menu-laterale .dropdown a,
.dark-theme .site-header li a,
.dark-theme .sotto-menu-container .sotto-menu-col li a{
	color:#cdcdcd;
	text-decoration:none;
}
.dark-theme #menu-laterale li a:hover, 
.dark-theme #menu-laterale li a:active, 
.dark-theme #menu-laterale li a:focus,
.dark-theme #menu-laterale .dropdown button:hover,
.dark-theme #menu-laterale .dropdown button:active,
.dark-theme #menu-laterale .dropdown button:focus,
.dark-theme #menu-laterale .dropdown a:hover,
.dark-theme #menu-laterale .dropdown a:active,
.dark-theme #menu-laterale .dropdown a:focus,
.dark-theme .header-2 li a:hover,
.dark-theme .header-2 li a:active,
.dark-theme .header-2 li a:focus,
.dark-theme .header-2 li.hovered a,
.dark-theme .sotto-menu-container .sotto-menu-col li a:hover,
.dark-theme .sotto-menu-container .sotto-menu-col li a:active,
.dark-theme .sotto-menu-container .sotto-menu-col li a:focus{
	text-decoration:none;
	color:#aa883e;
}
.light-theme #menu-laterale li a,
.light-theme #menu-laterale .dropdown button,
.light-theme #menu-laterale .dropdown a,
.light-theme .site-header li a,
.light-theme .sotto-menu-container .sotto-menu-col li a{
	color:#222222;
	text-decoration:none;
}
.light-theme #menu-laterale li a:hover, 
.light-theme #menu-laterale li a:active, 
.light-theme #menu-laterale li a:focus,
.light-theme #menu-laterale .dropdown button:hover,
.light-theme #menu-laterale .dropdown button:active,
.light-theme #menu-laterale .dropdown button:focus,
.light-theme #menu-laterale .dropdown a:hover,
.light-theme #menu-laterale .dropdown a:active,
.light-theme #menu-laterale .dropdown a:focus,
.light-theme .header-2 li a:hover,
.light-theme .header-2 li a:active,
.light-theme .header-2 li a:focus,
.light-theme .header-2 li.hovered a,
.light-theme .sotto-menu-container .sotto-menu-col li a:hover,
.light-theme .sotto-menu-container .sotto-menu-col li a:active,
.light-theme .sotto-menu-container .sotto-menu-col li a:focus{
	text-decoration:none;
	color:#007b68;
}
#menu-laterale a.dropdown-toggle::after{
	display:none;
}
#menu-laterale a.dropdown-toggle i{
	font-size:12px;
	top:-2px;
	position:relative;
	transition:none;
}
#menu-laterale .show a.dropdown-toggle i{
	transform: scaleY(-1);
}
.sotto-menu-container {
    position: absolute;
    top: 100%; /* subito sotto il .main-header */
    left: 0;
    width: 100%;
    z-index: 999;
	max-height: 50px;	
}
.sotto-menu-container .sotto-menu-col-wrapper{
    height: 50px;
    width: 100%;
    position: absolute;
	top: 0;
    left: 0;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
    visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}


.sotto-menu-col-wrapper.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    visibility: visible;
}

.sotto-menu-col {
    max-width: 1230px;
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
	position: relative;
	border-top: 1px solid #f2f2f2;
	flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
	height:50px;
}



@media all and (max-width:1024px) {
	.site-header{
		padding: 0 30px;
	}
	.site-header .social-icons, .site-header.header-1 .call-to-action {
		display: none;
	}
	.header-1 .site-logo,
	.header-2 .site-logo{
		position: relative;
		left: 0;
		max-width: 100%;
		width: auto;
		display: inline-block;
		transform:none;
	}
	.site-logo img {
		max-height: 50px;
		width: auto;
		height: auto;
		display: block;
	}
	.site-header,
	.site-header.sticky .wrap {
		padding: 0 30px;
	}
}
@media all and (max-width:992px){
	#menu-laterale .call-to-action{
		display:inline-block;
		margin-bottom:20px;
	}
	.site-header.header-2, .header-2 .site-header .wrap{
		height: 100px;
	}
	.header-2 #menu-laterale {
		display:block;
	}
}
@media all and (max-width:768px) {
	.site-header{
		padding: 0 15px;
	}
	.site-header,
	.site-header .wrap {
		padding: 0 15px;
	}

	.site-header.sticky .wrap {
		padding: 0 30px;
	}
	#menu-laterale,
	#menu-laterale .wrap {
		width: 100% !important;
	}

	#menu-laterale .wrap {
		padding: 30px;		
		text-align: center;
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-content: center;
		justify-content: center;
		align-items: center;
	}
	#menu-laterale .dropdown-menu,
	#menu-laterale .dropdown-menu .dropdown-item,
	.site-header .dropdown-menu .dropdown-item{
		text-align:center;
	}
	#menu-laterale ul.dropdown-menu{
		padding-right:0px;
	}
	.site-logo img {
		max-height: 40px;
		width: auto;
		height: auto;
		display: block;
	}
	#burger-menu {
		margin: 0 0 0 10px;
	}
}