/*
Theme Name: Filzi25
Author: Neiko srl
Author URI: http://www.neiko.it/
Description: Filzi25 - 2025
Version: 1.0
License: GNU General Public License v2 or later
*/

/*  FONTS e COLORI */
:root {
	
	--blu: #072AC8; 
	--azul: #38BFCE;
	--dark-azul: #0099CB;
	--white: #FFFCFA;
	--light-blu: #AFE5EB;
	--grey: #E6E1DA;
	--dark-blu: #00407D;
	--violet: #637AD5;
	--black: #252422;
	
	--16: clamp(0.800rem, 0.833vw, 0.800rem);
	--18: clamp(0.800rem, 0.938vw, 0.900rem);
	--20: clamp(0.900rem, 1.042vw, 1.000rem);
	--22: clamp(1.000rem, 1.146vw, 1.100rem);
	--24: clamp(1.00rem, 1.250vw, 1.200rem);
	--30: clamp(1.000rem, 1.563vw, 1.500rem);
	--32: clamp(1.200rem, 1.667vw, 1.600rem);
	--40: clamp(2.500rem, 2.083vw, 2.500rem);
	--50: clamp(2.500rem, 3.646vw, 3.500rem);
	--60: clamp(1.600rem, 3.125vw, 3.000rem);
	--70: clamp(2.500rem, 3.646vw, 3.500rem);
	--80: clamp(2.000rem, 4.167vw, 4.000rem);
	--100: clamp(3.500rem, 5.208vw, 5.000rem);
	--150: clamp(4.000rem, 7.813vw, 7.500rem);
	--250: clamp(8.250rem, 13.021vw, 12.500rem);
	
	--font-family-title: 'the-seasons', sans-serif;
	--font-family-text: "helvetica-neue-lt-pro", sans-serif;
	--regular: 400; /* Light */
	--medium: 500; /* Medium */
	--bold: 700; /* Medium */
	--transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* GENERAL */
html,body {
	margin:0;
	padding:0;
	background-color:var(--white);
	color:var(--black);
	font-family: var(--font-family-text);
	font-weight: var(--regular);
	font-size: 20px !important;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
	-moz-font-smoothing:antialiased;
	-o-font-smoothing:antialiased;
}

.container-fluid {
	padding-left: var(--100);
	padding-right: var(--100);
}

.container-fluid .row {
	position: relative;
	z-index: 1;
}

@media (min-width: 1400px){ 
	html,body {
		font-size: 20px !important;
	}
}

@media (max-width: 768.99px) {
	.container-fluid {
		padding-left: var(--24);
		padding-right: var(--24);
	}
}



img,a img {
	border:none!important;
}

::-moz-selection {
	background:none repeat scroll 0 0 #FFF;
	color:#000;
}

* {
	outline:0!important;
}

b,strong,.bold { 
	font-weight:var(--bold);
}

a,a:visited { 
	outline-style: none;
	text-decoration: none;
}

a:hover { 
	cursor: pointer !important;
	color: inherit;
	text-decoration: none;
}

/* BOTTONI */

.primary-btn {
	font-family: var(--font-family-text);
	font-size: var(--20);
	text-transform: uppercase;
	padding: 8px 12px;
	border: 1px solid var(--white);
	color: var(--white);
	background-color: transparent;
	transition: var(--transition);
}

.primary-btn:hover {
	background-color: var(--blu);
}

.secondary-btn {
	font-family: var(--font-family-text);
	font-size: var(--20);
	text-transform: uppercase;
	padding: 8px 12px;
	border: 1px solid var(--black);
	color: var(--black);
	background-color: transparent;
	transition: var(--transition);
}

.secondary-btn:hover {
	background-color: var(--azul);
}


/* MARGIN PADDIN */

.py150 {
	padding-top: var(--150);
	padding-bottom: var(--150);
}

.py100 {
	padding-top: clamp(2.778rem, 5.208vw, 5.556rem);
	padding-bottom: clamp(2.778rem, 5.208vw, 5.556rem);
}

.py70 {
	padding-top: clamp(2.222rem, 3.646vw, 3.889rem);
	padding-bottom: clamp(2.222rem, 3.646vw, 3.889rem);
}

.py50 {
	padding-top: clamp(1.667rem, 2.604vw, 2.778rem);
	padding-bottom: clamp(1.667rem, 2.604vw, 2.778rem);
}

.py30 {
	padding-top: clamp(0.833rem, 1.563vw, 1.667rem);
	padding-bottom: clamp(0.833rem, 1.563vw, 1.667rem);
}

.py20 {
	padding-top: clamp(0.833rem, 1.042vw, 1.111rem);
	padding-bottom: clamp(0.833rem, 1.042vw, 1.111rem);
}

.pt150 {
	padding-top: var(--150);
}

.pt100 {
	padding-top: clamp(2.778rem, 5.208vw, 5.556rem);
}

.pt70 {
	padding-top: clamp(2.222rem, 3.646vw, 3.889rem);
}

.pt50 {
	padding-top: clamp(1.667rem, 2.604vw, 2.778rem);
}

.pt30 {
	padding-top: clamp(0.833rem, 1.563vw, 1.667rem);
}

.pt10 {
	padding-top: clamp(0.278rem, 0.521vw, 0.556rem);
}

.pb100 {
	padding-bottom: clamp(2.778rem, 5.208vw, 5.556rem) !important;
}

.pb70 {
	padding-bottom: clamp(2.222rem, 3.646vw, 3.889rem);
}

.pb50 {
	padding-bottom: clamp(1.667rem, 2.604vw, 2.778rem);
}

.pb30 {
	padding-bottom: clamp(0.833rem, 1.563vw, 1.667rem);
}

.pb20 {
	padding-bottom: clamp(0.833rem, 1.042vw, 1.111rem);
}

.mb30 {
	margin-bottom: clamp(0.833rem, 1.563vw, 1.667rem);
}

/* COLORI */

.blu {
	color: var(--blu) !important;
}

.white {
	color: var(--white);
}

.light-blue {
	color: var(--azul);
}

.black-bg {
	background-color: var(--black);
}

.grey-bg {
	background-color: var(--grey);
}

.azul-bg {
	background-color: var(--azul);
}

.light-blue-bg {
	background-color: var(--light-blu);
}

.white-bg {
	background-color: var(--white);
}

/* TYPO */

h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{ 
	font-family: var(--font-family-title);
	margin: 0;
}

h1, .h1 {
	font-size: var(--80);
	font-weight: var(--bold);
}

h2, .h2 {
	font-size: var(--60);
	font-weight: var(--bold);
}

h2 em {
	color: var(--blu);
	font-style: normal;
}

h3, .h3 {
	font-size: var(--32);
	font-weight: var(--regular);
}

h3 em {
	color: var(--blu);
	font-style: normal;
}

h4, .h4 {
	font-size: var(--22);
	font-weight: var(--medium);
	font-family: var(--font-family-text) !important;
}

h5, .h5 {
	font-size: var(--24);
	font-weight: var(--regular);
}

p, .p {
	font-family: var(--font-family-text);
	font-size: var(--20);
	margin: 0;
	line-height: 1.2;
}

.section-label {
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(70%) rotate(-90deg);
	font-size: var(--20);
	font-family: var(--font-family-title);
	color: var(--azul);
	font-weight: var(--bold);
}

/* ANIMAZIONE TESTI */

.animated-text {
	overflow: hidden;
	display: block;
}

.animated-text span {
	display: inline-block;
	transform: translateY(100%);
	opacity: 0;
	transition: transform 1.5s cubic-bezier(0.08,0.82,0.17,1), opacity 1s cubic-bezier(0.08,0.82,0.17,1);
}

.animated-text.visible span {
	transform: translateY(0);
	opacity: 1;
}

/* LOADER */
#loader {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
	z-index: 9999; 
	display: flex;
	justify-content: center;
	align-items: center;
}

