@font-face {
    font-family: ''Montserrat'';
    src: url('/fonts/jost.light-webfont.woff2') format('woff2'),
         url('/fonts/jost.light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: ''Montserrat'1';
    src: url('/fonts/abrilfatface-regular-webfont.woff2') format('woff2'),
         url('/fonts/abrilfatface-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}



body { 
margin:0;
background-color: #fff;

}

/* MENU RESPONSIVE */

:root {
	--blu-scuro: #0B5D8F;
	--blu-medio: #1F80BD;
	--azzurro: #01ABFF;
	--azzurro-hover: #8FE3FF;
	--azzurro-chiaro: #D8EDF8;
	--bianco: #FFFFFF;
	--testo: #1E2A32;
}

/* BARRA TELEFONO / EMAIL */

.nav-bartel {
	background: var(--blu-scuro);
	color: var(--bianco);
	width: 100%;
}

.nav-contenuto {
	max-width: 1320px;
	width: 100%;
	margin: 0 auto;
	padding-left: 28px;
	padding-right: 28px;
	box-sizing: border-box;
}

.nav-bartel .nav-contenuto {
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
}

.telsx {
	display: flex;
	align-items: center;
	gap: 22px;
	min-width: 0;
}

.teldx {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-left: auto;
	flex-shrink: 0;
}

.tel {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #ffffff;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.25s ease, opacity 0.25s ease;
}

.tel:hover {
	color: var(--azzurro-hover);
	text-decoration: none;
	opacity: 1;
}

.tel img {
	display: block;
	max-height: 17px;
	width: auto;
}

.teldx img {
	max-height: 21px;
}

.email-short {
	display: none;
}


/* BARRA LOGO / MENU */

.nav-bar {
	background: #ffffff;
	border-bottom: 1px solid var(--azzurro-chiaro);
	width: 100%;
	position: relative;
	z-index: 999;
}

.nav-bar .nav-contenuto {
	min-height: 104px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-top: 12px;
	padding-bottom: 16px;
}

.nav-logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.nav-logo a,
.nav-logo a:hover {
	display: block;
	background: transparent !important;
	text-decoration: none;
}

.nav-logo img {
	height: 71px;
	width: auto;
	display: block;
	border: 0;
}

.nav-lista {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 44px;
}

a.menu {
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--blu-scuro);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.25s ease;
}

a.menu:hover {
	color: var(--azzurro);
	text-decoration: none;
}

a.menuprenota {
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--blu-scuro);
	cursor: pointer;
	background-color: #ffffff;
	border: 1px solid var(--blu-scuro);
	padding: 13px 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	border-radius: 999px;
	transition: all 0.25s ease;
}

a.menuprenota:hover {
	background-color: var(--blu-scuro);
	color: #ffffff;
	border-color: var(--blu-scuro);
	text-decoration: none;
}


/* BOTTONE HAMBURGER */

.nav-menu {
	display: none;
	width: 48px;
	height: 48px;
	border: 1px solid var(--azzurro-chiaro);
	background: #ffffff;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 6px;
	padding: 0;
	box-sizing: border-box;
}

.nav-menu span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--blu-scuro);
	border-radius: 2px;
	transition: all 0.25s ease;
}


/* MOBILE */

@media screen and (max-width: 900px) {

	.nav-contenuto {
		padding-left: 14px;
		padding-right: 14px;
	}

	.nav-bartel .nav-contenuto {
		height: 44px;
		gap: 8px;
	}

	.telsx {
		gap: 13px;
		flex: 1;
	}

	.teldx {
		gap: 11px;
		margin-left: auto;
	}

	.tel {
		font-size: 13px;
		gap: 5px;
	}

	.tel img {
		max-height: 16px;
	}

	.teldx img {
		max-height: 21px;
	}

	.email-full {
		display: none;
	}

	.email-short {
		display: inline;
	}

	.nav-bar .nav-contenuto {
		min-height: 86px;
		padding-top: 10px;
		padding-bottom: 12px;
	}

	.nav-logo img {
		height: 58px;
		max-width: 235px;
	}

	.nav-menu {
		display: inline-flex;
	}

	.nav-lista {
		display: none;
		position: absolute;
		top: 86px;
		left: 0;
		right: 0;
		background: #ffffff;
		border-top: 1px solid var(--azzurro-chiaro);
		box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12);
		padding: 10px 14px 18px 14px;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		z-index: 1000;
	}

	.nav-bar.nav-aperto .nav-lista {
		display: flex;
	}

	.nav-lista a.menu {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 15px 4px;
		border-bottom: 1px solid #eef6fb;
		font-size: 16px;
	}

	.nav-lista a.menuprenota {
		width: 100%;
		box-sizing: border-box;
		margin-top: 14px;
		padding: 15px 20px;
		font-size: 16px;
	}

	.nav-bar.nav-aperto .nav-menu span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.nav-bar.nav-aperto .nav-menu span:nth-child(2) {
		opacity: 0;
	}

	.nav-bar.nav-aperto .nav-menu span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}
}


