/* ---------- FONTS ---------- */

@font-face {
	font-family: 'Fractul';
	src: url('../fonts/Fractul-Regular.woff2') format('woff2'),
		url('../fonts/Fractul-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Fractul';
	src: url('../fonts/Fractul-ExtraBold.woff2') format('woff2'),
		url('../fonts/Fractul-ExtraBold.woff') format('woff');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

/* VARIABILI */
:root {
	/* FONT */
	--font-family: 'Fractul';
	--bold: 'Fractul';
	--font-regular: 400;
	--font-bold: 800;
	--p: 1rem;
	--pLH: 1.3rem;
	/* TITLES */
	--h1: 2.4rem;
	--h1LH: 2.611rem;
	--h2: 1.286rem;
	--h2LH: 1.5rem;
	/* COLORS */
	--white: #ffffff;
	--primary: #e5b527;
	--text: black;
	--bck-light: #d4d4d4;
	--bck-dark: #3a2527;
	--link-hover: #86938b;
	--error: #bd5a42;
	/* GLOBAL */
	--space: 80px;
	--transition: all .5s;
	--pdg: 5%;
	--pdg-big: 10%;
	--pdg-small: 2%;
}

html,
body {
	font-family: var(--font-family);
	font-weight: 300;
	font-style: normal;
	font-size: 18px;
	line-height: 24px;
	font-optical-sizing: auto;
	color: var(--text);
	
	text-rendering: geometricprecision;
}

/* TEXT */

p {
	font-family: var(--font-family);
	font-size: var(--p);
	line-height: var(--pLH);
	font-weight: var(--font-regular);
	
	color: var(--bck-dark);
}

h1,
.h1 {
	font-family: var(--font-title);
	font-weight: 600;
	font-style: normal;
	font-size: var(--h1);
	line-height: var(--h1LH);
	/*text-transform: uppercase;*/
	color: var(--text);
	letter-spacing: 1px;
	margin-top: 0;
	margin-bottom: 40px;
	clear: both;
	text-rendering: geometricprecision;
}

h2,
.h2 {
	font-family: var(--font-family);
	font-size: var(--p);
	line-height: var(--pLH);
	color: var(--text);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: calc(var(--space) / 2);
}

h2.h1 {
	text-transform: uppercase;
}

h3,
.h3 {
	font-family: var(--font-family);
	font-style: italic;
	font-size: 1.111rem;
	line-height: 1.2;
	font-weight: 700;
	color: var(--text);
	letter-spacing: 1px;
	margin: 0;
}

a {
	color: var(--bck-dark);
}

a:hover {
	text-decoration: none;
}


ol,
ul {
	margin: 0;
	padding-left: 0;
	list-style-type: none;
}

em {
	color: var(--text);
}

.small {
	font-size: 0.889rem;
}

b,
strong {
	font-family: var(--font-family);
	font-weight: var(--font-bold);
}

/* LINKS */

.link-tel {
	position: relative;
	padding-bottom: 0;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--font-family);
	font-weight: 600;
	padding-left: 70px;
	transition: all .5s;
}

.link-tel:after {
	content: url(../images/tel-bianco.svg);
	width: 70px;
	position: absolute;
	left: 0;
	top: -17px;
	transition: .5s;
	transform-origin: left;
	animation: pulse 1s ease-in-out infinite both;
}

@keyframes pulse {
	0% {
	  transform: scale(1) rotate(0);
	}
	50% {
	  transform: scale(1.05) rotate(-2deg);
	}
	100% {
	  transform: scale(1) rotate(0);
	}
  }

.link-tel:hover:after{
	width: 0;
	top: -10px;
}

.link-tel:hover {
	padding-left: 0px;
	color: var(--white);
}



.btn-white {
	text-transform: uppercase;
	font-weight: 600;
	border: solid 1px var(--white);
	color: var(--white);
	padding: 15px;
	line-height: 1;
	position: relative;
	text-align: center;
}

.btn-white:hover {
	color: var(--white);
	background: var(--primary);
	border: solid 1px var(--primary);
}

.btn,
.btn-booking,
.pos-download-menu>a {
	text-transform: uppercase;
	padding: 15px;
	line-height: 1;
	position: relative;
	display: inline-block;
	background: var(--primary);
	border: solid 1px var(--primary);
	color: var(--white);
	text-align: center;
}

.btn:hover,
.btn-booking:hover,
.pos-download-menu>a:hover {
	background: var(--link-hover);
	border: solid 1px var(--link-hover);
	color: var(--white);
}

/* COLORS */
.white {
	color: var(--white);
}

.text {
	color: var(--text);
}

.primary {
	color: var(--primary);
}

.bck-white {
	background-color: var(--white);
}

.bck-light {
	background-color: var(--bck-light);
}

.bck-dark {
	background-color: var(--bck-dark);
}


/* MARGINS */

.pad-y {
	padding-top: var(--space);
	padding-bottom: var(--space);
}

.pad-y-t {
	padding-top: var(--space);
}

.pad-y-b {
	padding-bottom: var(--space);
}

.pad-y-h {
	padding-top: calc(var(--space) / 2);
	padding-bottom: calc(var(--space) / 2);
}

.pad-y-h-t {
	padding-top: calc(var(--space) / 2);
}

.pad-y-h-b {
	padding-bottom: calc(var(--space) / 2);
}

.mar-y {
	margin-top: var(--space);
	margin-bottom: var(--space);
}

.mar-y-t {
	margin-top: var(--space);
}

.mar-y-b {
	margin-bottom: var(--space);
}

.mar-y-h {
	margin-top: calc(var(--space) / 2);
	margin-bottom: calc(var(--space) / 2);
}

.mar-y-h-t {
	margin-top: calc(var(--space) / 2);
}

.mar-y-h-b {
	margin-bottom: calc(var(--space) / 2);
}

/* #region LANDING */

#landing .slider-header-container video {
	width: 100%;
	aspect-ratio: 1 / 1;
	max-height: 100vh;
	object-fit: cover;
}