.loader-inner {
	border: 8px solid #fff; /* Colore di sfondo del loader */
	border-top: 8px solid #000; /* Colore del loader */
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* HEADER */

#header {
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	background: transparent;
	transition: transform 0.3s ease;
}

#header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(175, 229, 235, 0.9);
  transform: translateY(-100%); /* parte nascosta in alto */
  transition: var(--transition); /* scorrimento fluido */
  z-index: 0; /* dietro ai contenuti */
}

#header.scrolled::before {
  transform: translateY(0); /* entra dall’alto */
}

.navbar {
	background-color: transparent;
}

#custom-menu {
	display: flex;
	flex-direction: row;
	gap: 50px;
}

#custom-menu ul {
	list-style: none;
	display: flex;
	flex-direction: row;
	gap: 50px;
	margin: 0;
	align-items: center;
}

#custom-menu ul li {
overflow: hidden;
}


#custom-menu ul li a {
font-family: var(--font-family-title);
font-size: var(--20);
font-weight: 700;
color: var(--white);
transition: var(--transition);
position: relative;
}

#custom-menu ul li a::before {
	content: "";
	width: 100%;
	height: 1px;
	background-color: var(--white);
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateX(-100%);
	transition: var(--transition);
}

#custom-menu ul li a:hover::before {
	transform: translateX(0);
}