@media screen and (max-width: 430px) {

	.tel {
		font-size: 12px;
	}

	.telsx {
		gap: 9px;
	}

	.teldx {
		gap: 8px;
	}

	.nav-logo img {
		height: 53px;
		max-width: 215px;
	}
}
/* FINE TESTATA */

.hero-carousel {
	position: relative;
	width: 100%;
	aspect-ratio: 1920 / 850;
	overflow: hidden;
	background: #ffffff;
}

.hero-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 900ms ease-in-out;
	z-index: 1;
}

.hero-slide-attiva {
	opacity: 1;
	z-index: 2;
}

.hero-slide picture {
	display: block;
	width: 100%;
	height: 100%;
}

.hero-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border: 0;
}

@media screen and (max-width: 768px) {
	.hero-carousel {
		height: 430px;
	}

	.hero-slide img {
		object-position: center center;
	}
}

@media screen and (max-width: 480px) {
	.hero-carousel {
		height: 390px;
	}
}

.hero-fissa {
	width:100%;
	height:auto;
	overflow:hidden;
	clear:both;
}

.hero-fissa picture {
	display:block;
	width:100%;
}

.hero-fissa img {
	display:block;
	width:100%;
	height:auto;
}

@media only screen and (max-width:768px) {

	.hero-fissa img {
		width:100%;
		height:auto;
	}

}

/* BOOKING ENGINE */

.areabooking {
	width: 100%;
	height: auto;
	margin: 0 auto;
	position: relative;
	z-index: 30;
	background: #ffffff;
}

.booking {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	background: #ffffff;
	display: grid;
	grid-template-columns: repeat(4, 1fr) 1.2fr;
	align-items: stretch;
	border-top: 1px solid #D8EDF8;
	border-bottom: 1px solid #D8EDF8;
	box-shadow: 0 14px 28px rgba(11, 93, 143, 0.08);
	position: relative;
	z-index: 30;
}

.booking-campo,
.booking-submit {
	min-height: 96px;
	padding: 20px 34px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #ffffff;
	border-right: 1px solid #D8EDF8;
}

.bookingprimo,
.bookingsecondo,
.bookingterzo,
.bookingquarto,
.bookingquinto {
	float: none;
	display: flex;
	width: auto;
	height: auto;
	padding: 0;
	text-align: left;
	padding: 10px 20px;
}

.bookingquinto {
	border-right: 0;
	background: #0B5D8F;
	padding: 0;
}

.booking-campo label {
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: #0B5D8F;
	margin-bottom: 8px;
}

.formbooking,
.formbookingrande {
	width: 100%;
	height: 38px;
	box-sizing: border-box;
	border: 0;
	background: transparent;
	color: #1E2A32;
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 17px;
	font-weight: 500;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	appearance: auto;
	-webkit-appearance: auto;
	-moz-appearance: auto;
}

.formbooking:hover,
.formbookingrande:hover {
	color: #0B5D8F;
}

.formbooking:focus,
.formbookingrande:focus {
	outline: none;
	color: #0B5D8F;
}

.booking-campo:focus-within {
	background: #F7FCFF;
}

.booking-campo:focus-within label {
	color: #01ABFF;
}

.prenotasubmit {
	width: 100%;
	height: 100%;
	min-height: 96px;
	border: 0;
	background: #0B5D8F;
	color: #ffffff;
	cursor: pointer;
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-align: center;
	border-radius: 0;
	transition: background-color 0.25s ease, color 0.25s ease;
	box-shadow: none;
}

.prenotasubmit:hover {
	background: #01ABFF;
	color: #ffffff;
}


/* MOBILE BOOKING */