#landing .logo {
	width: 300px;
	display: inline-block;
	margin-top: 30px;
}

#landing header>.uk-sticky .logo-small {
	width: 180px;
	display: none;
	margin: 0 auto;
}

#landing header {
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	background-image: linear-gradient(to bottom,
			rgba(0, 0, 0, 0.65),
			rgba(0, 0, 0, 0));
	z-index: 10;
}

#landing header>.uk-sticky>.uk-container {
	padding-left: 0;
	padding-right: 0;
}

#landing header>.uk-sticky {
	padding: 25px;
}

#landing header>.uk-sticky.barra-fixed {
	padding: 15px 25px;
	background: var(--text);
	box-shadow: 0 2px 17px rgba(0, 0, 0, .15);
}

#landing header>.uk-sticky.barra-fixed .logo {
	display: none;
}

#landing header>.uk-sticky.barra-fixed .logo-small {
	display: block;
}

#landing header .book {
	text-align: right;
}

#landing .switcher-landing {
	margin-left: 15px
}

#landing .mod_languages-toggle {
	font-weight: 800;
	letter-spacing: 2px;
	position: relative;
	color: var(--white);
	font-size: .8rem;
	padding: 5px;
	width: 50px;
}

#landing .switcher-landing .uk-dropdown {
	width: calc(var(--space) / 2);
	min-width: unset;
	padding: 5px 0 0;
	background: var(--white);
	color: var(--text);
	text-align: center;
}

#landing .uk-dropdown-nav>li>a {
	display: block;
}

#landing .uk-dropdown-nav>li.uk-active>a {
	font-weight: 500;
}

#landing .uk-dropdown-nav>li>a:hover {
	color: var(--primary);
}

#landing .mod_languages-toggle::after {
	content: url(../images/icon-angle-down.svg);
	display: inline-block;
	width: 9px;
	position: relative;
	top: -2px;
}

#landing header .uk-slideshow-items {
	width: 100%;
	height: 100vh;
	max-height: 1280px;
}

#landing header .uk-slideshow-items li img {
	width: 100%;
	height: 100vh;
	max-height: 1280px;
	object-fit: cover;
	object-position: center;
}

#landing .intro-container {
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	background-image: linear-gradient(to top,
			rgba(0, 0, 0, 0.2),
			rgba(0, 0, 0, 0));
	z-index: 1;
	padding: 500px 0 var(--space);
	color: var(--white);
	pointer-events: none;
}

#landing .intro-container .h1 {
	/*max-width: 600px;*/
	margin: 0 auto;
}

#landing .intro-container .img-container img {
	width: 100%;
	height: 100%;
	max-height: calc(100% - 70px);
	object-fit: cover;
	object-position: center;
}

#landing .text-block {
	padding-top: var(--space);
	padding-bottom: var(--space);
	padding-left: 5vw;
	padding-right: 5vw;
	background: var(--bck-light);
}

#landing .services-container {
	background: var(--primary);
	color: var(--text);
}

#landing .services-container .icon>img {
	width: 60px;
	height: 60px;
	margin: 0 auto 25px;
}

#landing .services-container .h2 {
	margin-bottom: 5px;
	color: var(--white);
}

.omni-container a img {
	width: 70px;
}

#landing .gallery-container .uk-slider-container>ul>li,
#landing .gallery-container .uk-slider-container>ul>li>.uk-panel {
	height: auto !important;
	aspect-ratio: 1 / 1;
}

#landing .gallery-container .uk-slider-container>ul>li>.uk-panel:hover .uk-transition-fade {
	opacity: 0 !important;
}

#landing .map-container .main-text p,
#landing .menu-container .main-text p {
	max-width: 500px;
}

#landing .main-container .main-img {
	height: calc(100vh - 80px);
	max-height: 800px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

#landing .main-container .text-block {
	padding-left: 20vw;
	padding-right: 5vw;
}

#landing .map-container .text-block,
#landing .menu-container .text-block {
	padding-left: 5vw;
	padding-right: 20vw;
}

.com-content-category-blog__items .main-container .text-block {
	padding-left: 25px !important;
	padding-right: 25px !important;
}

