/*
Theme Name: Palazzo Sogni
 
Text Domain: palazzosogni

Author: Alberto Oliva

Version: 1.0

Description: Custom theme for Palazzo Sogni
 
*/



/******* CSS Framework - 2026 Alberto "DeLiVeRaNcE" Oliva - Mediasoul SRL *********/



/*! locomotive-scroll v5  */
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-duration:1ms;transition-property:overflow}


/*! glide.js */
.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;margin:0;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows{-webkit-touch-callout:none;user-select:none}.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}

/* wpa-css */
.wpa-test-msg{background:#d1ecf1!important;border:1px solid #bee5eb!important;border-radius:5px!important;color:#0c5460!important;font-size:14px!important;padding:.75rem 1.25rem!important;font-family:Arial!important;margin-top:5px!important}span.wpa-button{display:inline-block!important;padding-top:5px!important;color:#fff!important;background-color:#6c757d!important;border-color:#6c757d!important;padding:5px 10px!important;border-radius:5px!important;margin-top:5px!important;cursor:pointer!important}#altEmail_container,.altEmail_container{position:absolute!important;overflow:hidden!important;display:inline!important;height:1px!important;width:1px!important;z-index:-1000!important}

a {
	text-decoration:none;
	color: rgba(84, 69, 47, 1);
}

footer a {
	color:rgba(252,252,250,1);
}

/********** ATF *************/

body {
	color:rgba(84, 69, 47, 1);
	-webkit-font-smoothing:antialiased;
    -webkit-text-size-adjust: 100%;
    cursor: default;
	font-weight: 300;
    letter-spacing: 0.05rem;
}


body.exit article  {
	opacity:0 !important;
}

html.menu-active body.exit article  {
	transition-duration:0ms;
}



input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}

body * {
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-touch-callout: none;
}

.block {
	display:block;
}