@media screen and (max-width: 900px) {

	.booking {
		width: 92%;
		grid-template-columns: repeat(2, 1fr);
		border: 1px solid #D8EDF8;
		box-shadow: 0 14px 30px rgba(11, 93, 143, 0.12);
		margin-top: 0;
	}

	.booking-campo,
	.booking-submit {
		min-height: 88px;
		padding: 18px 18px;
	}

	.bookingsecondo,
	.bookingquarto {
		border-right: 0;
	}

	.bookingterzo,
	.bookingquarto,
	.bookingquinto {
		border-top: 1px solid #D8EDF8;
	}

	.bookingquinto {
		grid-column: 1 / -1;
		background: #0B5D8F;
	}

	.formbooking,
	.formbookingrande {
		height: 38px;
		font-size: 16px;
	}

	.prenotasubmit {
	height: 100%;
	min-height: 74px;
	font-size: 15px;
}
}


@media screen and (max-width: 520px) {

	.booking {
		width: 92%;
		grid-template-columns: 1fr;
	}

	.booking-campo,
	.booking-submit {
		min-height: auto;
		padding: 17px 18px;
		border-right: 0;
		border-bottom: 1px solid #D8EDF8;
	}

	.bookingquinto {
		border-bottom: 0;
	}

	.formbooking,
	.formbookingrande {
		height: 42px;
		font-size: 16px;
	}

	.prenotasubmit {
	height: 64px;
	min-height: 64px;
	font-size: 15px;
}
}

/* FINE BOOKING ENGINE */

.dati,
.contenitore {
	width: 92%;
	max-width: 1320px;
	margin: 0 auto;
	height: auto;
	font-family: 'Montserrat', Helvetica, sans-serif;
	color: #525252;
	font-size: 16px;
	box-sizing: border-box;
}

.dati {
	display: block;
}

.datidentro {
	width: 100%;
	display: flex;
	align-items: stretch;
	gap: 46px;
	box-sizing: border-box;
}

.sfondodatihome {
	background-color: #FAF9F5;
	padding: 70px 0;
}

.areadati {
	float: none;
	display: block;
	width: calc(100% - 370px);
	padding: 0;
	box-sizing: border-box;
	font-family: 'Montserrat', Helvetica, sans-serif;
	color: #525252;
	font-size: 18px;
	line-height: 1.7;
	text-align: justify;
}


.arealato {
	float: none;
	display: block;
	width: 324px;
	height: auto;
	position: relative;
	box-sizing: border-box;
	flex-shrink: 0;
	align-self: stretch;
}

.sticky-lato {
	position: sticky;
	top: 24px;
	z-index: 10;
}

@media screen and (max-width: 900px) {

	.sfondodatihome {
		padding: 42px 0;
	}

	.dati,
	.contenitore {
		width: 92%;
	}

	.datidentro {
		display: block;
	}

	.areadati,
	.arealato {
		width: 100%;
		float: none;
		padding: 0;
	}

	.areadati {
		font-size: 17px;
		text-align: left;
	}

	.arealato {
		margin-top: 42px;
	}

	.sticky-lato {
		position: static;
	}

}

.trefoto{
display:inline-block;
float:left;
width:33%;
}

.trefotop{
display:inline-block;
float:left;
width:33%;
}

.fototonda {
	border-radius: 30px;
}

.fototondasx {
	border-radius: 30px 0 0 30px;
}

.fototondadx {
	border-radius: 0 30px 30px 0;
}

@media screen and (max-width: 768px) {
	.fototondasx,
	.fototondadx {
		border-radius: 30px;
	}
}

.griglia-appartamenti {
	width: 100%;
	margin-top: 42px;
}

.card-appartamento {
	width: 100%;
	background: #ffffff;
	border: 1px solid #D8EDF8;
	border-radius: 30px;
	box-shadow: 0 18px 38px rgba(11, 93, 143, 0.08);
	padding: 36px 34px 34px 34px;
	box-sizing: border-box;
	text-align: center;
	margin-bottom: 42px;
}

.titolo-appartamento {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 52px;
	line-height: 1.05;
	color: #0B5D8F;
	font-weight: 700;
	margin: 0;
}

.posizione-appartamento {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 17px;
	color: #5CA1D1;
	margin-top: 12px;
	margin-bottom: 30px;
}