#landing .map-container .text-container,
#landing .menu-container .text-container {
	max-width: 500px;
}

#landing .map-container .text-container p:last-child,
#landing .map-container .text-container p:last-child {
	margin-bottom: 0;
}

#landing .map-container .img-container,
#landing .menu-container .img-container {
	text-align: right;
	background: var(--bck-light);
	height: 100%;
}

#landing .map-container .img-container img,
#landing .menu-container .img-container img {
	width: 100%;
	height: 100%;
	max-height: 1080px;
	object-fit: cover;
	object-position: left;
}

#landing .photo-pre-footer-container img {
	width: 100%;
	height: calc(100vh - 70px);
	max-height: 1080px;
	object-fit: cover;
	object-position: center;
}

#landing .form-container {
	background: var(--bck-dark);
}

#landing .form-container form fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

#landing .uk-input,
#landing .uk-select,
#landing .uk-textarea,
#landing input {
	border: 0 none;
	background: #E9E7E4;
	color: var(--text);
	border: none;
	font-weight: 400;
}

#landing form button[type="submit"] {
	text-transform: uppercase;
    background: var(--primary);
    color: var(--text);
    display: inline-block;
    width: fit-content;
    margin: 20px auto 0;
    font-size: 1.1rem;
    line-height: 1;
    font-family: var(--font-family);
    letter-spacing: 0px;
    font-weight: 600;
    padding: 15px;
}

#landing form button[type="submit"]:hover {
	color: var(--primary);
	background: var(--white);
}

.rsform-block-invia {
    text-align: center;
}

#landing form .privacy {
	text-align: right;
}

#landing form label {
	color: var(--white);
}

#landing form label a {
	color: var(--white);
}

#landing form label a:hover {
	color: var(--white);
	text-decoration: underline;
}

#landing form textarea {
	height: 190px;
}

#landing .form .newsletter-thankyou * {
	text-align: center;
	color: var(--white);
}

#landing footer .social-container svg {
	width: 30px;
}


#landing footer .social-container>a:not(:last-child) {
	margin-right: 15px;
}

#landing footer .numbers>a:not(:last-child) {
	margin-right: 15px;
}

#landing footer a {
	font-weight: 500;
}

#landing footer a:hover,
#landing footer a:hover svg,
#landing footer a:hover span,
#landing footer a:hover strong {
	color: var(--link-hover) !important;
	text-decoration: none;
}

#landing .uk-scope .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within),
#landing .uk-scope .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:focus-within,
#landing .uk-slidenav svg {
	width: 40px !important;
	height: 60px !important;
}

#landing .uk-scope .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within),
#landing .uk-scope .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:focus-within {
	margin: 15px !important;
}

#landing .uk-scope .uk-visible-toggle:not(:hover):not(:focus) .uk-position-center-right {
	right: 10px !important;
}

#landing .uk-scope .uk-visible-toggle:not(:hover):not(:focus) .uk-position-center-left {
	left: 10px !important;
}

#landing .uk-scope .uk-icon:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve) {
	stroke-width: .8px;
}

#landing .link-footer {
	font-weight: 400;
}

#landing .link-footer:hover {
	color: var(--primary);
}

/* CAMERE */

#landing .strutture-related::before {
	content: url(../images/plus.svg);
	position: absolute;
	bottom: 20px;
	padding: 10px;
	right: 20px;
	background: rgba(256, 256, 256, 0.3);
	color: #fff;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	text-align: center;
	line-height: 20px;
	z-index: 2;
}

#landing .strutture-related:hover::before {
	transform: scale(1.1);
}

#landing .strutture-related:hover::before {
	transform: scale(1.1);
}

#landing .strutture-related .pos-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: bottom !important;
	position: relative;
	transform: scale(1.35) !important; 
	transform-origin: bottom center;

}

#landing .link-modal-struttura .pos-info {
	z-index: 2;
}

#landing .link-modal-struttura .pos-image::before {
	content: '';
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .15);
	z-index: 1;
}

#landing .link-modal-struttura:hover .pos-image::before {
	background: rgba(0, 0, 0, 0);
}

#landing .link-modal-struttura .info,
.modal-struttura-landing .box-descrizione .info {
	line-height: 1;
}

.modal-struttura-landing .box-descrizione {
	padding: calc(var(--space) / 2) calc(var(--space) / 4);
}

.modal-struttura-landing .uk-close svg {
	width: 25px;
	height: 25px;
	color: var(--white);
}

.modal-struttura-landing .uk-slidenav svg {
	width: 25px !important;
}

.strutture {
	background-color: var(--primary);
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 4vh;
}

.strutture .uk-grid-small {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.uk-grid-small>* {
	padding-left: 5px;
	padding-right: 5px;
}


#camere .link-modal-struttura {
    display: block !important;
    overflow: hidden !important; 
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

#camere .link-modal-struttura img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease-out !important;
}

#camere .link-nodal-struttura:hover {
    transform: translateY(-4px) !important; /* Effetto hover */
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22) !important;
}

#camere .link-nodal-struttura:hover img {
    transform: scale(1.08) !important;
}

#camere .uk-position-z-index {
    z-index: 2 !important;
}