article {
	-webkit-transition: opacity 700ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: opacity 700ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.relative {
	position:relative;
}

.absolute {
	position:absolute;
}

.mobileOnly {
	display:none;
}

.full_width {
	width:100%;
	height:auto;
}

.full_height {
	height:100%;
	width:auto;
}

.no_opacity {
	opacity:0.001 !important;
	pointer-events:none !important;
}

.no_opacity.show, .show .no_opacity {
	opacity:1 !important;
	pointer-events:all !important;
}

.above {
	z-index:1;
}

.top_low {
	-webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity:0.01;
}

.inline_block {
	display:inline-block;
	will-change:transform;
}


.transition_all {
	transition-property:all !important;
}

.top_hidden {
	 -webkit-transform: translateY(101%);
    transform: translateY(101%);
}

.half_top_translated{
	-webkit-transform: translateY(2.5vw);
    transform: translateY(2.5vw);
}

.top_translated{
	-webkit-transform: translateY(5vw);
    transform: translateY(5vw);
}

.double_top_translated {
	-webkit-transform: translateY(10vw);
    transform: translateY(10vw);
}

.top_ultralow {
	-webkit-transform: translateY(10px);
    transform: translateY(10px);
    opacity:0;
}

.top_single {
 	-webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity:0;
}

.top_double {
 	-webkit-transform: translateY(100px);
    transform: translateY(100px);
    opacity:0;
}

.top_double.show, .show .top_double,  .top_single.show, .show .top_single, .top_low.show, .show .top_low, .top_ultralow.show, .show .top_ultralow, .left_single.show, .left_double.show, .show .left_single, .show .left_double, .scaled.show, .show .scaled {
 	-webkit-transform: none;
    transform: none;
    opacity:1;
}

.top_hidden.show, .top_translated.show, .double_top_translated.show, .show .top_hidden, .show .top_translated, .show .double_top_translated, .show .half_top_translated, .no_width.show, .show .no_width, .no_height.show, .show .no_height {
	 -webkit-transform: none;
    transform: none;
    pointer-events: all;
}

.centered {
	text-align:center;
}

.justified {
	text-align:justify;
}

.no_overflow {
	overflow:hidden;
	
}

.flex {
	display:flex;
}

.wrap {
	flex-wrap:wrap;
}

.column {
	flex-direction:column;
}

.spaceBetween {
	justify-content:space-between;
}

.hStart {
	justify-content:flex-start;
}

.hEnd {
	justify-content:flex-end;
}

.hCenter {
	justify-content:center;
}

.vStart {
	align-items:flex-start;
}

.vCenter {
	align-items:center;
}

.vEnd {
	align-items:flex-end;
}

.selfEnd {
	align-self:flex-end;
}

.selfStart {
	align-self:flex-start;
}

.expand {
	flex:1;
}

.mask_bottom {
	transform: translateY(50%);
}

.mask_bottom .t_container {
	transform: translateY(-50%);
}

.mask_bottom.full {
	transform: translateY(100.5%);
}

.mask_bottom.full .t_container {
	transform: translateY(-100.5%);
}

.mask_bottom.full .p_container {
   transform: translateY(35%);
}


[data-scroll-speed], span.block,.will_change  {
	will-change:transform;
}


.pointer {
	cursor:pointer;
}

.has_transition_200, .show .fast_rewind.has_transition_200, .show.fast_rewind.has_transition_200 {
    -webkit-transition: -webkit-transform 200ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 200ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 200ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 200ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.has_transition_400, .show .fast_rewind.has_transition_400, .show.fast_rewind.has_transition_400 {
    -webkit-transition: -webkit-transform 400ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 400ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 400ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 400ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.has_transition_500, .show .fast_rewind.has_transition_500, .show.fast_rewind.has_transition_500 {
	  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}


.has_transition_600, .show .fast_rewind.has_transition_600, .show.fast_rewind.has_transition_600 {
	  -webkit-transition: -webkit-transform 600ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 600ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 600ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 600ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.has_transition_800, .show .fast_rewind.has_transition_800, .show.fast_rewind.has_transition_800 {
	  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.has_transition_1000, .show .fast_rewind.has_transition_1000, .show.fast_rewind.has_transition_1000 {
    -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
   
}

.has_transition_1500, .show .fast_rewind.has_transition_1500, .show.fast_rewind.has_transition_1500 {
    -webkit-transition: -webkit-transform 1500ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 1500ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
}

.has_transition_1200, .show .fast_rewind.has_transition_1200, .show.fast_rewind.has_transition_1200 {
    -webkit-transition: -webkit-transform 550ms cubic-bezier(0.22, 0.72, 0.54, 1.01),opacity 1200ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 550ms cubic-bezier(0.22, 0.72, 0.54, 1.01),opacity 1200ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
}

.has_transition_750, .show .fast_rewind.has_transition_750, .show.fast_rewind.has_transition_750 {
    -webkit-transition: -webkit-transform 750ms cubic-bezier(0.22, 0.72, 0.54, 1.01),opacity 750ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 750ms cubic-bezier(0.22, 0.72, 0.54, 1.01),opacity 750ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
}

.has_transition_2000, .show .fast_rewind.has_transition_2000, .show.fast_rewind.has_transition_2000 {
    -webkit-transition: -webkit-transform 1500ms cubic-bezier(0.000, 0.000, 0.580, 1.000);,opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 1500ms cubic-bezier(0.000, 0.000, 0.580, 1.000);,opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
}

.has_transition_2500, .show .fast_rewind.has_transition_2500, .show.fast_rewind.has_transition_2500 {
    -webkit-transition: -webkit-transform 2500ms cubic-bezier(0.000, 0.000, 0.580, 1.000);,opacity 1000ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
    transition: transform 2500ms cubic-bezier(0.000, 0.000, 0.580, 1.000);,opacity 1000ms cubic-bezier(0.230, 1.000, 0.320, 1.000);      
}



.has_transition_3000, .show .fast_rewind.has_transition_3000, .show.fast_rewind.has_transition_3000 {
   -webkit-transition: -webkit-transform 3000ms cubic-bezier(0.230, 1.000, 0.320, 1.000),opacity 3000ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
    transition: transform 3000ms cubic-bezier(0.230, 1.000, 0.320, 1.000),opacity 3000ms cubic-bezier(0.230, 1.000, 0.320, 1.000);      
}


.has_transition_5000, .show .fast_rewind.has_transition_5000, .show.fast_rewind.has_transition_5000 {
   -webkit-transition: -webkit-transform 5000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 5000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
        transition: transform 5000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 5000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
      
}

.has_transition_6000, .show .fast_rewind.has_transition_6000, .show.fast_rewind.has_transition_6000 {
	-webkit-transition: -webkit-transform 6000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
		 transition: transform 6000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
	   
 }

 .has_transition_2500_inout, .show .fast_rewind.has_transition_2500_inout, .show.fast_rewind.has_transition_2500_inout {
    -webkit-transition: -webkit-transform 2500ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 2000ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
    transition: transform 2500ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 2000ms cubic-bezier(0.575, 0.005, 0.285, 1.005);  
}

.has_transition_2000_inout, .show .fast_rewind.has_transition_2000_inout, .show.fast_rewind.has_transition_2000_inout {
    -webkit-transition: -webkit-transform 2000ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
    transition: transform 2000ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005);  
}

.has_transition_800_inout, .show .fast_rewind.has_transition_800_inout, .show.fast_rewind.has_transition_800_inout {
    -webkit-transition: -webkit-transform 800ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 800ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
    transition: transform 800ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 800ms cubic-bezier(0.575, 0.005, 0.285, 1.005);  
}

.has_transition_1000_inout, .show .fast_rewind.has_transition_1000_inout, .show.fast_rewind.has_transition_1000_inout {
    -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1000ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
    transition: transform 1000ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1000ms cubic-bezier(0.575, 0.005, 0.285, 1.005);  
}

.has_transition_1500_inout, .show .fast_rewind.has_transition_1500_inout, .show.fast_rewind.has_transition_1500_inout {
    -webkit-transition: -webkit-transform 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
    transition: transform 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005);  
}



.has_transition_800_cubic, .show .fast_rewind.has_transition_800_cubic, .show.fast_rewind.has_transition_800_cubic {
	  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.215, 0.610, 0.355, 1.000),opacity 800ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transition: transform 800ms cubic-bezier(0.215, 0.610, 0.355, 1.000),opacity 800ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

.no_height {
	transform:scale(1,0);
	pointer-events:none;
}

.fit {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.fit.taller {
	height:104%;
}

.fit[data-scroll-speed] {
	height:110%;
	top:-5%;
}

.fit.bottom {
	object-position:bottom !important;
}


.fit.top {
	object-position:top !important;
}

.fit.left {
	object-position:left !important;
}

.fit.right {
	object-position:right !important;
}

.uppercase {
	text-transform:uppercase;
}

.mask_top {
	 transform: translateY(-50%);
}


.mask_top .t_container {
	 transform: translateY(50%);
}

.mask_top.full {
	 transform: translateY(-100.5%);
}


.mask_top.full .t_container {
	 transform: translateY(100.5%);
}

.mask_top.full .t_container img {
	transform:scale(1.05);
}

.mask_left {
	 transform: translateX(-50%);
	 
}

.mask_left .t_container   {
	transform:translateX(100%);
}


.mask_left.full {
	 transform: translateX(-100.5%);
	 
}

.mask_left.full .t_container   {
	transform:translateX(100.5%);
}

.mask_left.full .t_container img {
	transform:translateX(-10%);
}

.mask_right {
	 transform: translateX(50%);
	 
}

.mask_right .t_container   {
	transform:translateX(-100%);
}


.mask_right.full {
	 transform: translateX(100.5%);
	 
}

.mask_right.full .t_container   {
	transform: translateY(-100.5%) scale(0.8);
}

.mask_right.full .t_container img {
	transform:translateX(25%);
}


.show > .mask_bottom, .show > .mask_left, .show > .mask_left .t_container, .show > .mask_left .t_container img, .show > .mask_right, .show > .mask_right .t_container, .show > .mask_right .t_container img, .show > .mask_top, .show > .mask_top .t_container, .show > .mask_top .t_container img, .show > .mask_bottom, .show > .mask_bottom .t_container, .show > .mask_bottom .t_container img, .show > .mask_bottom .p_container, .show .mask_bottom.full .t_container.scaled, .show .mask_bottom.full .t_container *  {
	 transform: none;
}

.fast_rewind {
	transition-duration:600ms;
}

.show .d50, .show.d50 {
	transition-delay:50ms !important;
}

.show .d100, .show.d100 {
	transition-delay:100ms !important;
}

.show .d150, .show.d150 {
	transition-delay:150ms !important;
}

.show .d200, .show.d200 {
	transition-delay:200ms !important;
}

.show .d250, .show.d250 {
	transition-delay:250ms !important;
}

.show .d300, .show.d300 {
	transition-delay:300ms !important;
}

.show .d350, .show.d350 {
	transition-delay:350ms !important;
}

.show .d400, .show.d400 {
	transition-delay:400ms !important;
}

.show .d450, .show.d450 {
	transition-delay:450ms !important;
}

.show .d500, .show.d500 {
	transition-delay:500ms !important;
}

.show .d550, .show.d550 {
	transition-delay:550ms !important;
}

.show .d600, .show.d600 {
	transition-delay:600ms !important;
}

.show .d650, .show.d650 {
	transition-delay:650ms !important;
}

.show .d700, .show.d700 {
	transition-delay:700ms !important;
}

.show .d750, .show.d750 {
	transition-delay:750ms !important;
}


.show .d800, .show.d800 {
	transition-delay:800ms !important;
}

.show .d850, .show.d850 {
	transition-delay:850ms !important; 
}

.show .d900, .show.d900 {
	transition-delay:900ms !important;
}

.show .d950, .show.d950 {
	transition-delay:950ms !important;
}

.show .d1000, .show.d1000 {
	transition-delay:1000ms !important;
}

.show .d1050, .show.d1050 {
	transition-delay:1050ms !important;
}

.show .d1100, .show.d1100  {
	transition-delay:1100ms !important;
}

.show .d1150, .show.d1150 {
	transition-delay:1150ms !important;
}

.show .d1200, .show.d1200 {
	transition-delay:1200ms !important;
}

.show .d1250, .show.d1250 {
	transition-delay:1250ms !important;
}

.show .d1300, .show.d1300 {
	transition-delay:1300ms !important;
}

.show .d1350, .show.d1350 {
	transition-delay:1350ms !important;
}

.show .d1400, .show.d1400 {
	transition-delay:1400ms !important;
}

.show .d1450, .show.d1450 {
	transition-delay:1450ms !important;
}

.show .d1500, .show.d1500 {
	transition-delay:1500ms !important;
}

.show .d1550, .show.d1550 {
	transition-delay:1550ms !important;
}

.show .d1600, .show.d1600 {
	transition-delay:1600ms !important;
}

.show .d1650, .show.d1650 {
	transition-delay:1650ms !important;
}

.show .d1700, .show.d1700 {
	transition-delay:1700ms !important;
}

.show .d1750, .show.d1750 {
	transition-delay:1750ms !important;
}

.show .d1800, .show.d1800 {
	transition-delay:1800ms !important;
}

.show .d1850, .show.d1850 {
	transition-delay:1800ms !important;
}

.show .d1900, .show.d1900 {
	transition-delay:1900ms !important;
}

.show .d1950, .show.d1950 {
	transition-delay:1900ms !important;
}

.show .d2000, .show.d2000 {
	transition-delay:2000ms !important;
}

.show .d2100, .show.d2100 {
	transition-delay:2100ms !important;
}

.show .d2200, .show.d2200 {
	transition-delay:2200ms !important;
}


.no_transition {
	transition:none !important;
}

.transform_lock {
	transform:none !important;
}

.no_width {
	transform:scale(0,1);
	pointer-events:none;
}

.underline {
	text-decoration:underline;
}

.margin {
	margin-top:2.5vw;
}

.n-margin {
	margin-top:-2.5vw;
}

.doubleMargin {
	margin-top:5vw;
}

.n-doubleMargin {
	margin-top:-5vw;
}

.tripleMargin {
	margin-top:7.5vw;
}

.n-tripleMargin {
	margin-top:-7.5vw;
}

.quadMargin {
	margin-top:10vw;
}

.halfMargin {
	margin-top:1.25vw;
}

.smallMargin {
	margin-top:20px;
}

.microMargin {
	margin-top:10px
}


.marginLeft {
	margin-left:5vw;
}

.halfMarginLeft {
	margin-left:2.5vw;
}


.lowercase {
	text-transform:lowercase;
}

.ma {
	margin-left:auto;
	margin-right:auto;
}

.bold {
	font-weight:500;
}

.disabled {
	pointer-events:none;
	cursor:default;
	opacity:0.5;
}


.mainContainer.column {
	display: flex;
    flex-direction: column;
}


.leftPadded {
	padding-left:5vw;
	box-sizing:border-box;
}

.rightPadded {
	padding-right:5vw;
	box-sizing:border-box;
}

.bottomPadded {
	padding-bottom:5vw;
	box-sizing:border-box;
}

.topPadded {
	padding-top:5vw;
	box-sizing:border-box;
}

.moreBottomPadded {
	padding-bottom:7.5vw;
	box-sizing:border-box;
}

.moreTopPadded {
	padding-top:7.5vw;
	box-sizing:border-box;
}

.moreLeftPadded {
	padding-left:7.5vw;
	box-sizing:border-box;
}

.moreRightPadded {
	padding-right:7.5vw;
	box-sizing:border-box;
}

.halfBottomPadded {
	padding-bottom:2.5vw;
	box-sizing:border-box;
}

.halfTopPadded {
	padding-top:2.5vw;
	box-sizing:border-box;
}

.halfRightPadded {
	padding-right:2.5vw;
	box-sizing:border-box;
}

.halfLeftPadded {
	padding-left:2.5vw;
	box-sizing:border-box;
}

.doubleLeftPadded {
	padding-left:10vw;
	box-sizing:border-box;
}

.doubleRightPadded {
	padding-right:10vw;
	box-sizing:border-box;
}

.doubleTopPadded {
	padding-top:10vw;
	box-sizing:border-box;
}

.doubleBottomPadded {
	padding-bottom:10vw;
	box-sizing:border-box;
}


.fullPage {
	min-height:100vh;
	min-height: 100dvh;  
}

.fullPage.m2 {
	min-height:125vh;
	min-height: 125dvh;
}

.fullPage.m3 {
	min-height:150vh;
	min-height:150dvh;
}

.midPage {
	min-height:62.5vh;
	min-height:62.5dvh;
}

.splitTitle {
	opacity:0;
}

.show .splitTitle {
	opacity:1;
}

/******* BLOCKS ********/

.w1{width:5vw}.w1q{width:6.25vw}.w1h{width:7.5vw}.w1t{width:8.75vw}
.w2{width:10vw}.w2q{width:11.25vw}.w2h{width:12.5vw}.w2t{width:13.75vw}
.w3{width:15vw}.w3q{width:16.25vw}.w3h{width:17.5vw}.w3t{width:18.75vw}
.w4{width:20vw}.w4q{width:21.25vw}.w4h{width:22.5vw}.w4t{width:23.75vw}
.w5{width:25vw}.w5q{width:26.25vw}.w5h{width:27.5vw}.w5t{width:28.75vw}
.w6{width:30vw}.w6q{width:31.25vw}.w6h{width:32.5vw}.w6t{width:33.75vw}
.w7{width:35vw}.w7q{width:36.25vw}.w7h{width:37.5vw}.w7t{width:38.75vw}
.w8{width:40vw}.w8q{width:41.25vw}.w8h{width:42.5vw}.w8t{width:43.75vw}
.w9{width:45vw}.w9q{width:46.25vw}.w9h{width:47.5vw}.w9t{width:48.75vw}
.w10{width:50vw}.w10q{width:51.25vw}.w10h{width:52.5vw}.w10t{width:53.75vw}
.w11{width:55vw}.w11q{width:56.25vw}.w11h{width:57.5vw}.w11t{width:58.75vw}
.w12{width:60vw}.w12q{width:61.25vw}.w12h{width:62.5vw}.w12t{width:63.75vw}
.w13{width:65vw}.w13q{width:66.25vw}.w13h{width:67.5vw}.w13t{width:68.75vw}
.w14{width:70vw}.w14q{width:71.25vw}.w14h{width:72.5vw}.w14t{width:73.75vw}
.w15{width:75vw}.w15q{width:76.25vw}.w15h{width:77.5vw}.w15t{width:78.75vw}
.w16{width:80vw}.w16q{width:81.25vw}.w16h{width:82.5vw}.w16t{width:83.75vw}
.w17{width:85vw}.w17q{width:86.25vw}.w17h{width:87.5vw}.w17t{width:88.75vw}

.h1{height:5vw}.h1q{height:6.25vw}.h1h{height:7.5vw}.h1t{height:8.75vw}
.h2{height:10vw}.h2q{height:11.25vw}.h2h{height:12.5vw}.h2t{height:13.75vw}
.h3{height:15vw}.h3q{height:16.25vw}.h3h{height:17.5vw}.h3t{height:18.75vw}
.h4{height:20vw}.h4q{height:21.25vw}.h4h{height:22.5vw}.h4t{height:23.75vw}
.h5{height:25vw}.h5q{height:26.25vw}.h5h{height:27.5vw}.h5t{height:28.75vw}
.h6{height:30vw}.h6q{height:31.25vw}.h6h{height:32.5vw}.h6t{height:33.75vw}
.h7{height:35vw}.h7q{height:36.25vw}.h7h{height:37.5vw}.h7t{height:38.75vw}
.h8{height:40vw}.h8q{height:41.25vw}.h8h{height:42.5vw}.h8t{height:43.75vw}
.h9{height:45vw}.h9q{height:46.25vw}.h9h{height:47.5vw}.h9t{height:48.75vw}
.h10{height:50vw}.h10q{height:51.25vw}.h10h{height:52.5vw}.h10t{height:53.75vw}
.h11{height:55vw}.h11q{height:56.25vw}.h11h{height:57.5vw}.h11t{height:58.75vw}

/*************************************************/

.veiled:after {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#000;
	opacity:0.4;
	pointer-events:none;
}

.midContainer {
	width:80vw;
	margin-left:auto;
	margin-right:auto;
}

.mainContainer {
	width:95vw;
	margin-left:auto;
	margin-right:auto;
}

.largeContainer {
	width:85vw;
	margin-left:auto;
	margin-right:auto;
}

.fullContainer {
	width:100%;
}

.scroll-inner {
	will-change:transform;
}



/********** TYPOGRAPHY ************/

.label {
	font-family: Montserrat;
    font-weight: 450;
    font-size: 15px;
    line-height: 25px;
    
}

.bigTypography {
    font-family: Sogo;
    font-weight: 300;
    font-style: Light;
    font-size: 2.6vw;
    line-height: 3.8vw;
    letter-spacing: 0%;
    
}

.smallTypography {
	font-family: Sogo;
    font-weight: 300;
    font-style: Light;
	font-size: 1.36vw;
    line-height: 2vw;
    letter-spacing: .1em;
}

.smallTypography.fixed {
	font-size: 28px;
}

.paragrafo {
	font-family: Sogo;
font-weight: 400;
font-size:.95vw;
line-height: 1.75vw;

}


.copy {
	font-family: Sogo;
font-weight: 300;
font-size: 2.35vw;
line-height: 3.7vw;

}

.titoloSchede {
	font-family: Sogo;
    font-weight: 400;
    font-style: Regular;
	font-size: 1.4vw;
    line-height: 1.8vw;
    letter-spacing: 0.05em;	
}

.testoSchede {
font-family: Montserrat;
font-weight: 350;
font-style: Book;
font-size: 13px;
line-height: 18px;
letter-spacing: .05em;
}

.note {
	font-family: Montserrat;
    font-weight: 300;
    font-size: 0.8vw;
    line-height: 1.4vw;
    letter-spacing: .1em;
}




/************ PALETTE ************/

.bWhite {
	background:#FFFFFF;
}

.cWhite {
	color:#FFFFFF;
}

.cEcruWhite100 {
	color:rgba(252, 252, 250, 1);
}

.cEcruWhite950 {
	color:rgba(84, 69, 47, 1);
}

.cOuterSpace400 {
	color:rgb(81, 90, 94);
}

.cBermudaGray500 {
	color:rgba(117, 147, 169, 1);
}

.bEcruWhite500 {
	background:rgba(241, 237, 224, 1);
}

.bEcruWhite400 {
	background:rgba(242, 241, 229, 1);
}

.bEcruWhite50 {
	background:rgba(254, 254, 253, 1);
}

.bEcruWhite200 {
	background:rgba(248, 247, 240, 1);
}

.bEcruWhite300 {
	background:rgba(245, 244, 232, 1);
}

.bBermudaGray400 {
	background:rgba(158, 183, 197, 1);
}

.bOpal100 {
	background:rgba(224, 237, 235, 1);
}

.bOpal200 {
	background:rgba(196, 221, 219, 1);
}

.bOuterSpace100 {
	background:rgba(217, 221, 223, 1);
}

.bCoralTree50 {
	background:rgba(250, 246, 245, 1);
}


/*************************************/

header {
	position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    height: 70px;
    display: flex;
    align-items: center;
	background: linear-gradient(to right, rgba(252, 252, 250, 0.5) 0%, rgba(252, 252, 250, 0.8) 45%, rgba(252, 252, 250, 0.8) 55%, rgba(252, 252, 250, 0.5) 100%);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	justify-content: space-between;
	padding: 0 2.5vw;
    box-sizing: border-box;
	transform: translateY(-70px);
}

header.show {
	transform:none;
}

#headerLeft {
    width: calc(47.5vw - 100px);
}

#headerLeft .barButtonContainer {
	justify-content: flex-end;
	align-items: center;
	height: 100%;
	padding-right: 60px;
}

#headerRight {
	width: calc(47.5vw - 290px);
    margin-left: 190px;
}

#headerRight .barButtonContainer {
	justify-content: flex-start;
	align-items: center;
	height: 100%;
	padding-left: 0px;
}