.posizione-appartamento img {
	width: 18px;
	height: 18px;
	display: block;
}

.foto-appartamento {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8px;
	margin-bottom: 30px;
}

.foto-appartamento a {
	display: block;
	overflow: hidden;
	line-height: 0;
	aspect-ratio: 4 / 3;
}

.foto-appartamento img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border: 0;
}

.foto-appartamento a:nth-child(1) img {
	border-radius: 24px 0 0 24px;
}

.foto-appartamento a:nth-child(2) img {
	border-radius: 0;
}

.foto-appartamento a:nth-child(3) img {
	border-radius: 0 24px 24px 0;
}

.footer-appartamento {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	border-top: 1px solid #D8EDF8;
	padding-top: 26px;
}

.servizi-appartamento {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	flex: 1;
}

.servizio-appartamento {
	width: 20%;
	text-align: center;
	border-right: 1px solid #D8EDF8;
	box-sizing: border-box;
	padding: 0 10px;
	min-width: 0;
}

.servizio-appartamento:last-child {
	border-right: 0;
}

.servizio-appartamento img {
	width: 34px;
	height: 34px;
	object-fit: contain;
	display: block;
	margin: 0 auto 8px auto;
}

.servizio-appartamento span {
	display: block;
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1.2;
	color: #1E2A32;
	white-space: nowrap;
}

.cta-appartamento {
	flex-shrink: 0;
}

@media screen and (max-width: 768px) {

	.griglia-appartamenti {
		margin-top: 34px;
	}

	.card-appartamento {
		width: 100%;
		padding: 28px 18px 32px 18px;
		margin-bottom: 34px;
		border-radius: 26px;
	}

	.titolo-appartamento {
		font-size: 42px;
	}

	.posizione-appartamento {
		font-size: 16px;
		margin-bottom: 24px;
	}

	.foto-appartamento {
		display: flex;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		gap: 12px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		margin-bottom: 28px;
		box-sizing: border-box;
		padding-bottom: 8px;
	}

	.foto-appartamento a {
	display: block;
	flex: 0 0 86%;
	width: 86%;
	max-width: 86%;
	scroll-snap-align: start;
	line-height: 0;
	box-sizing: border-box;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.foto-appartamento img,
.foto-appartamento a:nth-child(1) img,
.foto-appartamento a:nth-child(2) img,
.foto-appartamento a:nth-child(3) img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center center;
	border-radius: 24px;
	box-sizing: border-box;
}

	.footer-appartamento {
		display: block;
		border-top: 1px solid #D8EDF8;
		padding-top: 24px;
	}

	.servizi-appartamento {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 18px 0;
		margin-bottom: 28px;
	}

	.servizio-appartamento {
		width: 33.33%;
		border-right: 0;
		padding: 0 6px;
	}

	.servizio-appartamento img {
		width: 34px;
		height: 34px;
	}

	.servizio-appartamento span {
		font-size: 13px;
		white-space: normal;
	}

	.cta-appartamento {
		text-align: center;
	}

}


/* FOTO EFFETTO */	

