/*
*	1.0 SETTINGS
	* stile pulsanti custom
*	2.0 HEADER
*   3.0 MENU
*	4.0 POPUP ELEMENTOR PER MENU
*	5.0 HOMEPAGE
	* stile card camere
*	6.0 BREADCRUMBS
*	7.0 CAMERE
*   8.0 GALLERY
*	9.0 LABEL STATICA
*   10.0 WPML
*/


/*
*	2.0 HEADER
*/
a.js-wpml-ls-item-toggle.wpml-ls-item-toggle,
a.js-wpml-ls-item-toggle.wpml-ls-item-toggle:hover {
    background: transparent !important;
    width: fit-content !important;
	color: white;
	border: none;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
	display: none !important;
}

li.wpml-ls-slot-shortcode_actions.wpml-ls-item.wpml-ls-item-it.wpml-ls-current-language.wpml-ls-last-item.wpml-ls-item-legacy-dropdown-click {
    width: fit-content;
}

#container-header {
    height: 120px;
    transition: height 0.3s;
}

#container-header.shrink div.e-con-inner{
	padding: 10px 0px;
}

#container-header.shrink {
    height: 80px !important;
}

#logo-header img{
    width: 220px;
    transition: width 0.3s;
}

#logo-header.shrink img {
    width: 160px;
}

.elementor-nav-menu {
	padding: 30px 0px !important;
	/*height: 100vh;*/
}


/*
*   3.0 MENU
*/
li.wpml-ls-item a:hover {
	color: white !important;
}

header#header .menuAnimation {
	position: absolute;
	width: 100vw;
	height: 100vh;
	z-index: 0;
}

header#header .menuWrapper {
	grid-column-start: 4;
	grid-column-end: 12;
	z-index: 21;
	position: relative;
	opacity: 0;
	transition: 100ms all;
	transition-delay: 0s;
	pointer-events: none;
}

header#header .menuWrapper #menu {
	position: fixed;
	left: 0;
	top: 180px;
	transform: translateY(0) scale(0.8);
	transition: 100ms all;
	transition-delay: 0s;
	transition-timing-function: ease-out;
	display: grid;
	grid-column-gap: var(--grid-gap);
	grid-template-columns: var(--grid-margin) 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr var(--grid-margin);
	width: 100vw;
	opacity: 0;
	z-index: -1;
	pointer-events: none;

	max-height: calc(100vh - 180px);
	overflow: auto;
	padding-top: 20px;
	padding-bottom: 20px;
	height: 100%;
}

header#header .menuWrapper #menu ul {
	display: flex;
	flex-wrap: wrap;
	grid-column-start: 2;
	grid-column-end: 12;
	align-items: flex-start;
	align-content: flex-start;
}

header#header .menuWrapper #menu ul>li {
	margin-bottom: 50px;
	transition: 200ms;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
}

header#header .menuWrapper #menu ul>li>a.isHover span.mainlink,
header#header .menuWrapper #menu ul>li>a.isHover .subtitle {
	color: rgba(255, 255, 255, 1);
}

header#header .menuWrapper #menu ul>li>a.isHover span.mainlink {
	/*border-top-color: rgba(0, 0, 0, 0.5);*/
}

header#header .menuWrapper #menu ul>li.hassub a {
	cursor: pointer;
}

header#header .menuWrapper #menu ul>li>a {
	display: inline-block;
	transition-timing-function: ease;
}

header#header .menuWrapper #menu ul>li>a .mainlink {
	width: fit-content;
	border-top: 0px solid white;
	text-transform: uppercase;
	color: white;
	font-weight: 500;
	padding-top: 2px;
	font-family: 'Manrope';
	font-size: 28px;
	line-height: 45px;
	letter-spacing: 0;
	transition: 200ms;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
}

.open header#header .menuWrapper #menu ul>li>a .mainlink {
	color: rgba(255, 255, 255, 0.5);
}

header#header .menuWrapper #menu ul>li>a .subtitle {
	transition: 200ms;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
}

header#header .menuWrapper #menu ul li {
	width: 100%;
	display: flex;
	position: relative;
}

header#header .menuWrapper #menu ul li a {
	display: inline-flex;
	text-decoration: none;
	align-items: flex-start;
}

header#header .menuWrapper #menu ul li a .subtitle {
	margin-left: 45px;
	letter-spacing: 0;
	transform: translateY(2px);
	color: #fff;
	font-family: Cormorant Garamond;
	font-size: 32px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
}

header#header .menuWrapper #menu ul li ul {
	position: relative;
	top: 15px;
	left: 0;
	height: 0;
	overflow: hidden;
	transition: 200ms;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
}

header#header .menuWrapper #menu ul li ul span {
	font-size: 17px;
	line-height: 145%;
	letter-spacing: 0;
}


header#header .menuWrapper #menu ul li ul li .mainlink {
	margin-bottom: 12.5px;
	color: rgba(0, 0, 0, 0.8);
	transition: 200ms;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
	will-change: color;
}

header#header .menuWrapper #menu ul li ul li .subtilte {
	display: none;
}