#mainLogo {
	width: 180px;
    position: absolute;
    left: calc(50% - 90px);
}

#mainLogo svg {
	fill:rgba(117, 147, 169, 1);
}

.mobileOnlyButton {
	display: none;
}

#bookNow {
	height: 60px;
    width: 190px;
	cursor:pointer;
}

#bookNow .decor {
	position: absolute;
    top: 2px;
	left:0;
	width:100%;
}

.barButton:after {
	content: '';
    width: 100%;
    height: 1px;
    background: rgba(84, 69, 47, 1);
    transform: scale(0, 1);
    position: absolute;
    left: 0;
    bottom: 0;
    transform-origin: left;
	-webkit-transition: -webkit-transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.barButton:hover:after {
	transform:none;
}

.barButton.force_hidden {
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
	opacity:0.01;
	transition-delay:0ms !important;
	pointer-events:none;
}

#langs {
	display:flex;
}

.lang-item {
	margin-left:18px;
	position:relative;
}

.lang-item-first:after {
	content: '/';
    margin-left: 6px;
    position: absolute;
}

.lang-item:before {
	content: '';
    position: absolute;
    bottom: 2px;
    width: 100%;
    background: rgba(84, 69, 47, 1);
    height: 1px;
	transform:scale(0,1);
	transform-origin:left;
	-webkit-transition: -webkit-transform 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.lang-item.current-lang {
	font-weight:600;
}

.lang-item.current-lang:before, .lang-item:hover:before {
	transform:none;
}

#homeTop {
	height:100svh;
	perspective: 1500px;
	background:#F1EDE3;
}