#header.scrolled #custom-menu ul li a {
  color: var(--black); /* testi neri */
}

#header.scrolled #custom-menu ul li a::before {
  background-color: var(--black); /* linea nera */
}

#header #logo-header {
	width: var(--250);
	transition: var(--transition);
}

#header.scrolled #logo-header {
	width: var(--250);
}

/* bottone hamburger */
.custom-toggle {
  display: none; /* default hidden */
  flex-direction: column;
  justify-content: center;
  width: 35px;
  height: 18px;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 1001; /* sopra il menu */
}
.custom-toggle span {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--white); /* colore linee */
  margin-bottom: 4px;
  transition: var(--transition);
}
.custom-toggle.open span:nth-child(1) {
  transform: rotate(45deg) translate(3px,3px);
  color: var(--black) !important;
}
.custom-toggle.open span:nth-child(2) {
  opacity: 0;
}
.custom-toggle.open span:nth-child(3) {
  transform: rotate(-45deg) translate(4px,-4px);
  color: var(--black);
}

.custom-toggle span.scrolled {
	color: var(--white);
}



/* breakpoint */
@media (max-width:1299px){
	/* menu mobile full screen */
	.custom-menu {
	  position: fixed;
	  top: 0;
	  right: -100%; /* fuori schermo */
	  width: 100%;
	  height: 100vh;
	  background: var(--light-blu); /* colore sfondo menu */
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  transition: right 0.4s ease;
	  z-index: 1000;
	}
	.custom-menu.open {
	  right: 0;
	}
	.custom-menu ul {
	  list-style: none;
	  padding: 0;
	  margin: 0;
	  display: flex;
	  flex-direction: column;
	  gap: 20px;
	  text-align: center;
	}
	.custom-menu ul li a {
	  text-decoration: none;
	  color: #000; /* colore testo */
	  font-size: 1.5rem;
	}
	
	
  .custom-toggle {
	display: flex;
  }
  #custom-menu {
	/* menu mobile handled by our styles */
  }
  nav .container-fluid ul {
	display: none; /* nascondi eventuale menu desktop */
  }
  
  #custom-menu ul {
	  list-style: none;
	  display: flex;
	  flex-direction: column;
	  gap: 50px;
	  margin: 0;
  }
  
  #custom-menu ul li {
		overflow: hidden;
		
	}
  
  #custom-menu ul li a {
	  text-transform: uppercase;
	  overflow: hidden;
	  font-size: var(--32);
	  font-weight: var(--bold);
  }
  
  #custom-menu ul li a::before {
	  content: "";
	  width: 0;
	  height: 0px;
	  background-color: var(--white);
	  position: absolute;
	  left: 0;
	  bottom: 0;
	  transform: translateX(0);
	  transition: var(--transition);
  }
}

/* FOOTER */

#nk-cookie-banner-banner p {
	margin: 0.75em 0;
	line-height: 1;
}

.maps {
	height: auto;
	border: 0;
	aspect-ratio: 1 / 1;
}

.wrapper-contatti {
	display: flex;
	flex-direction: column;
}

.wrapper-contatti a {
	color: var(--black);
	transition: var(--transition);
}

.wrapper-contatti a:hover {
	color: var(--white);
}

.border-top {
	border-top: 1px solid var(--black) !important;
}

.credits a {
	color: var(--black);
	transition: var(--transition);
}

.credits a:hover {
	color: var(--white);
}

.logo-footer {
	height: var(--70);
}

.logo-footer-park {
	height: var(--40);
}

@media (max-width: 575.99px) {
	.wrapper-contatti {
		gap: 5px;
		display: flex;
		flex-direction: column;
	}
	
	.wrapper-contatti p {
		font-size: var(--16);
	}
	
}



/* PAGINE */

.container-hero {
	width: 100%;
	height: 100vh;
}

.container-hero img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}

.wrapper-hero {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	color: var(--white);
	display: flex;
	flex-direction: column;
	align-items: center;
}

.container-hero video {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}

.overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(37, 36, 34, 0) 0%, rgba(37, 36, 34, 0.5) 100%);
}

.subtitle {
	font-family: var(--font-family-text);
	text-transform: uppercase;
	font-size: var(--24);
}