/* SLIDER PLUS */

#landing .slider-plus .uk-slideshow-items {
	height: 65vh !important;
	min-height: max(0px, 65vh) !important;
}

#landing .slider-plus .uk-slideshow-items li img {
	height: 65vh;
}

#landing .slider-plus .uk-overlay-primary {
	background: rgba(0, 0, 0, .15) !important;
}

#landing .slider-plus .uk-overlay {
	pointer-events: none;
}

#landing .strutture .info>div:not(:first-child) {
	margin-left: 10px;
}

/* OFFERTE */

#landing .titolo-offerte {
	margin-bottom: calc(var(--space)/2);
}

#landing .related-offerte {
	height: 100%;
	background: var(--bck-light);
}

#landing .related-offerte>a:hover {
	text-decoration: none;
	color: var(--text);
}

#landing .related-offerte {
	transition: all .5s;
}

#landing .related-offerte:hover {
	transform: scale(1.05);
}

#landing .related-offerte .pos-prezzo {
	border-bottom: 1px dashed;
	padding: 0 0 15px 0;
	margin-bottom: 15px;
}

#landing .related-offerte .pos-prezzo strong .prefix {
	font-weight: normal;
}

#landing .related-offerte .box-dettaglio {
	background: var(--bck-light);
	padding: calc(var(--space) / 2) 25px 0;
}

#landing .related-offerte .btn-modal,
.uk-modal-dialog .btn-modal {
	text-transform: uppercase;
	border: solid 1px var(--blue);
	color: var(--blue);
	padding: 10px 25px;
	line-height: 1;
	position: relative;
	display: inline-block;
	font-size: 13px;
	font-weight: bold;
	transition: all 0.3s ease;
}

#landing .related-offerte .btn-modal:hover {
	background: #e3ebf9;
	border-color: #e3ebf9;
}

#landing .related-offerte .pos-richiesta .btn-modal,
.uk-modal-dialog .pos-richiesta .btn-modal {
	background: var(--blue);
	color: #fff;
	margin-top: 10px;
}

#landing .related-offerte .pos-richiesta .btn-modal:hover {
	background: #fff;
	color: var(--blue);
	border-color: #fff;
}

#landing .related-offerte .btn-container {
	padding: 25px 25px calc(var(--space) / 2);
}

#landing .related-offerte .btn-container .btn-booking,
#landing .related-offerte .btn-container .btn-white {
	font-size: .8rem;
	padding: 15px 10px;
}

#landing .related-offerte .btn-container .btn-white {
	border: solid 1px var(--primary);
	color: var(--primary);
}

#landing .related-offerte .btn-container .btn-white:hover {
	border: solid 1px var(--primary);
	color: var(--white);
	background: var(--primary);
}

.modal-offerta-landing .uk-close svg {
	width: 25px;
	height: 25px;
	color: var(--text);
}

#landing .related-offerte .pos-titolo {
	font-size: 1.5rem;
	line-height: 1.1;
}

#landing .pos-validita .uk-icon {
	position: relative;
	top: -2px;
}

/* GLOBAL */

#landing .uk-container.main-container {
	max-width: 1920px;
	padding: 0;
}

#landing .main-container p:last-child {
	margin-bottom: 0;
}

.transition,
.transition:before,
.transition:after,
.btn,
.btn-white,
.btn-booking,
.pos-download-menu>a,
#landing footer a,
#landing footer a *,
#landing form button[type="submit"],
#landing footer .social-container a svg {
	transition: var(--transition);
	-webkit-transition: var(--transition);
	-moz-transition: var(--transition);
	-o-transition: var(--transition);
}

#landing .barra-mobi a {
	padding: 10px;
	line-height: 1em;
	font-family: var(--h1);
	font-weight: 700;
	text-transform: lowercase;
}

#landing .barra-mobi .write {
	background: var(--primary);
	color: var(--text);
}

#landing .barra-mobi .btn-booking,
#landing .barra-mobi .btn-booking:hover {
	border: none;
	background: var(--primary);
	color: var(--text);
}

#landing .barra-mobi .tel {
	background: var(--primary);
	color: var(--text);
	position: relative;
}

#landing .barra-mobi .tel:after{
	content: "";
	position: absolute;
	top: 15%;
	right: 0;
	width: 1px;
	height: 70%;
	background: var(--text);
}

.main-container.thx-page {
	background: var(--white);
}

/* MENU */

#landing .pos-download-menu {
	margin-bottom: -15px;
}

#landing .pos-download-menu>a {
	display: inline-block;
	margin-bottom: 15px;
}

#landing .pos-download-menu>a:not(:last-child) {
	margin-right: 15px;
}

/* ORARI */

#landing .orari-container .uk-table-striped tbody tr:nth-of-type(odd) {
	background: var(--bck-light);
	border-top: 1px solid var(--bck-light);
	border-bottom: 1px solid var(--bck-light);
}

#landing .orari-container .uk-table-striped tbody td {
	padding: 10px 10px;
	vertical-align: top;
}

#landing .orari-container .uk-table th {
	padding: 10px 10px;
	font-weight: 700;
	color: var(--text);
}