.fotoeffetto {
overflow: hidden;
display: block;
-moz-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.fotoeffetto:hover {
  opacity: 0.8;
  filter: alpha(opacity=80); /* For IE8 and earlier */

}

/* FINE FOTO ZOOM */	

.titolicelle {  font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 16px; color:#fff;}
A.titolicelle {		font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size:16px; text-decoration:none; color:#fff; cursor:pointer;	background-color:#01ABFF; padding-top:10px; padding-bottom:10px; padding-left:25px;	padding-right:25px;}
A.titolicelle:hover {color: #fff; text-decoration:none;}

.titolicelleover { margin-top:-55px; text-align:right; width: 95%; z-index:10000;}

.testocelle {  font-family: 'Montserrat', Helvetica, sans-serif; font-size: 14px; color:#034250;}


.avvisolat {  font-family: Arial Narrow, Helvetica, sans-serif; font-size: 30px; color: #21211B}

	   
.duefoto{
display:block;
float:left;
width:50%;
}

.unterzo{
display:block;
float:left;
width:33%;
}

.dueterzi{
display:block;
float:left;
width:64%;
}

.unterzop{
display:block;
float:left;
width:37.5%;
}

.dueterzip{
display:block;
float:left;
width:62.5%;
}
	   
.fotohome{
display:block;
float:left;
width:95%;
text-align:center;
padding: 10px;
border-left: 1px solid #e5e5e5;
border-right: 1px solid #e5e5e5;
}

.fotometti{
display:block;
float:left;
width:32%;
margin:5px auto;
padding-left:10px;
}

.quattrofoto{
display:block;
float:left;
width:25%;
text-align: left;
padding-bottom:10px;
text-align:center;
}


h1, h2, h3, h4, h5, h6 {
  font-weight:100;
}


hr {
	border: none;
	height: 1px;
	background-color: #D8EDF8;
	margin: 42px auto 0 auto;
	width: 100%;
}

.hrlungo {
       border : 0;
       height : 1px;
	   width:100%;	 
       background : url(/img/hr.png); 
}

.intro-home { 
	width: 92%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 70px 20px 45px 20px;
	box-sizing: border-box;
	text-align: center;
}

.titolihome {font-family: 'Cormorant Garamond', Georgia, serif;	font-size: 64px; line-height: 1.05;	color: #0B5D8F;	font-weight: 700; margin: 0;}
.payoff { display: inline-block; font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 22px; line-height: 1.45; color: #5CA1D1; font-weight: 500;	margin-top: 18px;}
@media screen and (max-width: 768px) {
	.intro-home {padding: 42px 18px 34px 18px;}
	.titolihome {font-size: 42px;line-height: 1.08;}
	.payoff {font-size: 17px;margin-top: 14px;}
	hr {margin-top: 30px;	}
}


.titoli {  font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 18px; color: #0B5D8F;}
.payoff1 {  font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 18px; color: #5CA1D1;}
.errore {  font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 20px; color: #ff0000}


.areanews {
	width: 100%;
	font-family: 'Montserrat', Helvetica, sans-serif;
	font-size: 18px;
	line-height: 1.7;
	color: #4B5A63;
	background: linear-gradient(180deg, #FFFFFF 0%, #F7FCFF 100%);
	padding: 44px 42px;
	margin: 48px 0;
	border: 1px solid #D8EDF8;
	border-radius: 30px;
	box-shadow: 0 18px 38px rgba(11, 93, 143, 0.08);
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

.areanews::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: linear-gradient(90deg, #0B5D8F 0%, #2E81BD 55%, #8FC9E8 100%);
}

.areanews1 {
	width: 100%;
	font-family: 'Montserrat', Helvetica, sans-serif;
	font-size: 18px;
	line-height: 1.7;
	color: #4B5A63;
	background: #FAF9F5;
	padding: 44px 42px;
	margin: 48px 0;
	border: 1px solid #D8EDF8;
	border-radius: 30px;
	box-shadow: 0 18px 38px rgba(11, 93, 143, 0.06);
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

.areanews1::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: linear-gradient(90deg, #0B5D8F 0%, #2E81BD 55%, #8FC9E8 100%);
}

.areanewsdentro {
	width: 100%;
	height: auto;
	min-height: 0;
	padding: 0;
	text-align: left;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 768px) {
	.areanews,
	.areanews1 {
		padding: 32px 18px;
		margin: 36px 0;
		border-radius: 24px;
	}
}


/* SIDEBAR LATERALE */

.box-lato {
	width: 100%;
	background: #ffffff;
	border: 1px solid #D8EDF8;
	border-radius: 26px;
	padding: 28px 22px;
	margin-bottom: 28px;
	box-sizing: border-box;
	box-shadow: 0 14px 30px rgba(11, 93, 143, 0.07);
	text-align: center;
}

.sticky-lato {
	position: -webkit-sticky;
	position: sticky;
	top: 24px;
	z-index: 20;
	align-self: flex-start;
}

.titolo-box-lato {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 27px;
	line-height: 1.15;
	font-weight: 700;
	color: #0B5D8F;
	margin: 0 0 20px 0;
	text-align: center;
}

.recensioni-slider {
	width: 100%;
	min-height: 300px;
	position: relative;
}

.recensione-slide {
	display: none;
	animation: fadeRecensione 0.45s ease;
}

.recensione-slide.recensione-attiva {
	display: block;
}

.recensione-testo {
	font-size: 16px;
	line-height: 1.55;
	text-align: center;
	margin-top: 18px;
}

.recensione-icona {
	max-width: 54px;
	height: auto;
	margin-top: 12px;
}

.recensione-firma {
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.45;
	color: #4B5A63;
	margin-top: 14px;
}

.iframe-lato {
	width: 100%;
	height: 400px;
	border: 0;
	display: block;
	border-radius: 18px;
	background: #ffffff;
}

@keyframes fadeRecensione {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media screen and (max-width: 900px) {

	.sticky-lato {
		position: static;
		top: auto;
	}

	.box-lato {
		border-radius: 24px;
		padding: 26px 20px;
		margin-bottom: 30px;
	}

	.recensioni-slider {
		min-height: auto;
	}

	.iframe-lato {
		height: 500px;
	}

}


.continua {
font-family: 'Montserrat', Helvetica, sans-serif;
	font-size:16px;
	color:#fff;
	background-color:#0173ce;
	padding-top:10px;
	padding-bottom:10px;
	padding-left:30px;
	padding-right:30px;
	border-radius: 5px;
}

A.continua{
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	text-decoration:none;
	color:#fff;
	cursor:pointer;
	border-radius: 0px;
	background-color:#0173ce;
	padding-top:10px;
	padding-bottom:10px;
	padding-left:15px;
	padding-right:15px;
	transition-duration: 0.5s;
	-webkit-transition-duration: 0.5s;
	-o-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
}
A.continua:hover {background-color: #000; color:#fff; text-decoration:none; border-radius: 10px; transition-duration: 0.5s; -webkit-transition-duration: 0.5s; -o-transition-duration: 0.5s; -moz-transition-duration: 0.5s; }


.didascalie {  font-family: 'Montserrat', Helvetica, sans-serif; font-size: 18px; color: #9CAB39;}
A.didascalie {font-family: 'Montserrat', Helvetica, sans-serif; font-size: 18px; color: #698800; text-decoration:none;}
A.didascalie:hover {color: #A2D100; text-decoration:none;}

.testo {  font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 18px;	line-height: 1.7; color: #4B5A63; margin: 28px auto 0 auto;}
A.testo {font-family: 'Montserrat', Helvetica, sans-serif; font-size: 16px; color: #525252; text-decoration:none;}
A.testo:hover {color: #000000; text-decoration: underline;}

.testopicc {  font-family: 'Montserrat', Helvetica, sans-serif; font-size: 14px; color: #777777}


.fotobordo {
	border: 1px solid #AEAEAE;
}

.chiudibottom{
width: 100%;
height:200px;
display:block;
position: relative;
z-index: 1000;
background-image:url("/img/bg-bottom.jpg");
}

.bottom {
	width: 100%;
	position: relative;
	z-index: 1000;
	overflow: hidden;
	padding: 34px 0 30px 0;
	background: url("/img/bg-bottom.jpg") top center / cover no-repeat;
}


.bottomareadati {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
	z-index: 3;
}

.bottomsx {
	float: left;
	width: 70%;
	padding-top: 10px;
}

.bottomdx {
	float: right;
	width: 27%;
	text-align: right;
	padding-top: 10px;
}

.aziendabottom {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 30px;
	line-height: 1.15;
	color: #F2E8D5;
	font-weight: 700;
	margin: 0 0 14px 0;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.30);
}

A.aziendabottom {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 30px;
	color: #F2E8D5;
	text-decoration: none;
}

A.aziendabottom:hover {
	color: #FFFFFF;
	text-decoration: none;
}

.linkbottom {
	font-family: 'Montserrat', Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.75;
	color: #F4FBFF;
	font-weight: 500;
}

A.linkbottom {
	font-family: 'Montserrat', Helvetica, sans-serif;
	font-size: 14px;
	color: #FFFFFF;
	font-weight: 600;
	text-decoration: none;
}

A.linkbottom:hover {
	color: #AEDDFF;
	text-decoration: underline;
}

.ico-bottom {
	width: 16px;
	height: auto;
	vertical-align: middle;
	margin-right: 7px;
	filter: brightness(0) saturate(100%) invert(22%) sepia(38%) saturate(1394%) hue-rotate(169deg) brightness(88%) contrast(94%);
}

@media screen and (max-width: 768px) {
	.bottom {
		padding: 34px 0 30px 0;
	}

	.bottomsx,
	.bottomdx {
		float: none;
		width: 100%;
		text-align: center;
		padding-top: 0;
	}

	.bottomdx {
		margin-top: 24px;
	}

	.aziendabottom {
		font-size: 27px;
	}

	.linkbottom,
	A.linkbottom {
		font-size: 14px;
	}
}

.areacontatti{
display:block;
float:left;
width:98%;
}

.fotocornice{
	border-style:solid;
	border-width:1px;
	border-color:#D5D1CF;
	padding:10px;
	background-color:#FFFFFF;
}


.email {  font-family: 'Montserrat', Helvetica, sans-serif; font-weight: bold; font-size: 18px; color: #2f79a3;}
A.email {font-family: 'Montserrat', Helvetica, sans-serif; font-size: 18px; color: #2f79a3; text-decoration:none;}
A.email:hover {color: #E2B13C; text-decoration: none}
A.email:visited {font-family: 'Montserrat', Helvetica, sans-serif; font-size: 18px;}

.contattinome {  font-family: 'Montserrat', Helvetica, sans-serif; font-size: 25px; color: #8E8E8E}


.form{
	font-family: 'Montserrat', Helvetica, sans-serif;
	font-size:14px;
	color:#49565D;
	width:80%;
	height:40px;
	border-style:solid;
	border-width:1px;
	border-color:#ebebeb;
	background-color:#fff;
	padding-left:5px;
	border-radius: 5px;
}

.formnote{
	font-family: 'Montserrat', Helvetica, sans-serif;
	font-size:14px;
	color:#49565D;
	width:80%;
	height:200px;
	border-style:solid;
	border-width:1px;
	border-color:#ebebeb;
	background-color:#fff;
	padding-left:5px;
	border-radius: 5px;
}

.invia {
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	color: #ffffff;
	cursor: pointer;
	border: 1px solid #0B5D8F;
	border-radius: 999px;
	background-color: #0B5D8F;
	padding: 16px 34px;
	width: 80%;
	max-width: 360px;
	display: inline-block;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0 10px 22px rgba(11, 93, 143, 0.22);
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
	-webkit-appearance: none;
	appearance: none;
}

.invia:hover {
	background-color: #ffffff;
	color: #0B5D8F;
	border-color: #0B5D8F;
	text-decoration: none;
	box-shadow: 0 8px 18px rgba(11, 93, 143, 0.16);
	transform: translateY(-1px);
}

.invia:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(92, 161, 209, 0.25);
}

.invia:active {
	transform: translateY(0);
	box-shadow: 0 5px 12px rgba(11, 93, 143, 0.18);
}

:focus {
outline: 0;
}

/* FOTO ZOOM */	
.fotozoom{
	width: 100%;
	height: 100%;
    overflow: hidden;
}

.grow img {
  width: 100%;
  height: 100%;
  -webkit-transition: all 3s ease;
     -moz-transition: all 3s ease;
       -o-transition: all 3s ease;
      -ms-transition: all 3s ease;
          transition: all 3s ease;
}
 
.grow img:hover {
  width: 130%;
  height: 130%;
}
/* FINE FOTO ZOOM */	


/* VIDEO */	
.videoWrapper {
	width: 100%;
	position: relative;
	aspect-ratio: 16 / 9;
	height: auto;
	margin: 24px auto 28px auto;
	padding: 0;
	overflow: hidden;
	border-radius: 18px;
	background: #000000;
}

.videoWrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
/* FINE VIDEO */

.sipc-nomobile{
display:block;
z-index:10;
height: 80%;
position:relative;

}

.simobile-nopc{
display:none;
}

.sitablet-nopc{
display:none;
}

.tornasu
{
right: 10px;
bottom: 10px;
position: fixed;
z-index:10000000;
}

/* FOTO TUTTE DELLA STESSA GRANDEZZA */
.boxfoto {
 width: 90%;
 height: 200px;
 position: relative;
 overflow: hidden;
 border-radius: 10px;
box-shadow: 0px 4px 10px #8E8E8E;
-moz-box-shadow:0 4 10px #8E8E8E;
-webkit-box-shadow:0 4 10px #8E8E8E;
}
.boxfoto img {
 margin: auto;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
}


A.fotoescursione{ opacity: 1; transition-duration: 0.5s; -webkit-transition-duration: 0.5s; -o-transition-duration: 0.5s; -moz-transition-duration: 0.5s; }
A.fotoescursione:hover {opacity: 0.5; transition-duration: 0.5s; -webkit-transition-duration: 0.5s; -o-transition-duration: 0.5s; -moz-transition-duration: 0.5s; }

.testoescursione{
width:95%;
font-family: 'Montserrat', Arial, Helvetica, sans-serif; 
font-size: 16px;
color: #125294;
background-color: #fff;
padding-top: 30px;
padding-bottom: 30px;
margin-top:-5px;
}

.areaescursione{
width:95%;
margin:0 auto;
}

.titoloescursione {  font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-weight: bold; font-size: 18px; color: #125294;}
A.titoloescursione {font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 18px; color: #125294; text-decoration:none;}
A.titoloescursione:hover {color: #E2B13C; text-decoration: none}
A.titoloescursione:visited {font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 18px;}

.wabottom
{
right: 10px;
bottom: 0;
position: fixed;
z-index:1000;
}

.sticky {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        padding-top: 10px;
      }

.treprezzirosso {
display:inline-block;
float:left;
width:97%;
margin-right:3px;
margin-bottom:3px;
padding-top:10px;
background-color:#F1F1F1;
text-align:center;
font-family: 'Montserrat', Arial, Helvetica, sans-serif;
color:#333333;
font-size: 14px;
}

.treprezzi {
display:inline-block;
float:left;
width:32%;
margin-right:3px;
margin-bottom:3px;
padding-top:10px;
background-color:#F1F1F1;
text-align:center;
font-family: 'Montserrat', Arial, Helvetica, sans-serif;
color:#333333;
font-size: 14px;
}

.mappa-mymaps {
	width: 100%;
	margin: 50px auto 0 auto;
	border-radius: 30px;
	overflow: hidden;
	box-shadow: 0 18px 38px rgba(11, 93, 143, 0.10);
	background: #ffffff;
}

.mappa-mymaps iframe {
	display: block;
	width: 100%;
	height: 480px;
	border: 0;
}

@media screen and (max-width: 768px) {
	.mappa-mymaps {
		margin-top: 36px;
		border-radius: 24px;
	}

	.mappa-mymaps iframe {
		height: 380px;
	}
}

.griglia-servizi {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 22px;
	margin-top: 34px;
	margin-bottom: 18px;
}

.box-servizio {
	background: #ffffff;
	border: 1px solid #D8EDF8;
	border-radius: 22px;
	padding: 24px 14px;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0 12px 24px rgba(11, 93, 143, 0.05);
}

.box-servizio img {
	width: 46px;
	height: 46px;
	object-fit: contain;
	display: block;
	margin: 0 auto 12px auto;
}

.box-servizio span {
	display: block;
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.35;
	color: #1E2A32;
}

.griglia-vantaggi {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin-top: 34px;
}

.box-vantaggio {
	background: #ffffff;
	border: 1px solid #D8EDF8;
	border-radius: 22px;
	padding: 26px 18px;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0 12px 24px rgba(11, 93, 143, 0.05);
}

.box-vantaggio img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	display: block;
	margin: 0 auto 14px auto;
}

.box-vantaggio strong {
	display: block;
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.35;
	color: #0B5D8F;
	margin-bottom: 10px;
}

.box-vantaggio span {
	display: block;
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: #4B5A63;
}

.box-nota-servizi {
	background: #F7FCFF;
	border: 1px solid #D8EDF8;
	border-radius: 22px;
	padding: 24px 28px;
	margin-top: 30px;
	box-sizing: border-box;
}

.box-cta-servizi {
	background: linear-gradient(180deg, #FFFFFF 0%, #F7FCFF 100%);
	border: 1px solid #D8EDF8;
	border-radius: 30px;
	padding: 38px 34px;
	margin-top: 48px;
	text-align: center;
	box-shadow: 0 18px 38px rgba(11, 93, 143, 0.08);
	box-sizing: border-box;
}

@media screen and (max-width: 900px) {

	.griglia-servizi {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.griglia-vantaggi {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

}

@media screen and (max-width: 520px) {

	.griglia-servizi {
		grid-template-columns: 1fr;
	}

	.griglia-vantaggi {
		grid-template-columns: 1fr;
	}

	.box-servizio {
		padding: 22px 16px;
	}

	.box-vantaggio {
		padding: 24px 18px;
	}

	.box-cta-servizi {
		padding: 32px 20px;
	}

}