.bg-onda {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	z-index: 0;
}

@media (max-width: 575.99px) {
	.wrapper-hero {
		width: 80%
	}
}


/* SEZIONE PROGETTO 2 */

.sticky-forza {
	position: sticky;
	top: 0;
}

.forza-wrapper {
	display: flex;
	flex-direction: column;
	align-content: start;
	padding: var(--30);
	background-color: var(--light-blu);
	margin-bottom: var(--30);
}

.forza-wrapper img {
	height: var(--70);
	width: auto;
	align-self: baseline;
}

@media (max-width: 768.99px) {
	.sticky-forza h2 {
	padding-top: 0;
	}
	
	.section-label {
		position: relative;
		left: 0;
		top: 0;
		transform: none;
		font-size: var(--20);
		font-family: var(--font-family-title);
		color: var(--azul);
		font-weight: var(--bold);
		text-align: left;
		padding-bottom: var(--30);
	}
}


/* SEZIONE LOCATION */


.table-responsive {
	width: 100%;
	--bs-table-bg-type: transparent;
	--bs-table-border-color: var(--black);
	--bs-table-bg: transparent;
}

.table-responsive td, tfoot, th, thead {
	border-color: var(--black);
	border-style: solid;
	border-width: 0 !important;
}

.table-responsive tbody tr {
	border-color: var(--black);
	border-style: solid;
	border-width: 0.5px;
	border-left: 0px;
	border-right: 0px;
}

.table-responsive thead tr {
	border-color: var(--black);
	border-style: solid;
	border-width: 0px !important;
}

.table-responsive>:not(caption)>*>* {
	padding: 20px 5px;
}

/* SEZIONE LOCATION 2*/

.tooltip-point {
	transform: translate(-50%, -50%);
	cursor: pointer;
}

.tooltip-icon {
	background: var(--light-blue);
	color: white;
	border-radius: 50%;
	width: 70px;
	height: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 14px;
}

.tooltip-content {
	position: absolute;
	top: 0;
	left: 50%;
	background: var(--white);
	color: var(--black);
	padding: 8px 12px;
	border: 1px solid var(--black);
	white-space: nowrap;
	opacity: 0;
	transform: translate(-50%, -125%);
	pointer-events: none;
	transition: opacity 0.3s;
}

.tooltip-point:hover .tooltip-content {
	opacity: 1;
	pointer-events: auto;
}

/* SEZIONE RESTAURO */

.bg-onda-middle {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	z-index: 0;
	transform: translateY(50%);
}

/* SEZIONE TERRAZZA */

.wrapper-terrazza {
	position: absolute;
	left: var(--100);
	bottom: var(--100);
	z-index: 3;
	width: 50%;
}

@media (max-width: 575.99px) {
	.wrapper-terrazza {
		width: 80%;
		left: var(--50);
		bottom: var(--50);
	}
}


/* SEZIONE SUPERFICI */

.immobile-svg {
	position: absolute;
	left: 0%;
	top: 0%;
	width: 100%;
}



.table-superfici {
	width: 100%;
}

.table-superfici {
	--bs-table-bg-type: transparent;
	--bs-table-border-color: var(--black);
	--bs-table-bg: transparent;
}

.table-superfici {
	border-color: var(--black);
	border-style: solid;
	border-width: 0;
}

.table-superfici tbody {
	border-width: 0;
}

.table-superfici thead tr {
	border-top: 0;
}

.table-superfici tr {
	border-width: 0.5px;
	border-left: 0px;
	border-right: 0px;
}

.table-superfici td {
	border-width: 0.5px;
	border-left: 0.5px;
	border-right: 0.5px;
}

.btn-table {
	border-top: 0px !important;
	border-bottom: 0px !important;
}

.table-superfici>:not(caption)>*>* {
	padding: 15px 5px;
}

.table-superfici tbody tr:last-child td p {
  font-weight: bold;
  color: var(--black) !important;
}


.btn-table {
	border-right: 0 !important;
}

@media (max-width: 575.99px) {
	.container-superfici {
		overflow-x: scroll;
	}
}


/* SEZIONE CERTIFICAZIONI */

.icon-certificazioni {
	width: var(--100);
}

/* WPML SELETTORE LINGUA */

.wpml-ls-legacy-list-horizontal {
	border: 0px solid;
	padding: 0;
}

.wpml-ls-legacy-list-horizontal a {
	position: relative;
	padding: 0;
	display: flex;
	align-items: center;
}