#scrollDown {
    width: 48px;
    height: 48px;
    position: absolute;
    bottom: 70px;
    left: calc(50% - 24px);
}

#scrollDown circle {
    stroke-dasharray: 141px;
    stroke-dashoffset: 141px;
    -webkit-transition: all 1500ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all 1500ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#scrollDown.show circle {
    stroke-dashoffset: 0;
    -webkit-transition: all 1500ms 100ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
    transition: all 1500ms 100ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
}

#scrollDown .arrow {
    width: 14px;
    height: 10px;
    transform: rotateZ(90deg) translateY(0.5px);
    position: absolute;
    left: calc(50% - 5px);
    top: calc(50% - 4px);
}

#scrollDown .note {
	
    position: absolute;
    bottom: -45px;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 400;

}

#homeLogoLayer {
	display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#homeLogoLayer svg {
	fill:#000;
}

#homeVideo {
	transform: translateZ(-500px);
    position: absolute;
    width: 100%;
    height: 100%;
	opacity:0;
	-webkit-transition: transform 2000ms cubic-bezier(.645, .045, .355, 1), opacity 4000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: transform 2000ms cubic-bezier(.645, .045, .355, 1), opacity 4000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transform-origin: bottom;
}

#homeVideo video, #homePoster {
	width: 108%;
    height: 108%;
    object-fit: cover;
	top:-4%;
	left:-4%;
	position:relative;
}

#audioPlayer {
	width: 48px;
    height: 48px;
    background: rgba(248, 247, 240, .4);
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: absolute;
    will-change: transform;
    left: -12px;
    top: -36px;
	
}

.audioNope {
	display:none;
}

#audioPlayer.playing .audioNope {
	display:block;
}

#audioPlayer.playing .audioYes {
	display:none;
}