/* MAPPA */
#landing .pos-gogole-map,
#landing .pos-gogole-map iframe {
	width: 100%;
	height: 100%;
}

#landing .pos-gogole-map iframe {
	min-height: 500px;
}

#landing .pos-gogole-map::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary);
	mix-blend-mode: color;
	z-index: 1;
	pointer-events: none;
}

#landing .plus {
	line-height: 25px !important;
}

/* #endregion LANDING */

/* CSS Base */

.omni-container {
	text-align: center;
	padding: 12px 5px;
	background: #f7f7f7;
	color: var(--dark);
}

.omni-container a img {
	width: 80px;
	height: auto;
	margin-left: 5px;
}

.omni-container span {
	font-size: 16px;
}

.og-bar-mobile-fixed {

	position: fixed;
	bottom: 0;
	width: 100%;
	text-align: center;
	z-index: 99;
}

.rsform-error {
	border-color: var(--error) !important;
	/* background: var(--white) !important; */
	color: var(--error) !important;
	font-weight: bold !important;
}

.rsform-error::-webkit-input-placeholder {
	/* Chrome/Opera/Safari */
	color: var(--error) !important;
}

.rsform-error::-moz-placeholder {
	/* Firefox 19+ */
	color: var(--error) !important;
}

.rsform-error:-moz-placeholder {
	/* Firefox 18- */
	color: var(--error) !important;
}

.rsform-error::-ms-input-placeholder {
	/* Edge 12-18 */
	color: var(--error) !important;
}

.grecaptcha-badge {
	right: -300px !important;
}

.uk-checkbox,
.uk-radio {
	appearance: auto !important;
	-webkit-appearance: auto !important;
	-moz-appearance: auto !important;
}

.uk-input,
.uk-select,
.uk-select:not([multiple]):not([size]) {
	height: 50px;
}

.uk-input::placeholder,
.uk-textarea::placeholder {
	color: var(--text);
}

.layout-header,
.layout-header .og-video-browserplayer {
	height: 60vh;
}

.layout-header .og-video-browserplayer video {
	object-fit: cover;
	height: 60vh;
	width: 100%;
}

.pos-unpublish strong {
	font-size: 1.3rem;
}

.pos-unpublish svg {
	width: 50px;
	margin-bottom: 10px;
}

.pos-unpublish svg g path {
	fill: var(--error);
}

.pos-unpublish svg circle {
	fill: none;
	stroke: var(--error);
	stroke-width: 4;
}

.pos-unpublish svg>path {
	fill: none;
	stroke: var(--error);
	stroke-width: 4;
	stroke-dasharray: 28.27;
	stroke-dashoffset: 28.27;
}

.pos-unpublish svg>path.mouth-left {
	animation: drawLeftMouth 1.5s ease-out forwards infinite;
}

.pos-unpublish svg>path.mouth-right {
	animation: drawRightMouth 1.5s ease-out forwards infinite;
}

@keyframes drawLeftMouth {
	from {
		stroke-dashoffset: 28.27;
		/* Inizio dal centro */
	}

	to {
		stroke-dashoffset: 56.54;
		/* Completamento del sorriso a sinistra */
	}

}

@keyframes drawRightMouth {
	from {
		stroke-dashoffset: 28.27;
		/* Inizio dal centro */
	}

	to {
		stroke-dashoffset: 0;
		/* Completamento del sorriso a destra */
	}
}

/* CSS Base fine */


/* #region THX PAGE */

#landing .thx-page {
	position: relative;
	background-color: var(--bck-light);
}

#landing .thx-page .logo {
	width: 125px;
	display: inline-block;
}

#landing .thx-page>.uk-sticky {
	padding: 15px 25px;
	background: var(--bck-dark);
}

#landing .thx-page .book a.btn-white,
#landing .thx-page>.uk-sticky .logo,
.thx-page .barra-mobi .write {
	display: none;
}

#landing .thx-page>.uk-sticky .logo-small {
	display: block;
}

#landing .icon-check svg {
	width: 60px;
	color: #4c8076;
}

#landing .whatsapp {
	width: 60px;
	height: 60px;
	display: inline-block;
	position: fixed;
	bottom: 30px !important;
	right: 30px;
	cursor: pointer;
	text-align: center;
	line-height: 55px;
	background: #25d366;
	border-radius: 100%;
	box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, .3);
	color: var(--white);
	font-size: 30px;
	z-index: 4;
}

#landing .whatsapp:hover {
	color: var(--white);
	transform: scale(1.1);
}

#landing .whatsapp a {
	color: var(--white);
}

#landing .whatsapp svg {
	width: 25px;
	height: 25px;
}

#landing .whatsapp .uk-icon{
	margin: 13px 0 0 0;
}

.cl-land-base footer{
	background-color: var(--primary);
    color: var(--text);
}

footer {
	font-size: 0.8rem;
	line-height: 1rem;
	background-color: var(--bck-light);
    color: var(--text);
	padding-top: 25px;
	padding-bottom: 25px;
}