header#header .menuWrapper #menu ul li ul li:hover .mainlink {
	color: white;
}

header#header .menuWrapper #menu ul li.current ul li a.current .mainlink {
	color: white;
}

header#header .instatOfLottieContainer {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 20;
	pointer-events: none;
}

header#header .instatOfLottieContainer .innerAnimation {
	overflow: hidden;
	position: relative;
	width: 0vw;
	height: 0vh;
	display: flex;
	transition: 200ms;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
	z-index: 20;
}

header#header .instatOfLottieContainer .innerAnimation .image {
	width: 100vw;
	height: 100vh;
	opacity: 0;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

header#header .instatOfLottieContainer .innerAnimation .image:before {
	content: '';
	width: 100vw;
	height: 100vh;
	background-color: rgba(30, 60, 65, 0.8);
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

header#header .instatOfLottieContainer .innerAnimation .image img {
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	pointer-events: none;
}

header#header .instatOfLottieContainer.open .innerAnimation {
	width: 100vw;
	height: 100vh;
}

header#header .instatOfLottieContainer.open .innerAnimation .image {
	opacity: 1;
}


header#header .mobileMenuIcons {
	display: flex;
	align-items: center;
	align-content: center;
	opacity: 0;
	position: fixed;
	bottom: 30px;
	pointer-events: none;
	width: 100vw;
	z-index: 1112;
	padding-left: 100px;
}

header#header .mobileMenuIcons .voucherMobile {
	width: 25px;
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
}

header#header .mobileMenuIcons .voucherMobile a {
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	width: 100%;
}

header#header .mobileMenuIcons .voucherMobile a svg {
	width: 100%;
}

header#header .mobileMenuIcons .galleryMobile {
	width: 35px;
	display: flex;
	margin-left: 21px;
}

header#header .mobileMenuIcons .galleryMobile a {
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	width: 100%;
}

header#header .mobileMenuIcons .galleryMobile a svg {
	width: 100%;
}

header#header.showMenu .massenger {
	opacity: 0;
	pointer-events: none;
}

header#header.showMenu .menuAnimation {
	z-index: 20;
}

@media (max-width: 1023px) {
	header#header.showMenu .hamburgerWrapper {
		background-color: transparent;
	}
}

header#header.showMenu .hamburgerWrapper #hamburger-button .lines div {
	width: 0;
}

header#header.showMenu .hamburgerWrapper #hamburger-button .close {
	opacity: 1;
	transition-delay: 0.3s;
}

header#header.showMenu .hamburgerWrapper #hamburger-button .close svg {
	transform: scale(1);
	transition-delay: 0.3s;
}

header#header.showMenu #hamburger-button .menuText {
	color: white;
}

header#header.showText .sideBar .voucher .st1 {
	display: none;
}

header#header.showText .sideBar .voucher .st0,
header#header.showText .sideBar .voucher .st1,
header#header.showText .sideBar .voucher .path2,
header#header.showText .sideBar .voucher .path3 {
	stroke: rgba(255, 255, 255, 0.5);
	transition-delay: 0.1s;
}

header#header.showText .sideBar .gallery .st0,
header#header.showText .sideBar .gallery .path2 {
	stroke: rgba(255, 255, 255, 0.5);
	transition-delay: 0.3s;
}

header#header.showText .sideBar .packages .st0,
header#header.showText .sideBar .packages .path2 {
	stroke: rgba(255, 255, 255, 0.5);
	transition-delay: 0.3s;
}

header#header.showText .sideBar .voucher .description,
header#header.showText .sideBar .gallery .description,
header#header.showText .sideBar .request .description,
header#header.showText .sideBar .packages .description,
header#header.showText .sideBar .booking .description {
	opacity: 1;
}

header#header.showText .sideBar .request .description:hover,
header#header.showText .sideBar .booking .description:hover {
	color: #a27e41;
}

header#header.showText .sideBar .voucher .description,
header#header.showText .sideBar .gallery .description {
	color: rgba(255, 255, 255, 0.5);
}

header#header.showText .sideBar .voucher .description:hover,
header#header.showText .sideBar .gallery .description:hover {
	color: white;
}

header#header.showText .sideBar .voucher.hoverState svg .st0,
header#header.showText .sideBar .voucher.hoverState svg .path2,
header#header.showText .sideBar .voucher.hoverState svg .path3 {
	stroke-dasharray: var(--length);
	stroke-dashoffset: 0;
	stroke: white;
}

header#header.showText .sideBar .voucher.hoverState .description {
	color: white;
}

header#header.showText .sideBar .gallery.hoverState svg .path2 {
	stroke-dasharray: var(--length);
	stroke-dashoffset: 0;
	stroke: white;
}

header#header.showText .sideBar .gallery.hoverState .description {
	color: white;
}

header#header.showText .menuWrapper {
	opacity: 1;
	transition-delay: 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
}

header#header.showText .menuWrapper #menu {
	transform: translateY(-20px) scale(1);
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
	transition-delay: 0.2s;
	opacity: 1;
	z-index: 1;
	pointer-events: all;
}