#homeCover {
	position: absolute;
	inset: 0;
	width: 100vw;
	height: 100svh;
	z-index: 1;
	-webkit-transition: transform 1500ms cubic-bezier(.55, .055, .675, .19), filter 1000ms 500ms cubic-bezier(.55, .055, .675, .19);
	transition: transform 1500ms cubic-bezier(.55, .055, .675, .19), filter 1000ms 500ms cubic-bezier(.55, .055, .675, .19);
	will-change:transform;
  }

  #homeBackground {
	background:rgba(117, 147, 169, 0.9);
	position: absolute;
	inset: 0;
	width: 100vw;
	height: 100svh;
	z-index: 1;

	-webkit-mask-image: url("assets/svg/mask2.svg");
	mask-image: url("assets/svg/mask2.svg");
  
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
  
	-webkit-mask-position: center;
	mask-position: center;

    -webkit-mask-size: cover; /* <-- QUESTA È LA CHIAVE */
    mask-size: cover;
	
  }

  #homeCover canvas {
	width: 100%;
	height: 100%;
	display: block;
  
	-webkit-mask-image: url("assets/svg/mask.svg");
	mask-image: url("assets/svg/mask.svg");
  
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
  
	-webkit-mask-position: center;
	mask-position: center;
  
	
    -webkit-mask-size: cover; /* <-- QUESTA È LA CHIAVE */
    mask-size: cover;
  }

  .apple #homeCover canvas {
	width: 100%;
	height: 100%;
	display: block;
  
	-webkit-mask-image: url("assets/svg/mask.png");
	mask-image: url("assets/svg/mask.png");
}

  #homeCover.out {
    transform: translateZ(1500px);
    filter: blur(5px);

	
  }

  #homeVideo.fade {
	opacity:1;
  }

  #homeVideo.in {
	transform:none;
  }


  @media all and (max-width:768px) {
	#homeCover canvas {
		width: 100%;
		height: 100%;
		display: block;
	  
		-webkit-mask-image: url("assets/svg/maskMobile.svg");
		mask-image: url("assets/svg/maskMobile.svg");
  }

  .apple #homeCover canvas {
	width: 100%;
	height: 100%;
	display: block;
  
	-webkit-mask-image: url("assets/svg/maskMobile.png");
	mask-image: url("assets/svg/maskMobile.png");
	}
}



#welcomeSvgMask path {
	fill:none; 
    stroke: #FFFFFF;
    stroke-dasharray: 1480px;
	stroke-dashoffset: 1480px;
	stroke-miterlimit:10; 
	stroke-width:4.2px;
}

#roomsSvgMask path {
	fill:none; 
	stroke-dasharray: 3239px;
    stroke-dashoffset: 3239px;

    stroke: #FFFFFF;
	stroke-miterlimit: 10;
    stroke-width: 4px;
}

#diningSvgMask path {

stroke-dasharray: 1510px;
stroke-dashoffset: 1510px;
fill: none;
stroke: #FFFFFF;
stroke-miterlimit: 10;
stroke-width: 4px;
}

#spaSvgMask path {
	fill: none;
	stroke: #FFFFFF;
	stroke-miterlimit: 10;
	stroke-width: 4px;
	stroke-dasharray: 1807px;
	stroke-dashoffset: 1807px;

}

#experientialSvgMask path {
    fill: none;
    stroke: #FFFFFF;
    stroke-miterlimit: 10;
    stroke-width: 4px;
    stroke-dasharray: 4304px;
    stroke-dashoffset: 4304px;
}

.titleSvg {
	z-index:1;
}

.titleSvg.show #welcomeSvgMask path {
	stroke-dashoffset:2960px;
}

.titleSvg.show #roomsSvgMask path, .titleSvg.show #diningSvgMask path, .titleSvg.show #spaSvgMask path, .titleSvg.show #experientialSvgMask path {
	stroke-dashoffset:0;
}






.brush {
	z-index:0;
}

.brush.gold {
	width: 110%;
    margin-left: -70px;
    position: relative;
   
}

.brush.gold img {
	transform: rotateZ(-172.7deg);
	opacity: 0.4;
}

.brush.peach {
    position: relative;
   
}

.brush.peach img {
	opacity: 0.4;
}

.masked {
	mask: url(#frameMask);
	mask-size: 100% 100%;
	mask-repeat: no-repeat;
  
	-webkit-mask: url(#frameMask);
	-webkit-mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
  }
.svg.pic  {
	width:80%;
}

#welcome .svg.pic.w4 {
	width: 24vw;
}

.rounded {
	border-radius:5px;
}

.svg.pic svg {
	fill:#9A825C;
	position:relative;
	z-index:1;
}

.pinkGradient {
	background: linear-gradient(to bottom, #F1EDE3FF 0%,   rgba(229, 199, 194, 0.8) 100%);
}

.blueGradient {
	background: linear-gradient(to bottom, rgba(242, 246, 248, 0.6) 0%,   rgba(117, 147, 169, 0.6) 106%);
}

.titleComposit .textBlock {
	left: 100%;
    top: 23.5vw;
    height: 21.8vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.blurred {
	filter: blur(5px);
	transition: filter 0s; /* niente easing, tutto via JS */
	will-change: filter;
}

#flowerBackground {
	position: absolute;
    z-index: 1;
    transform: rotateY(180deg) rotateZ(-8deg);
    width: 42.5vw;
    opacity: 0.4;
    top: -15vw;
    left: -8vw;
}

#homeRooms .itemSlider {
	padding: 0 1.25vw;
}


.button .decor {
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:1.5px;
	
}

.itemSlider .button {
	height: 3vw;
    margin-bottom: 2.5vw;
	z-index:2;
	min-height:45px;
}

.button .label {
	font-family: Montserrat;
    font-weight: 500;
    font-size: 14px;
    line-height: 30px;
    text-align: center;
    vertical-align: middle;
    letter-spacing: 0.5px;
}

.glide__arrows {
	position: absolute;
    bottom: 2.7vw;
    width: calc(100% - 5vw);
    left: 2.5vw;
    pointer-events: none;
    min-height: 42px;
    display: flex;
    align-items: center;
}

.glide__arrow {
	height: 2.75vw;
    background: none;
    border: none;
	cursor:pointer;
}

.show .glide__arrow {
	pointer-events:all;
}

.glide__arrow--left svg {
	transform:rotateZ(180deg);
}

.pic.absolute {
	width:100%;
	height:100%;
}

.itemLayer:before {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:5vw;
	background: linear-gradient(0, rgba(0,0,0,1),rgba(0,0,0,0));
	z-index:1;
	
}

#homeRooms .itemLayer:before {
    width: 100%;
    height: 150%;
    background: linear-gradient(0, rgba(0, 0, 0, 1) 0, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
    transform: translateY(50%);
    -webkit-transition: all 1500ms cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all 1500ms cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#homeRooms .itemLayer .textBlock {
	height: 100%;
    position: absolute;
    display: flex;
    align-items: center;
    padding: 0 5vw 2.5vw 5vw;
    width: 100%;
	z-index:1;
}

#homeRooms .itemLayer.show:before {
	transform:none;
}

#homeRooms .glide__bullets {
	right: 1.25vw;
	padding: 1.25vw 0;
	width:auto;
}

#homeRooms .glide__bullet--active + .glide__bullet, #homeRooms .glide__bullet--active + .glide__bullet + .glide__bullet {
	background:#C5B494;
}

.glide__bullets .label {
	margin-left:20px;
}

.glide__bullets {
    position: absolute;
    padding: 1.5vw 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.glide__bullet {
	width: 12px;
    height: 12px;
    border-radius: 50px;
    border: none;
	margin: 0 3px;
	pointer-events:all;
}

.glide__bullet--active {
	background:#9A825C;
}



#starsTitle + .pic {
	margin-top:-3.4vw;
}

#starsTitle {
	z-index:2;
}

#flowerPattern {
	position: absolute;
    top: 0;
    z-index: -1;
	opacity: 0.8;
    height: 150vw;
	-webkit-mask-image: linear-gradient(transparent 0%, black 15%, black 85%, transparent 100%);
	mask-image: linear-gradient(transparent 0%, black 15%, black 85%, transparent 100%);
}

#flowerPattern img {
	will-change:transform;
}

#salviaPattern {
    position: absolute;
    top: 100vh;
    z-index: -1;
    opacity: .8;
    height: 53%;
    background: rgba(194, 203, 193, 0.7);
}

#salviaPattern img {
	will-change:transform;
}

#roomsOverlay {
	position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
	pointer-events:none;
}

#roomsOverlay.visible {
	pointer-events:all;
}