#landing .uk-slideshow-items,
#landing .uk-slideshow-items li,
#landing .uk-slideshow-items li img {
	width: 100%;
	height: 100vh;
	/* height: calc(100vh - 109px); */
	object-fit: cover;
	object-position: center;
}

#landing span.intro {
	width: 100% !important;
	font-family: var(--font-bold);
	color: var(--primary);
	font-weight: 800;
	font-size: 2.8rem;
	line-height: 2.3rem;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 18%;
	text-align: center;
}

#landing span.sottotitolo {
	font-family: var(--font-family);
	color: white;
	font-weight: 400;
	font-size: 1.8rem;
	letter-spacing: 2px;
}

.contacts-container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.contacts-container .numbers {
	display: flex;
	align-items: center;
	gap: 20px;
}


.contacts-container a {
	color: var(--bck-dark) !important;
	text-decoration: none;
	white-space: nowrap;
}

.cl-land-base #main, 
.cl-land-base #camere, 
.cl-land-base #posizione, 
.cl-land-base #gallery,
.cl-land-base .og-bar-mobile-fixed,
.cl-land-base #form-container,
.cl-land-base .link-tel,
.cl-land-base .btn-white {
    display: none;
}


/* Nuova landing inizio */

.block{
	display: block;
}

.big{
	font-size: 2em;
}

.min{
	font-size: 0.7em;
}

#servizi .description {
    font-size: 1em;
    line-height: 1.5em;
}

#servizi .title {
    font-size: 1.2em;
    line-height: 1.2em;
}

.pad-bot{
	padding-bottom: var(--pdg);
}

.w-tot {
    width: 80%;
    margin: var(--pdg) auto;
    text-align: center;
}

.footer-top span.h2 {
    display: block;
    font-size: 1.2em;
    margin-top: 10px;
}

.modal-struttura-landing .box-descrizione {
    background: var(--primary);
}

.modal-struttura-landing .mq{
	margin-bottom: 0;
}

.modal-struttura-landing .box-descrizione p{
    color: var(--text) !important;
}

.box-promo #fumetto, 
.box-promo #megafono path, 
.box-promo rect {
    fill: var(--text) !important;
}

.box-promo #megafono{
    animation: mega 4s linear infinite both;
}

@keyframes mega{
    50%{
        transform: rotate(-3deg)
    }
}

.box-promo #fumetto{
    animation: fum 2s linear infinite both;
}

@keyframes fum{
    50%{
        transform: rotate(3deg)
    }
}

.box-promo {
    padding-top: var(--pdg);
    border-top: 1px dashed var(--text);
}

.box-promo .h2 {
    font-size: 1.3em;
	margin-bottom: var(--pdg);
}

.box-promo p {
    margin: 0;
    font-size: 0.7em;
}

.box-promo p.note {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.75em;
    margin-top: 10px;
}

.box-promo .prz {
    font-size: 2em;
    display: block;
    line-height: 1.3em;
    font-weight: 600;
}

.prz-br {
    font-size: 1.5em;
    position: relative;
    width: fit-content;
    display: inline-block;
}

.prz-br:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 10px;
    width: 100%;
    height: 1px;
    background: var(--text);
    transform: rotate(-9deg);
}

#landing .services-container .h2 {
    color: var(--text);
}

.or{
	margin: 5px 0;
}

.link-modal-struttura{
    z-index: 2;
}

#form-container h2.h1 {
    text-transform: none;
}

.upr {
    text-transform: uppercase;
    font-size: 4rem;
    display: block;
    line-height: 1em;
}

.slider-header-container [data-uk-cover]:where(img,video), 
.slider-header-container [uk-cover]:where(img,video){
object-position: bottom !important;
}

#camere .uk-slider-items [data-uk-cover]:where(img,video), 
#camere .uk-slider-items [uk-cover]:where(img,video){
object-position: bottom !important;
transform: scale(1.3);
}
/* Nuova landing fine */

.gallery-container {
  background-color: var(--primary);
}

#gallery .uk-slider-items > li {
  margin-top: 10px;
  margin-bottom: 10px;
}


#gallery .uk-panel {
  overflow: hidden !important;
  margin-left: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}


#gallery .uk-background-cover:hover  {
  transform: scale(1.05);
}



/* --- CAMERE --- */
#camere .uk-slider-items > * {
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}


#camere .uk-slider-items > *:hover .pos-image {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* #endregion THX PAGE */


/*---condizioni generali di vendita ---*/

.uk-modal-close-full {
    top: 0;
    right: 0;
    padding: 25px;
    background: var(--primary);
	transition: all 0.5s ease;
}

.uk-modal-close-full:hover {
    background: #fff;
}

.uk-modal-dialog .uk-icon:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve) {
    stroke: #000;
	stroke-width:3px;
}

.uk-modal-dialog .uk-close:hover .uk-icon:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve) {
    stroke: var(--primary);
	stroke-width:3px;
}

.uk-modal-dialog {
	background:var(--bck-light);
	
}
.pos-terms::before{
	content:"-"; 
	display:inline-block;
	margin:0 0 0 3px;
}

