/*
*	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
*/



div.blu, div.verde {
    width: fit-content;
    border-radius: 0px;
    padding: 18px 30px;
    color: white;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin: 20px 0px 0px -11px;
    display: flex;
    align-items: center;
}

.blu i, .verde i {
	font-size: 20px;
}

/*
*	2.0 HEADER
*/
.season-selector {
	position: absolute !important;
	bottom: 10px !important;
}

div#container-header-mobile {
    height: 100px;
    transition: height 0.5s;
}

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

div#container-header-mobile.shrink {
    height: 70px;
}

@keyframes shrinkWidth {
    from { width: 300px; }
    to { width: 135px; }
}

@keyframes expandWidth {
    from { width: 135px; }
    to { width: 300px; }
}

div#container-header-mobile img {
    width: 300px;
}

div#container-header-mobile.shrink img {
    animation: shrinkWidth 0.7s forwards !important;
}

div#container-header-mobile img:not(.shrink) {
    animation: expandWidth 0.7s forwards;
}

div#container-header-mobile #logo-mobile-header img {
    filter: brightness(0) invert(1);
    transition: filter 0.2s;
}

div#container-header-mobile #logo-mobile-header img.color {
    filter: brightness(1);
}

div#container-header-mobile.color {
	background-color: #F1F1F1 !important;
	transition: background-color 0.2s;
	background: #F1F1F1 !important;
}

.elementor-nav-menu--dropdown.scroll {
    top: 28px !important;
}

.elementor-menu-toggle.brown svg {
    fill: #007363 !important;
}


/*
*   3.0 MENU
*/
.elementor-nav-menu {
    padding: 90px 0px !important;
    height: 100vh;
    display: flex !important;
    flex-direction: column;
    gap: 20px;
}

.elementor-nav-menu {
    padding: 30px 0px !important;
}

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(0, 0, 0, 0.5);
}

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: 1px solid white;
	text-transform: uppercase;
	color: black;
	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;
}

/*
*	5.0 HOMEPAGE
*/
.room-card-home > .e-con-inner:first-of-type {
    padding-left: 0px !important;
}

.label-rooms {
	left: 12px;
    top: 12px;
    position: relative;
}


ul.wpml-ls-sub-menu {
	width: fit-content;
}