.overlaySection {
	width: 85vw;
    height: calc(100vh - 10vh);
    position: absolute;
    left: 7.5vw;
    top: 5vh;
    box-sizing: border-box;
    overflow: auto;
    transform: scale(0.98);
    opacity: 0;
    pointer-events: none;
}

.overlaySection.show {
	transform:scale(1);
	opacity:1;
	pointer-events:all;
	visibility:visible;
}

.overlayPanel {
	width: 100%;
    padding: 2.5vw 5vw;
    box-sizing: border-box;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.overlayContent {
	margin-top:2.75vw; 
}


.smallLogo {
	width: 2.5vw;
}

.overlayBackground {
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  
}

.overlayBackground.show  {
	background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(20px);
}


#roomsOverlay .left .frame {

}

.overlayInfo {
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 2.5vw;
    box-sizing: border-box;
    
}

.svgButton {
	width: 15vw;
    height: 2.6vw;
    min-height: 60px;
    min-width: 310px;
}

.svgButton svg {
	position: absolute;
    top: 3px;
    left: 0;
    width: 100%;
    display: block;
}

.frame {
	position: absolute;
    top: -0.85vw;
}

@media all and (max-width:1680px){
	.frame {
		display:none;
	}
}

.itemlist:before {
	background-image:
}

#roomsOverlay .itemLists {
		gap:1rem;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	#serviziPremium {
		padding-left: 15px;
	}

#serviziPremium.itemLists {
	display: grid;
	gap: 1rem;
	@media all and (min-width:1280px) {
		gap: 1rem 4rem;
		grid-auto-flow: column dense;
		grid-template: repeat(3, 1fr) / repeat(3, 1fr);
	}
}

.itemList span svg {
	position: absolute;
    left: -12px;
    top: 2px;
}

.beLink {
	min-width: 297px;
    min-height: 57px;
    width: 14.5vw;
    height: 2.8vw;
	display:none;
}

.beLink svg {
	position: absolute;
    width: 100%;
    height: 100%;
    top: 2.5px;
}

.picSlider .glide__arrows {
	bottom: calc((5vw - 2.75vw) / 2);
    width: calc(100% - 2.5vw);
    left: 1.25vw;
}

.picSlider .glide__bullets {
	bottom: calc((5vw - 13px) / 2);
	padding:0;
}

#form .smallTypography {
	position: absolute;
}


.formContainer, .formPic {
	width:85vw;
	max-width:980px;
}

.formContainer {
    padding: 2.5vw;
    box-sizing: border-box;
}

.formPic {
	margin-top: -10vw;
    position: relative;
    top: 12.5vw;
    border-radius: 5px;
}

.formPic img {
    margin: 1.25vw;
    width: calc(100% - 2.5vw);
    opacity: 0.8;
    border-radius: 10px;
	height: calc(100% - 2.5vw);
}

.formSeparator {
	position: absolute;
    width: 15%;
	top: 145px;
    left: 44%;
    opacity: 0.4;
    transform: rotateY(180deg);
}

.formSeparator:before {
	content: '';
    height: 96px;
    display: block;
    width: 1px;
    background: rgba(117, 147, 169, 1);
    margin-left: 63%;
    margin-bottom: 15px;
}

.formSeparator:after {
	content: '';
    height: 96px;
    display: block;
    width: 1px;
    background: rgba(117, 147, 169, 1);
    margin-left: 63%;
    margin-top: 15px;
}

.stamp {
	width: 100px;
    position: absolute;
    right: 2.5vw;
    top: 2.5vw;
}

/******* FORM *********/

#form .wpforms-container {
	margin-left: 59%;
    margin-top: 140px;
	margin-bottom:0;
	
}

.wpforms-container .wpforms-datepicker-wrap .wpforms-field-medium+.wpforms-datepicker-clear {
    right: 0 !important;
}

.wpforms-confirmation-container  {
    margin-left: -144%;
    width: 120%;
    margin-top: -3.5vw;
    font-family: Sogo;
    font-weight: 400;
    font-size: .95vw;
    line-height: 1.75vw;
	color:rgba(84,69,47,1);
}

#newsletterForm .wpforms-confirmation-container {
	    margin-left: auto;
    margin-top: 3vw;
    margin-right: auto;
    color: #FFFFFF;
    text-align: center;
    width: 50%;
    min-height: 7.5vw;
}

.wpforms-field-container {
	display:flex;
	flex-wrap:wrap;
}

.wpforms-container .wpforms-field:not(.wpforms-field-textarea) {
  width:47%;
}

.wpforms-container .wpforms-field.full {
	width:100%;
}


.wpforms-field-gdpr-checkbox li {
	display:flex;
}

.wpforms-container input[type=date], .wpforms-container input[type=datetime], .wpforms-container input[type=datetime-local], .wpforms-container input[type=email], .wpforms-container input[type=month], .wpforms-container input[type=number], .wpforms-container input[type=password], .wpforms-container input[type=range], .wpforms-container input[type=search], .wpforms-container input[type=tel], .wpforms-container input[type=text], .wpforms-container input[type=time], .wpforms-container input[type=url], .wpforms-container input[type=week], .wpforms-container select, .wpforms-container input[type=date], .wpforms-container input[type=datetime], .wpforms-container input[type=datetime-local], .wpforms-container input[type=email], .wpforms-container input[type=month], .wpforms-container input[type=number], .wpforms-container input[type=password], .wpforms-container input[type=range], .wpforms-container input[type=search], .wpforms-container input[type=tel], .wpforms-container input[type=text], .wpforms-container input[type=time], .wpforms-container input[type=url], .wpforms-container input[type=week], .wpforms-container select, .wpforms-container textarea, .wpforms-field-radio ul li label {  
	background: none;
	border: none;
	border-bottom: 1px solid rgba(117, 147, 169, 1);
	color:rgba(67, 74, 73, 1);
	margin-top: 5px;
	height: 33px;
	font-weight: 300 !important;
	font-size: 13px;
    line-height: 32px;
    letter-spacing: .13em;
	font-family: Montserrat !important;
	max-width: none !important;
}

.wpforms-field-textarea {
	width: 35%;
    position: absolute !important;
    left: 5.5%;
	top: 204px;
	padding:0 !important;
}

.wpforms-container textarea {
	border: 1px solid rgba(117, 147, 169, 1);
    padding: 10px;
    height: 287px !important;
    resize: none !important;
}

.wpforms-container .wpforms-field-label, .wp-core-ui div.wpforms-container .wpforms-field-label {
	font-weight: 400 !important;
	font-size: 14px;
    line-height: 28px;
    letter-spacing: .13em;
	font-family: Montserrat !important;
}

.wpforms-field-label-inline {
    margin-top: 2px;
    font-weight: 300 !important;
    font-size: 10px;
    line-height: 18px;
    font-family: Montserrat !important;
    max-width: none !important;
}

.wpforms-field-radio {
	margin-top:40px;
}

.wpforms-container .wpforms-field-description {
	font-weight: 300 !important;
	font-size: 12px !important;
    line-height: 24px !important;
    letter-spacing: .13em;
	font-family: Montserrat !important;
}

.wpforms-field-radio ul li label {  
    border-bottom: none;
    top: -2px;
    position: relative;
}

.wpforms-container .wpforms-field.full {
	width:100%;
}