.uk-modal-dialog .btn-booking {
	color:#000;
	font-weight:700;
	letter-spacing:0.025em;
}
.uk-modal-dialog .btn-booking:hover {
	background:#fff;
	color:var(--primary);
	border:0;
}
.uk-modal-dialog .btn-booking svg {
	display:none;
}



@media(max-width:1920px) {
	#landing .main-container .text-block {
		padding-left: 15vw;
	}

	#landing .map-container .text-block,
	#landing .menu-container .text-block {
		padding-left: 5vw;
		padding-right: 15vw;
	}
}

@media(min-width:1600px) {}

@media (max-width:1599px) {
	#landing .main-container .text-block {
		padding-left: 5vw;
	}

	#landing .map-container .text-block,
	#landing .menu-container .text-block {
		padding-left: 5vw;
		padding-right: 5vw;
	}

	#landing .map-container .text-container,
	#landing .map-container .main-text p,
	#landing .menu-container .text-container,
	#landing .menu-container .main-text p {
		max-width: unset;
	}

	#landing .main-container .main-img {
		max-height: 700px;
	}

	#landing .photo-pre-footer-container img {
		max-height: 800px;
	}
}

@media(min-width:1400px) and (max-width:1599px) {}

@media(min-width:1280px) and (max-width:1399px) {}

@media(max-width:1279px) {
	#landing .text-block {
		padding-top: calc(var(--space) / 2);
		padding-bottom: calc(var(--space) / 2);
	}



	#landing .main-container .main-img {
		max-height: 600px;
	}

	#landing .main-container .text-block {
		padding-left: 25px;
		padding-right: 25px;
	}
}

@media(max-width:1200px) {
	#landing .services-container .uk-grid> :nth-child(-n + 2) {
		margin-bottom: 25px;
	}

	#landing .logo {
		width: 170px;
	}

	#landing header .book .btn-white,
	#landing header .book .btn-booking {
		padding: 10px 10px;
		font-size: .8rem;
	}
}

@media(max-width:1100px) {
	#landing .text-block {
		padding: 25px 25px 25px 25px !important;
	}

	#landing .orari-container {
		padding-top: calc(var(--space) / 2);
		padding-bottom: calc(var(--space) / 2);
	}

	#landing .orari-container>.uk-container {
		padding-left: 25px;
		padding-right: 25px;
	}
}

@media(min-width:960px) and (max-width:1099px) {}

@media(max-width:959px) {

	/* VARIABILI */
	:root {

		/* GLOBAL */
		--space: 80px;

	}

	#landing .text-block {
		padding: var(--space) 25px !important;
	}

	#landing .services-container .uk-grid>div {
		width: 50%;
		max-width: 50%;
	}

	#landing .map-container .text-container,
	#landing .map-container .main-text p {
		max-width: 100%;
	}

	#landing .main-text * {
		text-align: center;
	}

	#landing header .btn-white {
		padding: 15px 5px;
		font-size: .9rem;
	}

	#landing .logo {
		width: 180px;
		display: inline-block;
	}

	#landing form fieldset .uk-grid>div:nth-child(2) {
		margin-top: 0;
	}

	#landing form .privacy {
		text-align: left;
	}

	#landing .rsform-block-data-partenza-7 {
		margin-bottom: 20px;
	}

	#landing .orari-container {
		-ms-flex-order: -1;
		-webkit-order: -1;
		order: -1;
	}

	#landing .orari-container h2 {
		text-align: center;
	}

	#landing .rsform-block-telefono {
		margin-bottom: 20px;
	}

}

@media(min-width:768px) and (max-width:959px) {

svg#promo {
	width: 190px;
}	

}