header#header.open .menuWrapper #menu ul li:not(".submenuOpen") a .mainlink,
header#header.open .menuWrapper #menu ul li:not(".submenuOpen") a .subtitle {
	color: white;
}

#uid1.scrolled header#header.showMenu .menuAnimation {
	z-index: 0;
}

body:not(#uid1) header#header.showMenu .menuAnimation {
	z-index: 0;
}

body:not(#uid1) header#header .menuAnimation {
	display: none;
}

@media (max-width: 1023px) {
	header#header {
		height: 70px;
	}

	header#header .sideBar {
		display: none;
	}

	header#header .mobileBar {
		display: flex;
	}

	header#header.showMenu .mobileBar {
		pointer-events: none;
		opacity: 0;
	}

	header#header.showText:not(.open) .mobileMenuIcons {
		opacity: 1;
		pointer-events: all;
		transition-delay: 0.3s;
	}

	header#header .breadCrumbWrapper .breadCrumbs {
		top: 50%;
		transform: translateY(-50%);
	}

	header#header .breadCrumbWrapper .breadCrumbs span {
		display: none;
	}

	header#header .breadCrumbWrapper .breadCrumbs span a {
		font-size: 12px;
		text-transform: uppercase;
		font-weight: bold;
	}

	header#header .breadCrumbWrapper .breadCrumbs span:first-of-type {
		display: block;
	}

	header#header .hamburgerWrapper {
		position: fixed;
		width: 80px;
		height: 75px;
		right: 0;
		top: 7px;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: white;
		z-index: 999;
		transition: 200ms;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-o-transition: all 0.5s;
		-ms-transition: all 0.5s;
		transition: all 0.5s;
	}

	header#header #hamburger-button {
		right: auto;
		top: auto;
		margin-top: -11px;
		margin-right: -2px;
		position: relative;
	}

	header#header .menuWrapper #menu {
		top: 100px;
		overflow: scroll;
		max-height: 70vh;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	header#header .menuWrapper #menu ul {
		grid-column-start: 2;
		grid-column-end: 14;
	}

	header#header .menuWrapper #menu ul>li>a .mainlink {
		width: 70px;
	}

	header#header .menuWrapper #menu ul li {
		margin-bottom: 40px;
	}

	header#header .menuWrapper #menu ul li ul {
		top: 40px;
		left: 85px;
	}

	header#header .menuWrapper #menu ul li ul li {
		margin-bottom: 10px;
	}

	header#header .menuWrapper #menu ul li ul .mainlink {
		font-size: 15px;
		line-height: 180%;
		margin-bottom: 0 !important;
	}

	header#header .menuWrapper #menu ul li a .subtitle {
		font-size: 28px;
		line-height: 125%;
		letter-spacing: 0;
		margin-left: 15px;
	}
}

@media (max-width: 1023px) and (max-width:1023px) {
	header#header .hamburgerWrapper {
		background-color: transparent;
	}
}

.browser-safari header#header .menuWrapper #menu ul li ul,
.browser-iOS header#header .menuWrapper #menu ul li ul {
	height: auto;
}

.hm-main-open-close {
	border-radius: 50% !important;
}

@media (max-width: 1023px) {
	#hub-messenger-widget .hm-main-widget-content.hm-open {
		z-index: 100000000 !important;
	}

	#hub-messenger-widget .hm-main-widget-content #hub-messenger-widget .hm-main-widget-content {
		z-index: 100000000 !important;
	}

	#hub-messenger-widget .hm-main-widget-content .hm-main-open-close {
		bottom: 20px !important;
	}
}

header#header .menuWrapper #menu ul li ul:before {
    content: '';
    width: 160px;
    color: black;
    border-width: 1px;
    border-style: solid;
    display: flex;
    align-content: center;
    align-items: center;
    position: relative;
    top: 7px;
    margin-right: 20px;
    color: white !important;
}

.submenuOpen a span.mainlink {
    color: white !important;
}
*/

/*
*	4.0 POPUP ELEMENTOR PER MENU
*/

div.popup-menu {
    z-index: 99;
}

a.dialog-close-button.dialog-lightbox-close-button {
    z-index: 101;
}

.black {
	color: black;
}

@keyframes left {
    from {
        left: 0;
    }
    to {
        left: -100px;
    }
}

.img-popup-color {
    visibility: hidden;
    opacity: 0;
    position: relative;
    left: 0;
    margin: 0;
    padding: 0;
    transition: left 1s, visibility 0s 1s, opacity 1s; 
}

#logo-header,
.img-popup-color {
    position: relative;
    left: 0;
    margin: 0;
    padding: 0;
    transition: left 1s;
}

#logo-header.position-logo-popup,
.img-popup-color.position-logo-popup {
    left: -135px;
    visibility: visible;
    opacity: 1;
    transition: left 1s, visibility 0s 0s, opacity 1s; 
	position: absolute;
	top: 0px;
}

.img-popup-color img{
    width: 220px;
    transition: width 0.5s;
}

.img-popup-color.shrink {
    width: 160px;
}

i.fal.fa-xmark {
    font-size: 40px;
}