.wpforms-field-container, .wpforms-page {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.wpforms-container .wpforms-field input.wpforms-error, .wpforms-container .wpforms-field input.user-invalid, .wpforms-container .wpforms-field textarea.wpforms-error, .wpforms-container .wpforms-field textarea.user-invalid, .wpforms-container .wpforms-field select.wpforms-error, .wpforms-container .wpforms-field select.user-invalid {
	border: none !important;
    border-bottom: 1px solid #D63637 !important;
}

.wpforms-container label.wpforms-error, .wpforms-container em.wpforms-error {
    display: block;
    color: #D63637;
    font-size: 0.9em;
    font-style: normal;
    cursor: default;
    min-width: 120px;
}

.wpforms-container label.wpforms-error, .wpforms-container em.wpforms-error {
    font-size: 10px !important;
    margin-top: 3px;
    font-family: 'Montserrat';
}



.wpforms-submit {
	cursor: pointer;
    background: none;
    background-image: url(assets/svg/send.svg);
    background-repeat: no-repeat;
    background-position: 50% 60%;
    background-size: contain;
    border: none;
    width: 150px;
    height: 60px;
    padding: 0;
    font-family: 'Montserrat';
    font-weight: 350;
    font-size: 12px;
    letter-spacing: .03em;
    text-transform: uppercase;
	    color: rgba(84, 69, 47, 1);
}

.wpforms-container .wpforms-submit-container {
	display:flex;
	justify-content: center;
}


.wpforms-container .wpforms-field-label {
	font-weight:400;
}

#newsletterContainer {
	position: relative;
    top: 14px;
}


#newsletterForm .wpforms-container input[type=email] {
	border-bottom:1px solid #FFFFFF;
	color:#FFFFFF;
	text-align:center;
}

#newsletterForm .wpforms-submit-container {
margin-top: 15px;
}

#newsletterForm .wpforms-submit {
	padding-right: 20px;
}

#newsletterForm .wpforms-container input[type=email]::placeholder {
	color:#FFFFFF;
	text-align:center;
}

#newsletterForm li {
	display:flex;
}

#newsletterForm  .wpforms-field-label-inline {
	font-weight: 300 !important;
    font-size: 12px;
    line-height: 24px;
    font-family: Montserrat !important;
    color: #FFFFFF;
    position: relative;
    top: -2px;
}

#newsletterForm .wpforms-field-gdpr-checkbox {
	width: 100%;
}

#newsletterForm .wpforms-submit {
   
}


#newsletterForm .wpforms-container {
	max-width: 500px;
    margin-left: auto;
    margin-right: auto;
	margin-bottom: 0;
}

#newsletterForm .wpforms-field-email label.wpforms-error, #newsletterForm .wpforms-field-email em.wpforms-error {
	text-align:center;
}

.wpforms-field-gdpr-checkbox label.wpforms-error, .wpforms-field-gdpr-checkbox em.wpforms-error {
	margin-left:25px;
}




.overlayClose {
	position: absolute;
    width: 38px;
    height: 38px;
    right: 25px;
    top: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1;
}

.overlayClose .circlePath {
    width: 38px;
    height: 38px;
    transform: none;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
}



.show .circlePath {
    transform: scale(1);
    opacity: 1;
}

.circlePath {
    width: 38px;
    height: 38px;
    transform: scale(.5);
    opacity: 0;
}

.overlayClose .circlePath circle {
    stroke-dasharray: 125px;
    stroke-dashoffset: 125px;
}

.overlayClose .fillColor {
	stroke: rgb(81, 90, 94);
}

.show .overlayClose .circlePath circle, .show.overlayClose .circlePath circle {
    stroke-dashoffset: 0;
}

.overlayCloseInner:before {
    content: '';
    width: 12px;
    height: 1px;
    background: rgb(81, 90, 94);
    position: absolute;
    transform: rotate(45deg);
    transform-origin: top left;
    left: 0;
}

.overlayCloseInner:after {
    content: '';
    width: 12px;
    height: 1px;
    background: rgb(81, 90, 94);
    position: absolute;
    transform: rotate(-45deg);
    transform-origin: top right;
    right: 0;
}

.overlayCloseInner {
    width: 8px;
    height: 8px;
    position: relative;
    transform: scale(0);
}

.show .overlayCloseInner {
    transform: scale(1);
}

footer {
	padding-top: 13.75vw;
}

footer  .left, footer   .right  {
	width: 23%;
}



#newsletterSub {
    font-weight: 300 !important;
    font-size: 13px;
    line-height: 17px;
    font-family: Montserrat !important;
    max-width: none !important;
}

#starry {
	position: absolute;
    top: 50vh;
    height: 100vh;
    width: 100%;
}




/********************/

@media all and (max-width:1600px) {

	

	.paragrafo {
		font-size: 1.1vw;
		line-height: 1.9vw;
	}
}

@media all and (max-width:1440px) {

	.label, .button .label {
		font-size: 14px;
        line-height: 25px;
	}

	

	#roomsOverlay .itemLists {
		gap: 0.5rem 2rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.testoSchede {
		font-size: 13px;
        line-height: 22px;
		
	}	
	
}