@media(max-width:767px) {

	/* VARIABILI */
	:root {
		/* TITLES */
		--h1: 1.65rem;
		--h1LH: 2.3rem;
		--h2: 1.2rem;
		--h2LH: 1.5rem;
		--p: 0.9rem;
	}

	.footer-top img{
		width: 150px;
	}

	.credits-omni {
		margin-bottom: 60px;
	}

	body{
		margin-bottom: 30px;
	}

	header .tel>a,
	header .book .btn-white,
	header .book .btn-booking {
		display: none;
	}

	
	#landing .main-container .main-img {
        max-height: auto;
        height: auto;
        aspect-ratio: 1 / 1;

        /* Ingrandimento foto per credit */
        background-size: 220%; 
        background-position: bottom	center; 
        background-repeat: no-repeat;
    }

	#landing .uk-slideshow-items li img {
        /* Ingrandisce lo sfondo (regola la percentuale in base alle tue esigenze) */
        background-size: 230%; 
        background-position: bottom center; 
        
        background-repeat: no-repeat;
    }

	#landing .slider-plus .uk-slideshow-items,
	#landing .slider-plus .uk-slideshow-items li,
	#landing .slider-plus .uk-slideshow-items li img,
	#landing .pos-gogole-map iframe {
		min-height: auto !important;
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
	}



	/* #landing .uk-slideshow-items,
	#landing .uk-slideshow-items li,
	#landing .uk-slideshow-items li img {
		height: calc(100vh - 88px);

	} */

	#landing header>.uk-sticky.barra-fixed {
		display: none !important;
	}

	.omni-container {
		margin-bottom: 50px;
	}

	.og-bar-mobile-fixed {
		display: block !important;
	}

	.cl-land-base .og-bar-mobile-fixed {
		display: none !important;
	}

	header .uk-grid>.tel,
	header .uk-grid>.book {
		width: 15%;
	}

	#landing header .uk-grid>.logos {
		width: 70%;
	}

	#landing .logo {
		margin-top: 20px;
		width: 230px;
	}

	#landing .barra-mobi .uk-icon {
		position: relative;
		top: -1px;
		display: block;
		margin-bottom: 3px;
	}

	#landing .slider-header-container {
		pointer-events: none;
	}

	#landing .uk-scope .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within),
	#landing .uk-scope .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:focus-within,
	#landing .uk-slidenav svg {
		width: 20px !important;
		pointer-events: all !important;
	}

	#landing .intro-container {
		padding: var(--space) 0 190px;
		pointer-events: none;
	}

	#landing .whatsapp {
		bottom: 75px !important;
		/* bottom: 125px !important; */
		right: 15px;
	}

	.contacts-container {
		gap: 8px;
		margin-top: 8px !important;
	}

	.link-policy-container {
		margin-top: 8px !important;
	}

	address,
	dl,
	fieldset,
	figure,
	ol,
	p,
	pre,
	ul {
		margin: 0;
	}

	#landing .uk-slideshow-items,
	#landing .uk-slideshow-items li,
	#landing .uk-slideshow-items li img {
		height: calc(100dvh - 112px);
		/* height: calc(100vh - 86px); */

	}

	#landing span.intro {
		font-size: 1.8rem;
		line-height: 1.8rem;
	}

	#landing span.sottotitolo {
		font-weight: 400;
		font-size: 1.2rem;
		letter-spacing: 1.5px;
		line-height: normal;
	}

	#landing .plus {
		font-size: 15px !important;
		line-height: 20px !important;
		padding: 8px 8px 0;
	}

	footer {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	#landing .whatsapp {
		width: 50px;
		height: 50px;
	}

	#landing .whatsapp svg {
		margin-bottom: 5px;
	}

	.footer-top .uk-width-1-2\@s {
		width: 50%;
	}

	svg#promo {
		width: 190px;
	}

	.box-promo .h2 {
		font-size: 1.1em;
		margin: var(--pdg) 0;
	}

	.box-promo{
		margin-top: var(--pdg);
	}

	.upr {
		font-size: 3.08rem;
	}

	#gallery .uk-slider-items {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

	#gallery .uk-slider-items > li {
        width: 80vw !important; 
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        margin-right: 10px !important;
    }

	#gallery .uk-panel {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

	#camere .uk-grid > div {
		padding: 0 !important;
		margin-bottom: 0px;
	}

	#landing .strutture-related .pos-image img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center;
    position: relative;
    transform: scale(1.3) !important; 
    transform-origin: bottom center;     
    transition: transform 0.3s ease;
}

.block {
	font-size: 1.34rem;
}

#landing .intro-container .h1 {
	margin-bottom: 20px;
}
}

@media(max-width:639px) {

	/* VARIABILI */
	:root {
		/* TITLES */
		--h1: 1.45rem;
		--h1LH: 2.2rem;
		--p: 0.9rem;
		--pLH: 1.5rem;
	}

	.contacts-container a {
		font-size: 0.8rem;
		line-height: 1rem;
	}


	#landing .form-container .h1 br {
		display: none;
	}

#landing .uk-slideshow-items,
#landing .uk-slideshow-items li {
    height: calc(100vh - 58px);
    overflow: hidden;
}

#landing .uk-slideshow-items li img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    /* Ingrandisce l'immagine */
    transform: scale(1.5); 
    transform-origin: bottom center; 
}



	#landing footer .numbers>a:not(:last-child) {
		margin-right: 0;
	}

	#landing footer .numbers>a {
		display: block;
	}

	#landing form button[type="submit"] {
		max-width: 100%;
	}

	#landing .services-container .uk-grid>div {
		width: 100%;
		max-width: 100%;
	}

	#landing .services-container .uk-grid>*:not(:last-child) {
		margin-bottom: 25px;
	}

	#landing .pos-download-menu>a {
		display: block;
	}

	#landing .pos-download-menu>a:not(:last-child) {
		margin-right: 0;
	}

	.footer-top .uk-width-1-2\@s {
		width: 50%;
	}

	.footer-top img{
		width: 150px;
	}

	body{
		margin-bottom: 30px;
	}

	.w-tot{
		margin-bottom: var(--pdg-big)
	}

	svg#promo {
		width: 190px;
	}
	.box-promo .h2 {
		font-size: 1.1em;
		margin: var(--pdg) 0;
	}

	.box-promo{
		margin-top: var(--pdg);
	}
	.link-policy-container .uk-flex {
		flex-direction:column;
	}
	.pos-terms::before {
		display:none;
	}
	.uk-modal-close-full {
    padding: 12px;
    }
}