@media all and (max-width:768px) {
	#bookNow {
		position: fixed;
		top: calc(100dvh - 80px);
		left: calc(50% - 95px);
	}

	#bookNow.hidden {
		transform:translateY(10px);
		opacity:0;
	}

	#mainLogo {
		width: 110px;
		position: absolute;
		left: auto;
		right: 15px;
		top: 17px;
	}

	#logoText {
		font-size: 105px;
	}

	#scrollDown {
        bottom: 85px;
    }

	#scrollDown .note {
        font-size:13px;
    }

	.half_top_translated{
		transform:translateY(101%);
	}

	header {
		/*display:none;*/
		align-items:flex-start;
		height:60px;
		padding: 0 15px;
		overflow: hidden;
		transition: height 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000), transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
	}

	header.opened {
		overflow: visible;
		height: 260px;
		background: rgba(252, 252, 250, 0.98);
		box-shadow: 0 12px 24px -12px rgba(60, 50, 35, 0.18);
	}

	#menuController {
		        position: absolute;
        top: 0px;
        padding: 24px 15px;
        left: 0px;
		pointer-events: all;
		width: 32px;
		height: 60px;
		box-sizing: border-box;
	}

	#menuController .line {
			width: 22px;
			height: 1.5px;
			background: #54452F;
			margin-top: 6px;
			transform-origin: center;
			transition: transform 400ms cubic-bezier(0.19,1,0.22,1), opacity 300ms ease, margin 300ms ease;
	}

	#menuController .line:first-child {
		margin-top:0;
	}

	header.opened #menuController .line._1 {
		transform: translateY(7.5px) rotate(45deg);
	}

	header.opened #menuController .line._2 {
		opacity: 0;
	}

	header.opened #menuController .line._3 {
		transform: translateY(-7.5px) rotate(-45deg);
	}

	#headerLeft {
		width: 100%;
        padding: 0;
		pointer-events:none;
	}

	#headerRight {
		display: none;
	}

	.mobileOnlyButton {
		display: block;
	}

	#headerLeft .barButtonContainer {
		margin-top: 92px;
		width: 100%;
		text-align: center;
		align-items: center;
		gap: 4px;
	}

	header.opened #headerLeft  {
		pointer-events:all;
	}


	.barButton {
		margin: 10px 0;
		font-size: 15px;
		letter-spacing: 0.12em;
	}

	.w1,.w2,.w3,.w4,.w5,.w6,.w7,.w7h,.w8,.w8h,.w9,.w9h,.w10,.w10h,.w13h,.w11,.w11h,.w12,.w13,.w14,.w15,.w16 {
		width:100%;
	}

	.margin {
		margin-top:15px;
	}

	.doubleMargin {
		margin-top:30px;
	}

	.tripleMargin {
		margin-top:45px;
	}

	.quadMargin {
		margin-top:60px;
	}

	.midContainer,  .largeContainer, .mainContainer {
		width: calc(100% - 30px);
		margin-left: auto;
		margin-right: auto;
	}



	.flex {
		flex-direction:column;
	}

	.flex .left, .flex .right {
		width:100%;
	}

	.pic:not(.svg.pic, .itemSlider .pic) {
		height: 65vw;
	}

	.bottomPadded {
		padding-bottom: 15px;
	}

	.topPadded {
		padding-top:15px;
	}

	.moreTopPadded {
		padding-top:45px;
	}

	.moreBottomPadded {
		padding-bottom:45px;
	}

	.doubleTopPadded {
		padding-top:60px;
	} 

	.doubleBottomPadded {
		padding-bottom:60px;
	}


	article {
		overflow:hidden;
	}

	body {
		overflow:auto;
	}

	.bigTypography {
		font-size: 27px;
		line-height: 47px;
	}

	.paragrafo {
		font-size: 16px;
    line-height: 28px;
	text-align:justify;
	}



	.brush.gold {
		margin-top: -30px;
		margin-left: -50px;
	}

	.svg.pic {
		margin-top: -70px;
	}

	.titleComposit {
		width:80%;
	}

	.titleComposit .textBlock {
		left: 0;
		top: 0;
		position: relative;
		width: 100%;
		transform: none !important;
		margin-top: 40px;
		width: calc(100vw - 30px);
		height: auto;
	}

	.titleComposit .textBlock .paragrafo:first-child {
		text-align:center;
	}

	.textBlock .paragrafo + .paragrafo {
		margin-top:20px;
	}

	.copy {
		font-size: 25px;
		line-height: 41px;
	}

	.copy + .paragrafo {
		margin-top:45px;
	}

	#homeRooms .midContainer.spaceBetween .right .paragrafo {
		margin-top:45px;
	}

	#homeRooms .right .pic, .row.restaurant + .row  {
		margin-top:45px;
	}

	#welcome .titleSvg {
		width:85%;
	}

	#rooms .titleSvg {
		width:125%;
	}

	#form .titleSvg {
		padding: 0 15px;
    	box-sizing: border-box;
	}

	#flowerBackground {
        left: -10px;
        top: -75px;
        opacity: 0.6;
    }

	#homeRooms .itemSlider {
		padding: 0 15px;
		height:90vw;
	}

	.itemSlider .button {
		margin-bottom: 15px;
		z-index: 2;
	}

	#dining .titleSvg, #spa .titleSvg {
		margin-top: 0;
		width:80%;
	}

	#dining .svg.pic, #spa .svg.pic{
		margin-top:0;
	}

	#homeRooms .itemLayer {
	height:90vw;
	}

	#homeRooms .itemLayer:before {
		height: 72px;
	}

	#roomsOverlay .itemLists {
        display: block;
	}

	#homeRooms .fullContainer:last-child {
		margin-top:95px;
	}

	.picSlider .itemLayer {
		height:60vw;
	}

	.glide__arrows {
		flex-direction: row;
		padding: 0 15px;
		bottom: 17px;
	}

	.glide__arrow {
		min-height:35px;
	}

	#homeRooms .glide__bullets {
		right: 15px;
		padding: 7.5px 0;
	}

	#homeRooms .glide__bullet--active + .glide__bullet, #homeRooms .glide__bullet--active + .glide__bullet + .glide__bullet {
		background: #FFFFFF;
	}


	



	#flowerPattern {
		height: 200vh;
	}

	#flowerPattern img {
		width:100%;
		height:100%;
		object-fit:cover;
	}

	.row > div, .row .textBlock {
		width:100%;
	}

	#homeDining {
		padding-bottom:60px;
	}

	#homeDining .row:last-child .left {
		order:1;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	#homeDining .row:last-child .pic {

	width: calc(50% - 7.5px);
	}

	.row.restaurant .textBlock {
		margin: 0;
    margin-top: 45px;
	}

		#homeDining .largeContainer , .row.stars, #homeDining .midContainer.stars .textBlock.w10 {
margin-top:60px;
	}
		

	#starsTitle {
		width: calc(100% - 30px);
	}

	#starsTitle + .pic {
		width: 100%;
		margin-top: -7.5%;
	}

	.stars {
		margin-top:60px;
	}

	.stars .svg.pic {
		margin-top:0;

	}

	.row.restaurant + .row .pic {
		order:0;
		margin-left:0;
	}

	.row.restaurant + .row .textBlock {
		order:1;
		margin-top:45px;
	}


	.fullPage {
		min-height: 50vh;
	}

	#starry {
		top: 120vw;
    	height: 75vh;
	}

	

	#form {
		padding-top: 15px;
	}

	#form .smallTypography {
		position: relative;
		width:50%;
	}

	#form .formContainer {
		width: calc(100% - 15px);
		/* margin-top: 0px; */
		padding: 15px;
	}

	.formPic {
		width: calc(100% - 15px);
	}

	.smallTypography.fixed, .smallTypography {
		font-size: 22px;
		line-height: 32px;
	}

	#form .wpforms-container {
		width: calc(100% - 15px);
		margin:0;
		margin-top: 70px;
	}

	.wpforms-container .wpforms-field:not(.wpforms-field-textarea) {
		width: 100%;
	}

	.wpforms-field-textarea {
		width: 100%;
		position: relative !important;
		left: 0;
		top: 0;
		margin-top: 30px;
	}

	.wpforms-container textarea {
		
		height: 160px !important;
	}

	.wpforms-confirmation-container {
	    width: 65%;
    margin-top: -40px;
    font-size: 16px;
    line-height: 28px;
	margin-left: 0;
	}

	#footerContacts {
		
		margin-top: 15px;
	}

	footer {
		padding-bottom: 110px !important;
	}

	footer .fullContainer {
		padding: 0 15px;
		box-sizing:border-box;
	}

	footer .fullContainer:last-child {
		margin-top: 60px;
	}

	footer .left {
		order:2;
		padding:0;
	}

	footer .center {
		order:0;
	}

	footer .right {
		order:1;
		padding:0;
	}

	#newsletterSub {
		
		line-height: 25px;
		margin-top:15px;
		
	}

	#newsletterForm .wpforms-confirmation-container {
		margin-top:40px;
		width:90%;
	}

	#socialBox {
		width: 100%;
		margin-top: 60px;
	
	}

	#footerInfo {
		width: 100%;
		margin-top: 30px;
		text-align: center;
	}

	.footerButtons {
		text-align: center;
		margin-top: 60px;
	}

	#salviaPattern {
		    top: 65vw;
    	height: 82%;
	}

	#salviaPattern img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	}



	/******* OVERLAY ************/

	.smallLogo {
		width: 40px;
	}
	.beLink {
		min-width: 0;
    min-height: 0;
	height: 50px;
	width: 250px;
	margin-top:25px;
	}

	.beLink .label {
		font-size:13px;
	}

	.overlayInfo .titoloSchede {
		text-align: left;
	}

	.overlayContent {
		margin-top:30px;
	}

	.overlayContent .left {
		margin-top:30px;
		order:1;
	}

	.titoloSchede {
		font-size: 20px;
		line-height: 30px;
	}

	.note {
		font-size: 13px;
		line-height: 20px;
	}

	.overlayClose {
		top:15px;
		right:15px;
	}

	.overlayPanel {
		padding: 15px;
		padding-bottom: 30px;
	}

	.picSlider .glide__bullets {
		bottom:20px;
	}

	#homeRooms .right .pic {
		height:80vw;
	}

	.overlaySection {
		width: 85vw;
		height: calc(100dvh - 10dvh);
	}

	.itemLayer:before {
		height: 50px;
	}

	.overlayPanel .paragrafo {
		display:block;
	}

	#audioPlayer {
		top: 5px;
        right: 100px;
        background: none;
        left: auto;
	}

	#audioPlayer svg path {
		fill:rgba(84,69,47,1);
	}
}