/*** CSS by Luigi Astarita @ JAM Studio ***/
/* Copyright 2026 Luigi Astarita */

/*** Import fonts ***/
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');

/* Variabili  */

:root {
	--c-bg: #F4F4F4;
	--c-base: #1A2B49;
	--c-base2: #758197;
	--c-azzurro: #00AEEF;
	--c-blu: #173B71;
	--c-grigio1: #303030;
	--color-verde: #00C232;
	--color-rosso: #EA4335;
	--btw-multi: 1.5;
}

body {
	font-family: "Red Hat Display", sans-serif;
	color: var(--c-grigio1);
	padding-bottom: 5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {}

a {
	color: var(--c-azzurro);
	text-decoration: none;
	transition: color .2s;
}

a:hover {
	color: var(--c-blu);
}

p {
	margin-bottom: 0;
}

.container {
	max-width: 1600px;
}

.contents {
	padding: 0 4rem;
}

@media (max-width: 575.98px) {
	.contents {
		padding: 0 1rem;
	}
}

.console {
	display: none;
}

/* Header */

.navbar-cont {
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
	top: 0;
	display: flex;
	justify-content: center;
	z-index: 10;
}

@media (max-width: 575.98px) {
	.navbar-cont .container {
		padding: 0;
	}
}

.navbar {
	background: #14325F;
	background: linear-gradient(180deg, rgba(20, 50, 95, 1) 0%, rgba(26, 43, 73, 1) 100%);
	border-radius: 0 0 30px 30px;
	box-shadow: 0 15px 30px rgba(26, 43, 73, .36);
	padding: 1rem 1.5rem;
	width: 100%;
	max-width: 1600px;
	transition: background .3s, box-shadow .3s;
}

@media (max-width: 575.98px) {
	.navbar {
		border-radius: 0;
	}
}

.navnobg .navbar:not(.stick) {
	background: linear-gradient(180deg, rgba(20, 50, 95, 1) 0%, rgba(26, 43, 73, .7) 100%);
	box-shadow: 0 15px 30px rgba(26, 43, 73, 0);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.navbar-brand svg {
	width: 180px;
	height: auto;
}

@media (max-width: 991.98px) {
	.navbar .navbar-nav {
		padding: 1rem 0 0 !important;
	}
}

.navbar .nav-item {
	color: #FFF;
	font-weight: 600;
	text-transform: uppercase;
	font-size: .85rem;
}

.navbar .nav-link {
	color: #FFF;
	font-weight: 600;
	text-transform: uppercase;
	font-size: .85rem;
	display: inline-block;
	line-height: 100%;
	padding: .4rem .7rem !important;
}

@media (max-width: 991.98px) {
	.navbar .nav-link {
		padding: .6rem 0 !important;
		font-size: 1rem;
	}
}

.navbar .nav-link.active {
	border-bottom: 2px solid var(--c-azzurro);
}

.navbar .nav-link svg {
	margin-top: -2px;
	margin-right: 3px;
}

.navbar .dropdown-toggle::after {
	display: none;
}

.navbar .nav-link-booknow {
	background: var(--c-azzurro);
	border-radius: 3px;
	margin-left: .4rem;
	margin-right: .4rem;
}

@media (max-width: 991.98px) {
	.navbar .nav-link-booknow {
		/* margin: .3rem -.75rem; */
		margin: .3rem 0;
		padding: .5rem .75rem !important;
	}
}

.navbar .navbar-toggler {
	border: none;
	padding: 0 .5rem;
	box-shadow: none !important;
}

.navbar .dropdown-item {
	font-size: .85rem;
	font-weight: 600;
}

@media (max-width: 991.98px) {
	.navbar .dropdown-menu {
		background: rgba(255, 255, 255, .2);
	}

	.navbar .dropdown-menu .dropdown-item {
		color: #FFF;
	}
}

.whatsapp {
	background: #27D045;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	position: fixed;
	left: 1rem;
	bottom: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform .3s;
	z-index: 100;
}

.whatsapp:hover {
	transform: scale(1.2);
}

/* Hero */

@media (max-width: 575.98px) {
	.container-hero {
		padding: 0;
	}
}

.hero {
	padding-top: 63px;
	position: relative;
	display: flex;
	border-radius: 0 0 30px 30px;
	min-height: 80vh;
	justify-content: center;
}

@media (max-width: 991.98px) {
	.hero {
		padding-top: 0;
	}
}

.hero video {
	width: 100%;
	height: 100%;
	border-radius: 0 0 30px 30px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
	z-index: 1;
}

@media (max-width: 991.98px) {
	.hero video {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.hero::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #002A69;
	opacity: .8;
	border-radius: 0 0 30px 30px;
	z-index: 2;
}

.hero::after {
	display: block;
	content: "";
	position: absolute;
	top: 70%;
	left: 0;
	right: 0;
	bottom: 0;
	background: #071537;
	background: linear-gradient(180deg, rgba(7, 21, 55, 0) 0%, rgba(7, 21, 55, .7) 100%);
	border-radius: 0 0 30px 30px;
}

.booking-cont {
	/* position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0; */
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 7rem 1rem 5rem;
	z-index: 3;
	min-height: 80vh;
}

@media (max-width: 991.98px) {
	.booking-cont {
		justify-content: flex-end;
		height: auto;
		padding-bottom: 1rem;
	}
}

.booking-cont h1 {
	color: #FFF;
	font-size: clamp(2rem, 5vw, 4rem);
	font-weight: 900;
	text-align: center;
	width: 60%;
	line-height: 100%;
	margin-bottom: 1.5rem;
}

@media (max-width: 991.98px) {
	.booking-cont h1 {
		width: 100%;
	}
}

.booking-cont h1 small {
	color: #5CD7FF;
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: 800;
	display: block;
	text-transform: uppercase;
	line-height: 100%;
	margin-bottom: .5rem;
}

.booking-cont h1 small span {
	background: -webkit-linear-gradient(180deg, rgba(78, 186, 0, 1) 0%, rgba(6, 179, 255, 1) 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.booking-form {
	background: rgba(0, 0, 0, .1);
	padding: 10px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .3);
	width: 100%;
	max-width: 700px;
}

.booking-form p {
	color: rgba(255, 255, 255, .7);
	font-size: clamp(1rem, 2vw, 1.25rem);
	font-style: italic;
	font-weight: 700;
	display: block;
	text-align: center;
	margin-bottom: .8rem;
	line-height: 120%;
}

.field {
	background: #FFF;
	border-radius: 8px;
	padding: 5px;
}

@media (max-width: 991.98px) {
	.field {
		margin-bottom: .5rem;
	}
}

.field label {
	display: block;
	text-align: center;
	padding: .3rem;
	font-weight: 700;
	font-size: .9rem;
}

@media (max-width: 575.98px) {
	.field label {
		font-size: 1.2rem;
		color: var(--c-azzurro);
		font-weight: 800;
	}
}

.field div {
	display: flex;
}

.field div .input-group:first-of-type {
	width: 62%;
}

.field div .input-group:last-of-type {
	width: 38%;
}

.field div input {
	/* padding-left: 0;
	padding-right: 4px; */
	padding: .5rem 0;
}

.field div input::-webkit-input-placeholder {
	line-height: normal !important;
}

.field input[type="date"]::-webkit-inner-spin-button,
.field input[type="date"]::-webkit-calendar-picker-indicator,
.field input[type="time"]::-webkit-inner-spin-button,
.field input[type="time"]::-webkit-calendar-picker-indicator {
	/* display: none;
	-webkit-appearance: none; */
	opacity: .01;
	cursor: pointer;
}

.field .input-group {
	height: 44px;
}

.field .input-group-text {
	border: none;
	background: var(--c-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 10px;
	padding-right: 5px;
}

.field input {
	border: none;
	background: var(--c-bg);
	font-size: .9rem;
	font-weight: 500;
	text-align: center;
	/* padding: 0; */
	background: url(../images/icons/calendar.svg) no-repeat right 5px center var(--c-bg);
}

@-moz-document url-prefix() {
	.field input {
		background: var(--c-bg);
	}
}

.field input.form-control-time {
	background: url(../images/icons/clock.svg) no-repeat right 5px center var(--c-bg);
}

@media (max-width: 575.98px) {
	.field input {
		font-size: 1.2rem;
	}
}

.field select {
	border: none;
	background: var(--c-bg);
	font-size: .9rem;
	font-weight: 500;
	text-align: center;
	text-align-last: center;
	padding: 0;
}

@media (max-width: 575.98px) {
	.field select {
		font-size: 1.2rem;
	}
}

.btn-booknow {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	background: #00BAFF;
	background: linear-gradient(180deg, rgba(0, 186, 255, 1) 0%, rgba(0, 160, 220, 1) 100%);
	border: 2px solid #00BAFF;
	font-size: 1.3rem;
	font-weight: 700;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
	min-height: 80px;
	line-height: 110%;
}

/* Highlights */

.highlights {
	background: #10376F;
	background: #124ea3;
	background: radial-gradient(farthest-corner at 0% 0%, rgba(18, 78, 163, 1) 0%, rgba(16, 55, 111, 1) 100%);
	margin-top: 3rem;
	padding: 2rem 1rem 0;
	text-align: center;
	border-radius: 30px;
}

.highlights h2 {
	color: #FFF;
	font-weight: 900;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 100%;
}

.highlights>p {
	color: rgba(255, 255, 255, .7);
	line-height: 130%;
}

.highlights>div {
	display: flex;
	gap: 1rem;
	justify-content: center;
}

@media (max-width: 991.98px) {
	.highlights>div {
		flex-wrap: wrap;
	}
}

.highlight {
	background: #FFF;
	border-radius: 10px;
	padding: 2rem 1rem 1rem;
	width: calc((100% - 4rem) / 5);
	margin: 2rem 0 -2rem;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .1);
	line-height: 120%;
}

@media (max-width: 991.98px) {
	.highlight {
		width: calc((100% - 2rem) / 3);
	}
}

@media (max-width: 767.98px) {
	.highlight {
		width: calc((100% - 1rem) / 2);
	}
}

@media (max-width: 575.98px) {
	.highlight {
		width: 100%;
	}
}

.highlight svg {
	margin-bottom: 1rem;
}

.highlight strong {
	display: block;
	text-align: center;
}

.highlight p {
	display: block;
	text-align: center;
}

.highlight:nth-of-type(1) {
	border-bottom: 10px solid #EA4335;
}

.highlight:nth-of-type(2) {
	border-bottom: 10px solid #34A853;
}

.highlight:nth-of-type(3) {
	border-bottom: 10px solid #00AEEF;
}

.highlight:nth-of-type(4) {
	border-bottom: 10px solid #FBBC04;
}

.highlight:nth-of-type(5) {
	border-bottom: 10px solid #DB34F2;
}

/* Where we are */

.location-intro {
	padding: 8rem 1rem 2rem;
	text-align: center;
}

.location-intro h3 {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(2rem, 3vw, 3rem);
}

.location-intro p {
	line-height: 130%;
}

.where-we-are {
	background: url(../images/sorrento.webp);
	background-size: cover;
	background-position: bottom;
	margin: 0 0 10rem;
	border-radius: 30px;
	height: 500px;
	display: flex;
	position: relative;
}

@media (max-width: 991.98px) {
	.where-we-are {
		flex-direction: column;
		height: auto;
		background: url(../images/sorrento-m.webp);
		background-size: cover;
		background-position: bottom;
	}
}

.sorrento-map {
	width: calc(450px + 40px);
	height: calc(500px + 40px);
	border-radius: 20px 40px 40px 40px;
	margin: 0 2rem 5rem;
	transform: translateY(2rem);
	box-shadow: 0 20px 40px rgba(0, 0, 0, .2);
	border: 20px solid #FFF;
	/* 
	overflow: hidden;*/
	position: relative;
}

@media (max-width: 991.98px) {
	.sorrento-map {
		margin: 0 1rem 5rem;
		transform: translateY(1rem);
	}
}

@media (max-width: 575.98px) {
	.sorrento-map {
		width: calc(100% - 2rem);
		height: calc(500px + 20px);
		margin: 0 1rem 5rem;
		border: 10px solid #FFF;
		border-radius: 20px 20px 40px 40px;
	}
}

.sorrento-map iframe {
	border: 20px solid #FFF;
	border-radius: 23px;
	width: 450px;
	height: 500px;
}

@media (max-width: 575.98px) {
	.sorrento-map iframe {
		width: 100%;
		height: 500px;
		border-radius: 28px;
		border-radius: 10px 10px 23px 23px;
	}
}

.sorrento-map a {
	position: absolute;
	bottom: -2.5rem;
	background: var(--c-azzurro);
	color: #FFF;
	left: calc((100% - 200px) / 2);
	padding: .8rem .5rem;
	border-radius: 10px;
	width: 200px;
	text-align: center;
	font-weight: 700;
	font-style: italic;
	font-size: 1.1rem;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
}

.sorrento-map a svg {
	margin-right: .5rem;
	margin-top: -2px;
}

.sorrento-city-center {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	padding-right: 2rem;
	margin-bottom: -3rem;
	position: relative;
	z-index: 1;
	margin-left: auto;
	width: 100%;
}

@media (max-width: 991.98px) {
	.sorrento-city-center {
		align-items: flex-start;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

@media (max-width: 575.98px) {
	.sorrento-city-center {
		padding-right: 1rem;
		margin-bottom: 0;
	}
}

.where-we-are ul {
	list-style: none;
	padding: 0;
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	justify-content: flex-end;
	width: 100%;
}

@media (max-width: 1199.98px) {
	.where-we-are ul {
		/* width: 50%; */
	}
}

@media (max-width: 575.98px) {
	.where-we-are ul {
		justify-content: center;
		gap: .5rem;
	}
}

.where-we-are ul li {
	display: flex;
	width: 23%;
	background: #FFF;
	border-radius: 10px;
	padding: 1rem;
	position: relative;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
}

@media (max-width: 1199.98px) {
	.where-we-are ul li {
		width: calc((100% - 1rem) / 2);
	}
}

@media (max-width: 500px) {
	.where-we-are ul li {
		width: 100%;
		padding: .8rem;
		border-radius: 15px;
	}
}

.where-we-are ul li>div {
	padding-left: .5rem;
	width: calc(100% - 25px);
}

.where-we-are ul li strong {
	display: block;
	font-size: .9rem;
	line-height: 110%;
}

.where-we-are ul li strong b {
	color: var(--c-azzurro);
}

.where-we-are ul li span {
	display: block;
	font-size: .8rem;
	line-height: 110%;
	opacity: .6;
}

.where-we-are ul li em {
	background: var(--c-azzurro);
	color: #FFF;
	display: block;
	position: absolute;
	width: calc(100% - 2rem);
	left: 1rem;
	top: 85%;
	font-size: .8rem;
	line-height: 110%;
	display: flex;
	align-items: center;
	border-radius: 10px;
	padding: .4rem .5rem;
	font-weight: 600;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
}

@media (max-width: 500px) {
	.where-we-are ul li em {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		border-radius: 4px;
		box-shadow: none;
		margin-top: .3rem;
	}
}

.where-we-are ul li em p {
	display: block;
	width: 90%;
	padding-left: .4rem;
}

/* Services */

.services {
	border-radius: 30px;
	background: var(--c-bg);
	text-align: center;
	padding: 3rem 3rem 2rem;
}

@media (max-width: 767.98px) {
	.services {
		padding: 3rem 1rem 0;
	}
}

@media (max-width: 575.98px) {
	.services {
		padding: 2rem .5rem 0;
	}
}

.services h4 {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(1.4rem, 2vw, 3rem);
}

.services p {
	line-height: 130%;
}

.services ul {
	list-style: none;
	padding: 2rem 0 0;
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.service {
	display: flex;
	flex-direction: column;
	width: 22%;
	margin: 50px 1.5% 2rem;
	background: #FFF;
	border-radius: 15px;
	box-shadow: 0 15px 30px rgba(0, 0, 0, .1);
	align-items: center;
	padding: 0 1.5rem 1.5rem;
}

@media (max-width: 1199.98px) {
	.service {
		width: 30%;
		margin: 50px 1.5% 2rem;
	}
}

@media (max-width: 767.98px) {
	.service {
		width: 46%;
		margin: 50px 2% 2rem;
	}
}

.service span {
	width: 100px;
	height: 100px;
	border-radius: 50px;
	background: #124ea3;
	background: radial-gradient(farthest-corner at 0% 0%, rgba(18, 78, 163, 1) 0%, rgba(16, 55, 111, 1) 100%);
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 15px 30px rgba(0, 0, 0, .1);
	margin-top: -50px;
	margin-bottom: 1rem;
}

.service-car-valet span {
	background: #415C83;
	background: radial-gradient(farthest-corner at 0% 0%, #415C83 0%, #0058F4 100%);
}

.service-scooter-rental span {
	background: #EA4335;
	background: radial-gradient(farthest-corner at 0% 0%, #EA4335 0%, #EAAE35 100%);
}

.service-luggage-storage span {
	background: #00C232;
	background: radial-gradient(farthest-corner at 0% 0%, #00C232 0%, #348DA8 100%);
}

.service-ev-charging span {
	background: #FBBC04;
	background: radial-gradient(farthest-corner at 0% 0%, #FBBC04 0%, #68DB03 100%);
}

.service-bike-storage span {
	background: #00AEEF;
	background: radial-gradient(farthest-corner at 0% 0%, #00AEEF 0%, #99C200 100%);
}

.service-free-wi-fi span {
	background: #CD00F8;
	background: radial-gradient(farthest-corner at 0% 0%, #CD00F8 0%, #7900EF 100%);
}

.service-courtesy-room span {
	background: #E06BF2;
	background: radial-gradient(farthest-corner at 0% 0%, #E06BF2 0%, #3A76E1 100%);
}

.service-restroom-facilities span {
	background: #989DA5;
	background: radial-gradient(farthest-corner at 0% 0%, #989DA5 0%, #1A2B49 100%);
}


.service strong {
	font-weight: 700;
	font-size: 1.1rem;
}

.service p {
	font-size: .9rem;
	opacity: .6;
}

/* Galleria */

.galleria {
	display: flex;
	justify-content: center;
	padding: 5rem 1rem;
	gap: 2rem;
	flex-wrap: wrap;
}

@media (max-width: 991.98px) {
	.galleria {
		padding: 3rem 0;
		gap: 1rem;
	}
}

.galleria a {
	display: block;
	width: calc((100% - 6rem) / 4);
}

@media (max-width: 991.98px) {
	.galleria a {
		width: calc((100% - 1rem) / 2);
	}
}

.galleria img {
	border-radius: 15px;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .1);
	width: 100%;
	height: auto;
}

/* special-rates */

.special-rates {
	background: var(--c-bg);
	padding: 0 1rem 3rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 30px;
}

.special-rates svg {
	margin-top: -2rem;
	margin-bottom: 1rem;
}

.special-rates h5 {
	text-align: center;
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(1.4rem, 3vw, 2.5rem);
}

.special-rates p {
	text-align: center;
	max-width: 700px;
}

/* Book now */

.book-now {
	position: relative;
	background: url(../images/booking-bg.webp);
	background-size: cover;
	background-position: center;
	margin: 4rem 0;
	border-radius: 30px;
	padding: 5rem 1rem;
}

@media (max-width: 991.98px) {
	.book-now {
		padding-bottom: 260px;
		padding-top: 3rem;
	}
}

@media (max-width: 575.98px) {
	.book-now {
		padding-bottom: 180px;
	}
}

.book-now .booking-cont {
	position: relative;
	min-height: auto;
	padding-top: 2rem;
}

.book-now img {
	position: absolute;
	left: 0;
	bottom: -80px;
	width: 540px;
}

@media (max-width: 575.98px) {
	.book-now img {
		bottom: -40px;
		width: 340px;
	}
}

/* FAQ */

.faq {
	text-align: center;
	padding: 4rem 0;
	max-width: 800px;
	margin: auto;
}

.faq h6 {
	font-weight: 700;
	line-height: 100%;
	font-size: clamp(1.4rem, 2vw, 3rem);
	color: var(--c-azzurro);
	margin-bottom: .2rem;
}

.faq p {}

.accordion {
	margin-top: 2rem;
	border-bottom: 1px solid #DADADA;
}

.accordion-item {
	border: none;
}

.accordion-button {
	border-top: 1px solid #DADADA !important;
	text-align: center;
	justify-content: center;
	font-weight: 800;
	font-size: 1.1rem;
	box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
	color: inherit;
	background-color: transparent;
	box-shadow: none;
}

.accordion-button::after {
	display: none;
}

.accordion-body {
	padding-top: 0;
	font-size: .9rem;
}

/* Footer */

.footer {
	background: #1A2B49;
	padding: 2rem;
	border-radius: 30px;
	box-shadow: 0 20px 40px rgba(26, 43, 73, .4);
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}

@media (max-width: 650px) {
	.footer {
		padding: 1.5rem;
	}
}

.footer-col-1 {
	display: flex;
	flex-direction: column;
	color: rgba(255, 255, 255, .5);
	--footer-pl: 52px;
}

@media (max-width: 1199.98px) {
	.footer-col-1 {
		width: 200px;
		--footer-pl: 41px;
	}
}

@media (max-width: 1099.98px) {
	.footer-col-1 {
		width: 300px;
		--footer-pl: 52px;
	}
}

@media (max-width: 650px) {
	.footer-col-1 {
		--footer-pl: 0;
	}
}

.footer-col-1 .navbar-brand svg {
	width: 240px;
	max-width: 100%;
}

.footer-col-1 span {
	display: block;
	padding: .6rem 0 .6rem var(--footer-pl);
}

.footer-col-1 div {
	padding-left: var(--footer-pl);
}

.footer-col-1 div svg {
	margin-right: 4px;
}

.footer-col-2 {
	padding: 0 1rem;
	border-left: 1px solid rgba(255, 255, 255, .2);
	font-size: .9rem;
}

@media (max-width: 1210px) {
	.footer-col-2 {
		width: 260px;
	}
}

@media (max-width: 1099.98px) {
	.footer-col-2 {
		width: calc(100% - 300px);
	}
}

@media (max-width: 650px) {
	.footer-col-2 {
		width: 100%;
		border: none;
		/* padding: 1rem 1rem 0 3.2rem; */
		padding: 1rem 1rem .5rem 0;
	}
}

.footer-col-2 p {
	color: #FFF;
	line-height: 120%;
	margin-bottom: .8rem;
}

.f-whatsapp {
	color: #27D045;
	display: flex;
	width: 320px;
	align-items: flex-start;
	max-width: 100%;
}

@media (max-width: 899.98px) {
	.f-whatsapp {
		padding-bottom: 2rem;
	}
}

@media (max-width: 650px) {
	.f-whatsapp {
		padding-bottom: 1rem;
	}
}

.f-whatsapp:hover {
	color: #27D045;
}

.f-whatsapp span {
	width: calc(100% - 40px);
	padding-left: 8px;
	line-height: 120%;
}

.f-whatsapp svg * {
	fill: #27D045;
}

.footer-col-3 {
	padding: 0 1rem;
	border-left: 1px solid rgba(255, 255, 255, .2);
	font-size: .9rem;
}

@media (max-width: 1099.98px) {
	.footer-col-3 {
		margin-left: 300px;
	}
}

@media (max-width: 899.98px) {
	.footer-col-3 {
		margin-left: 0;
	}
}

.footer-col-4 {
	padding: 0 1rem;
	border-left: 1px solid rgba(255, 255, 255, .2);
	font-size: .9rem;
}

.footer-col-5 {
	padding: 0 1rem;
	border-left: 1px solid rgba(255, 255, 255, .2);
	font-size: .9rem;
}

.footer .navbar-nav .nav-link {
	color: rgba(255, 255, 255, .8);
	font-weight: 700;
	text-transform: uppercase;
	font-size: .9rem;
	padding-top: 0;
}

.footer .navbar-nav .nav-link:hover {
	color: #FFF;
}

.footer-col-3,
.footer-col-4,
.footer-col-5 {
	min-width: 160px;
}

@media (max-width: 899.98px) {

	.footer-col-3,
	.footer-col-4,
	.footer-col-5 {
		min-width: 150px;
	}
}

@media (max-width: 650px) {

	.footer-col-3,
	.footer-col-4,
	.footer-col-5 {
		width: 100%;
		border: none;
		border-top: 1px solid rgba(255, 255, 255, .2);
		/* padding: .8rem 1rem 1rem 3.2rem; */
		padding: .8rem 1rem 1rem 0;
	}
}

.gateway-pagamento div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin-bottom: 5rem;
}

.gateway-pagamento span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 1rem;
	border-left: 1px solid rgba(0, 0, 0, .2);
	margin-bottom: .5rem;
}

.gateway-pagamento span:first-of-type {
	border-left: none;
}

/* Firma */

#jamstudio {
	width: auto;
	height: 1.625rem;
}

.logo-signature {
	fill: #1A2B49;
}

/* Hero 2 */

.hero2 {
	background: url(../images/sorrento.webp);
	background-size: cover;
	background-position: bottom;
	min-height: 350px;
	border-radius: 0 0 30px 30px;
}

.contents h1 {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(2rem, 3vw, 3rem);
}

.contents p {
	margin-bottom: 1rem;
}

.contents .services {
	padding: 0;
	background: transparent;
}

.contents .services ul {
	justify-content: space-between;
}

.contents .service {
	background: var(--c-bg);
	box-shadow: none;
	width: 32%;
	margin: 50px 0 2rem;
}

@media (max-width: 991.98px) {
	.contents .service {
		width: 48%;
	}
}

@media (max-width: 500px) {
	.contents .service {
		width: 100%;
	}
}

.contents .service p {
	margin-bottom: 0;
}

.contents .service.service-book-now {
	background: none;
	justify-content: center;
}

@media (max-width: 991.98px) {
	.contents .service.service-book-now {
		margin: 4rem auto 0;
	}
}

.contents .service.service-book-now .btn {
	background: var(--c-azzurro);
	border-color: var(--c-azzurro);
	border-radius: 20px;
	padding: .3rem 3rem;
	font-weight: 700;
}

.contents .service.service-book-now p {
	display: block;
	max-width: 250px;
}

.service-read-more {
	border: none;
	background: transparent;
	color: var(--c-azzurro);
	font-weight: 500;
}

.service-read-more svg * {
	stroke: var(--c-azzurro);
}

.modal-service h3,
.modal-service h4 {
	font-weight: 900;
	margin: 2rem 0 1rem;
	font-size: 1.25rem !important;
	color: var(--c-azzurro);
}

.modal-service .btn-primary {
	background: var(--c-azzurro);
	border-color: var(--c-azzurro);
	font-weight: 700;
	margin: auto;
}

.highlight-noztl {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	border-top: 7px solid var(--c-azzurro) !important;
	border-bottom: 7px solid var(--c-azzurro) !important;
	border-radius: 30px;
	padding: 0 2rem 2rem;
}

.highlight-noztl svg {
	width: 80px;
	height: 80px;
	margin-top: -2rem;
}

.highlight-noztl svg circle {
	fill: #FFF;
}

.highlight-noztl strong {
	color: var(--c-azzurro);
	font-weight: 900;
	font-size: 1.2rem;
	margin-bottom: .2rem;
}

.highlight-noztl p {
	margin-bottom: 0;
	font-size: .9rem;
}

.how-to-reach-fuorimura h2 {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(2rem, 2vw, 3rem);
}

.get-directions {
	margin: 1.5rem 0;
	background: var(--c-bg);
	border-radius: 30px;
	padding: 1rem 1rem 1rem 2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media (max-width: 575.98px) {
	.get-directions {
		flex-direction: column;
		gap: 1rem;
		padding: 1.5rem;
	}
}

.get-directions a {
	background: var(--c-azzurro);
	color: #FFF;
	padding: .8rem .5rem;
	border-radius: 10px;
	width: 200px;
	text-align: center;
	font-weight: 700;
	font-style: italic;
	font-size: 1.1rem;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
	text-align: center;
}

@media (max-width: 575.98px) {
	.get-directions a {
		width: 100%;
	}
}

.get-directions a svg {
	margin-right: .3rem;
}

.how-to-reach-fuorimura img {
	border-radius: 30px;
	width: 100%;
	height: auto;
	box-shadow: 0 15px 30px rgba(0, 0, 0, .2);
}

/* Rates */

.rates-table {
	padding: 1rem;
	background: var(--c-bg);
	border-radius: 30px;
}

.rates-table .table {
	border-collapse: separate;
	border-spacing: 10px;
	margin-bottom: 0;
}

@media (max-width: 767.98px) {
	.rates-table .table {
		border-spacing: 0;
	}
}

.rates-table tr {}

.rates-table th {
	border: none;
	text-align: center;
	vertical-align: middle;
}

.rates-table td {
	border: none;
	background: #FFF;
	border-radius: 10px;
	padding: 1rem;
	text-align: center;
	vertical-align: middle;
}

@media (max-width: 767.98px) {
	.rates-table .table td {
		margin-bottom: .5rem;
		text-align: left;
	}
}

.rates-table th {}

.rates-table .tl {
	text-align: left;
}

.rates-table td {}

.rates-table th strong,
.rates-table td strong,
.rates-table th span,
.rates-table td span {
	line-height: 110%;
}

.rates-table1 th strong,
.rates-table1 td strong,
.rates-table1 th span,
.rates-table1 td span {
	display: block;
}

.rates-table td strong {
	font-weight: 900;
}

.rates-table td span {
	font-size: .9rem;
	/* opacity: .5; */
}

.rates-table td span i {
	width: 100% !important;
	display: block;
	height: 1px;
	clear: both;
}

@media (max-width: 39.9375em) {

	.tablesaw-stack td .tablesaw-cell-label,
	.tablesaw-stack th .tablesaw-cell-label {
		width: 100% !important;
		display: flex;
		align-items: baseline;
		justify-content: center;
		padding: 0;
	}

	.tablesaw-cell-content {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center;
		padding-top: .3rem;
		display: flex !important;
		justify-content: center;
		flex-wrap: wrap;
	}

	.tablesaw-stack td .tablesaw-cell-label strong {
		margin-right: 5px;
	}

	.tablesaw-stack td .tablesaw-cell-label span {
		opacity: .5;
	}

	.rates-table td {
		padding: .8rem;
	}

	.rates-table td strong {
		margin-right: 5px;
	}

	.rates-table .tl {
		background: var(--c-azzurro);
		color: #FFF;
	}
}

/* Contacts */

.form {
	background: var(--c-bg);
	padding: 1.5rem;
	border-radius: 15px;
}

.form h2 {
	font-size: 1.4rem;
	font-weight: 800;
	margin-bottom: 0;
}

.form label {
	font-size: .9rem;
	font-weight: 700;
	margin-bottom: 0;
}

.form .btn-success {
	background: var(--color-verde);
	border-color: var(--color-verde);
	padding: .5rem 2rem;
}

.contact {
	background: var(--c-bg);
	padding: 1.5rem;
	border-radius: 15px;
	display: flex;
	justify-content: space-between;
	margin-bottom: 1rem;
}

@media (max-width: 575.98px) {
	.contact {
		flex-direction: column;
	}
}

.contact-whatsapp {
	background: #27D045;
	color: #FFF;
}

.contact svg {
	width: 32px;
}

.contact-email svg {
	margin-top: .2rem;
}

.contact span {
	display: block;
	width: calc(100% - 40px);
}

.contact span strong {
	line-height: 120%;
	margin-bottom: .2rem;
}

.contact-whatsapp span strong {
	color: #FFF;
}

.contact-whatsapp span strong a {
	color: #FFF;
}

.contact label {
	font-weight: 700;
	font-size: 1.2rem;
	display: block;
	padding-top: .2rem;
}

@media (max-width: 1199.98px) {
	.contact label {
		font-size: 1rem;
	}
}

.contact strong {
	display: block;
	font-weight: 900;
	font-size: 1.2rem;
	color: var(--c-azzurro);
}

@media (max-width: 1199.98px) {
	.contact strong {
		font-size: 1rem;
	}
}

.contact p {
	margin: 0;
	font-size: .9rem;
	line-height: 120%;
}

@media (max-width: 1199.98px) {
	.contact p {
		font-size: .8rem;
	}
}

/* Boking Step 2 */

.booking-step2 {
	padding-top: 150px;
	padding-bottom: 4rem;
}

.booking-step2 h1 {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(2rem, 3vw, 3rem);
	margin-bottom: .3rem;
}

.booking-step2 .card {
	background: var(--c-bg);
	border-radius: 30px;
	padding: 2rem;
	border: none;
}

.card-dates {
	margin-bottom: 5rem;
}

.card-dates-arrival,
.card-dates-departure {
	display: flex;
	justify-content: space-between;
}

@media (max-width: 575.98px) {

	.card-dates-arrival {
		margin-bottom: 1rem;
	}

	.card-dates-departure {
		margin-bottom: .5rem;
	}

	.card-dates-arrival svg {
		margin-right: 1rem;
	}

	.card-dates-departure svg {
		margin-left: 1rem;
	}
}

.card-dates-arrival span,
.card-dates-departure span {
	width: calc(100% - 80px);
	text-align: left;
	display: flex;
	flex-direction: column;
	line-height: 120%;
}

@media (max-width: 575.98px) {

	.card-dates-arrival span,
	.card-dates-departure span {
		width: calc(100% - 90px);
	}
}

.card-dates-arrival span label,
.card-dates-departure span label {
	font-weight: 800;
}

.card-dates-arrival span strong,
.card-dates-departure span strong {
	font-weight: 800;
	color: var(--c-azzurro);
}

.card-dates-arrival span em,
.card-dates-departure span em {
	font-style: normal;
	font-size: .9rem;
	opacity: .6;
}

.card-dates-total {
	font-size: .9rem;
	padding-top: .5rem;
	border-top: 3px dotted #CCC;
	margin: .5rem 1rem 0;
	width: calc(100% - 2rem);
	color: var(--c-base2);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.card-dates-total strong {
	color: var(--c-azzurro);
}

.card-dates-total a {
	display: inline-block;
	background: #FFF;
	box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
	padding: .3rem .8rem .3rem;
	border-radius: 10px;
	font-style: italic;
	color: var(--c-base2);
	font-size: .85rem;
	margin: .8rem 0 -2.8rem;
}

.booking-step2 input,
.booking-step2 select {
	border-color: #E5E5E5;
}

.booking-step2 h2 {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(1.4rem, 2vw, 3rem);
	margin-bottom: .1rem;
}

.card-vehicle {
	padding-top: 1.5rem !important;
	margin-bottom: 5rem;
}

.card-vehicle-type {
	text-align: left;
}

.booking-step2 .form-label {
	line-height: 100%;
	font-size: 1.1rem;
	margin-bottom: .5rem;
	display: block;
	text-align: left;
	font-weight: 800;
}

.card-vehicle-type .btn-group {
	width: 100%;
}

@media (max-width: 575.98px) {
	.card-vehicle-type .btn-group {
		flex-wrap: wrap;
	}
}

.card-vehicle-type .btn {
	border-color: #E5E5E5;
	background: #FFF;
	color: var(--c-base);
	font-size: .9rem;
	line-height: 120%;
	padding: 1rem;
	border-radius: 10px;
}

@media (max-width: 575.98px) {
	.card-vehicle-type .btn {
		width: 100%;
	}

	.card-vehicle-type .btn:first-of-type {
		border-radius: 10px 10px 0 0 !important;
	}

	.card-vehicle-type .btn:last-of-type {
		border-radius: 0 0 10px 10px !important;
	}
}

.card-vehicle-type .btn-group>.btn-check:checked+.btn {
	background: var(--c-azzurro);
	border-color: var(--c-azzurro);
	position: relative;
	box-shadow: none !important;
}

.card-vehicle-type .btn-group>.btn-check:checked+.btn::before {
	background: #FFF url(../images/icons/check.svg) no-repeat 5px 9px;
	border: 2px solid var(--c-azzurro);
	display: inline-block;
	content: "";
	width: 32px;
	height: 32px;
	border-radius: 20px;
	position: absolute;
	top: -16px;
	right: 10px;
}

@media (max-width: 575.98px) {
	.card-vehicle-type .btn-group>.btn-check:checked+.btn::before {
		top: calc((100% - 32px) / 2);
		right: -16px;
	}
}

.card-vehicle-type .btn strong {
	display: block;
	font-size: 1rem;
	font-weight: 900;
}

.booking-step2 .form-control {
	padding: 1rem;
	border-radius: 10px;
}

.booking-step2 .form-check-label {
	text-align: left;
	font-size: .9rem;
}

.booking-step2 .form-switch {
	padding-left: 3rem;
}

.booking-step2 .form-switch .form-check-input {
	width: 2.5rem;
	margin-left: -3rem;
	height: 1.3rem;
	margin-top: .15rem;
	box-shadow: none !important;
}

.booking-step2 .form-check-input:checked {
	background-color: var(--color-verde);
	border-color: var(--color-verde);
}

.card-details {
	padding-top: 1.5rem !important;
	margin-bottom: 5rem;
}

.extra-services {
	margin-bottom: 5rem;
}

.extra-services {
	position: relative;
}

.extra-services .form-check-input {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}

.extramain {
	position: relative;
	padding-top: 1rem;
}

.extracont .card {
	padding-bottom: 1rem;
}

.form-check-input:checked+.extracont .card {
	box-shadow: 0 0 0 2px var(--c-azzurro), 0 20px 30px rgba(0, 0, 0, .2);
}

.card-extra {
	display: flex;
	flex-direction: row;
	position: relative;
	z-index: 2;
}

@media (max-width: 575.98px) {
	.card-extra {
		flex-wrap: wrap;
	}
}

.extra-added {
	position: absolute;
	top: -16px;
	height: 32px;
	border-radius: 20px;
	border: 2px solid var(--c-azzurro);
	background: #FFF;
	font-size: .8rem;
	font-weight: 700;
	color: var(--c-azzurro);
	padding: 0 1rem 0 .5rem;
	line-height: 27px;
	white-space: nowrap;
	transition: max-width .3s, opacity .3s, padding .3s;
	max-width: 0;
	opacity: 0;
	padding: 0;
}

.form-check-input:checked+.extracont .extra-added {
	padding: 0 1rem 0 .5rem;
	max-width: 100%;
	opacity: 1;
}

.extra-added svg {
	margin-right: .2rem;
}

.card-extra img {
	width: 300px;
	height: auto;
	margin-right: 1.5rem;
	border: 4px solid #FFF;
	border-radius: 10px;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
	margin-bottom: 1rem;
}

.extra-details {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	text-align: left;
}

.extra-details strong {
	font-size: 1.2rem;
	font-weight: 800;
}

.extra-details span {
	color: var(--c-base2);
	font-size: .9rem;
}

.extra-details b {
	color: var(--c-azzurro);
	font-size: 1rem;
	padding: .8rem 0;
	display: block;
	font-weight: 800;
}

.extra-details i {
	display: inline-block;
	background: var(--color-verde);
	padding: .4rem .8rem;
	line-height: 100%;
	border-radius: 3px;
	color: #FFF;
	font-size: .9rem;
	font-weight: 800;
	margin-bottom: .2rem;
}

.extra-details .btn {
	background: var(--c-azzurro);
	border-color: var(--c-azzurro);
	padding: .9rem 1.5rem;
	display: flex;
	line-height: 100%;
	align-items: center;
	font-weight: 700;
	margin-bottom: 1rem;
}

.extra-details .btn-primary {
	display: inline-block;
}

.form-check-input:checked+.extracont .btn-primary {
	display: none;
}

.extra-details .btn-danger {
	background: var(--color-rosso);
	border-color: var(--color-rosso);
	display: none;
}

.form-check-input:checked+.extracont .btn-danger {
	display: inline-block;
}

.extra-details .btn svg {
	margin-right: .6rem;
}

.extra-options {
	background: var(--c-bg);
	border-radius: 0 0 30px 30px;
	padding: 0 2rem;
	margin-top: -3rem;
	margin-bottom: 5rem;
	z-index: 1;
	position: relative;
	max-height: 0;
	overflow: hidden;
	transition: margin .3s, max-height .3s, padding .3s;
}

.extra-options-days {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.form-check-input:checked+.extracont .extra-options {
	max-height: 1500px;
	padding: 5rem 2rem 1rem;
	margin-bottom: 2rem;
}

.form-check-input:checked+.extracont .extra-options.no-options {
	padding: 2rem 2rem 1rem;
}

.days-group {
	margin-bottom: .5rem;
}

.days-group:first-of-type {
	margin-top: 1rem;
}

.days-group .input-group-text {
	background: #FFF;
	flex-direction: column;
	font-size: .9rem;
	font-weight: 700;
	border-color: #E5E5E5 !important;
	border-radius: 10px 0 0 10px;
}

.days-group .input-group-text em {
	display: block;
	font-style: normal;
	text-transform: uppercase;
	font-size: .75rem;
	font-weight: 600;
}

.days-group .btn-outline-primary {
	background: #FFF !important;
	border-color: #E5E5E5 !important;
	box-shadow: none !important;
	color: var(--c-base) !important;
	font-size: .9rem;
	font-weight: 700;
	position: relative;
}

.days-group .btn-check:disabled+.btn-outline-primary {
	opacity: 1;
}

.days-group .btn-check:disabled+.btn-outline-primary i {
	position: absolute;
	width: 100%;
	left: 0;
	right: 0;
	color: var(--color-rosso);
	text-transform: uppercase;
	font-size: .75rem;
	background: rgba(255, 255, 255, .7);
	padding: .3rem 0;
	top: 0;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50px;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(2px);
}

.days-group .btn-check:disabled+.btn-outline-primary i span {
	transform: rotate(-15deg);
}

.days-group .btn-outline-primary:last-of-type {
	border-radius: 0 10px 10px 0;
}

.days-group .btn-check:checked+.btn-outline-primary {
	background: var(--c-azzurro) !important;
	border-color: var(--c-azzurro) !important;
	color: #FFF !important;
}

.days-group .btn-outline-primary em {
	display: block;
	font-style: normal;
	text-transform: uppercase;
	font-size: .75rem;
	font-weight: 600;
}

.totals {
	border-bottom: 4px solid var(--color-verde) !important;
	text-align: left;
}

.total {
	border-bottom: 3px dotted #CCC;
	display: flex;
	justify-content: space-between;
}

.total strong {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

.total strong i {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(1.4rem, 2vw, 3rem);
	font-style: normal;
	margin-bottom: .2rem;
}

.total strong span {
	font-size: .9rem;
	color: var(--c-base2);
	margin-bottom: .5rem;
	font-weight: 400;
	line-height: 120%;
}

.total b {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(1.4rem, 2vw, 3rem);
	color: var(--color-verde);
	white-space: nowrap;
	text-align: right;
}

.total b button {
	display: block;
	border: none;
	background: transparent;
	font-size: .9rem;
	font-weight: 400;
	text-align: right;
	margin-left: auto;
	padding: 0;
	color: var(--c-base2);
}

.subtotals {
	padding-top: .5rem;
}

.subtotal {
	display: flex;
	justify-content: space-between;
}

.subtotal:last-of-type {
	border-bottom: 3px dotted #CCC;
	padding-bottom: .5rem;
}

.subtotal strong {
	line-height: 120%;
	margin-bottom: .5rem;
}

.subtotal:last-of-type strong {
	margin-bottom: 0;
}

.subtotal em {
	font-style: normal;
	font-size: .9rem;
	display: block;
	font-weight: 400;
}

.subtotal b {
	color: var(--color-verde);
}

.accept-terms {
	border-bottom: 3px dotted #CCC;
	padding-bottom: .5rem;
}

.pay-noworlater {
	border-bottom: 3px dotted #CCC;
	display: flex;
	padding: .5rem 0;
}

.pay-noworlater div {
	width: 50%;
	text-align: center;
	display: flex;
	flex-direction: column;
}

.pay-noworlater em {
	font-style: normal;
	font-weight: 600;
}

.pay-noworlater strong {
	font-size: clamp(1.2rem, 1.5vw, 2rem);
	font-weight: 900;
}

.pay-noworlater div:first-of-type strong {
	color: var(--color-verde);
}

.pay-noworlater div:last-of-type strong {
	color: var(--c-azzurro);
}

.pay-total {
	display: flex;
	align-items: flex-start;
	padding-top: 1.5rem;
}

@media (max-width: 575.98px) {
	.pay-total {
		flex-wrap: wrap;
		padding-top: 1rem;
	}
}

.pay-total button {
	background: var(--color-verde);
	border-color: var(--color-verde);
	padding: 1rem 2rem;
	font-weight: 800;
	margin-right: 1rem;
}

@media (max-width: 575.98px) {
	.pay-total button {
		width: 100%;
		margin-bottom: 1rem;
		margin-right: 0;
	}
}

.pay-total ul {
	list-style: none;
	padding: 0;
	columns: 2;
	margin: 0;
	column-gap: 0;
}

.pay-total li {
	text-align: left;
	background: url(../images/icons/check2.svg) no-repeat 0 3px;
	padding-left: 22px;
	font-size: .85rem;
	line-height: 120%;
	margin-bottom: .3rem;
}

.secure-payments {
	font-size: .9rem;
	color: var(--c-base2);
	padding-top: 1.5rem;
	margin-bottom: .5rem !important;
}

.secure-payments svg {
	margin-right: .5rem;
}

/* Summary */

.card-summary {
	align-items: flex-start;
}

.card-summary strong {
	font-size: 1.1rem;
	font-weight: 800;
}

.card-summary span {
	font-size: .9rem;
}

.booking-step3 {
	padding-top: 150px;
	padding-bottom: 4rem;
}

.booking-step3 h1 {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(2rem, 3vw, 3rem);
	margin-bottom: .3rem;
	color: var(--color-verde);
	padding-top: .4rem;
}

.booking-step3 h2 {
	font-weight: 900;
	line-height: 100%;
	font-size: clamp(1.4rem, 2vw, 3rem);
	margin-bottom: .1rem;
}

.booking-step3 .card {
	background: var(--c-bg);
	border-radius: 30px;
	padding: 2rem;
	border: none;
}

.summary-help {
	max-width: 500px;
	margin: auto;
}

.summary-help svg {
	margin-bottom: .4rem;
}

.summary-help .getdir {
	background: var(--c-azzurro);
	color: #FFF;
	left: calc((100% - 200px) / 2);
	padding: .8rem .5rem;
	border-radius: 10px;
	width: 200px;
	text-align: center;
	font-weight: 700;
	font-style: italic;
	font-size: 1.1rem;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
	display: inline-block;
}

.summary-help .getdir svg {
	margin-right: .5rem;
	margin-bottom: 0px;
}

/* Reservations */

.my-account h2 {
	font-weight: 800
}

.reservation {
	border-radius: 30px;
	background: var(--c-bg);
	padding: 1.5rem;
	display: flex;
	align-items: flex-start;
	margin-bottom: 1rem;
}

@media (max-width: 767.98px) {
	.reservation {
		flex-direction: column;
	}
}

.reservation-details {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0;
}

.reservation-details div {
	padding-right: 2rem;
}

@media (max-width: 1199.98px) {
	.reservation-details div {
		width: 25%;
	}
}

@media (max-width: 991.98px) {
	.reservation-details div {
		width: 50%;
	}
}

.reservation label {
	display: block;
	font-size: .85rem;
	font-weight: 600;
	white-space: nowrap;
}

.reservation strong {
	display: block;
	font-weight: 900;
}

.reservation .text-primary {
	color: var(--c-azzurro) !important;
}

.reservation-buttons {
	display: flex;
}

.reservation .btn {
	padding: .65rem 1.5rem;
	white-space: nowrap;
	font-size: .9rem;
	font-weight: 800;
}

.reservation .btn-primary {
	background: var(--c-azzurro);
	border-color: var(--c-azzurro);
}

@media (min-width: 768px) {
	.reservation .btn:last-of-type {
		border-radius: .25rem 10px 10px .25rem;
	}
}

@media (max-width: 767.98px) {
	.reservation .btn:first-of-type {
		/* border-radius: .25rem .25rem .25rem 10px; */
		border-bottom-right-radius: 10px;
	}

	.reservation .btn:last-of-type {
		/* border-radius: .25rem .25rem 10px .25rem; */
		border-bottom-left-radius: 10px;
	}
}

/* Login */

.loginbox {
	background: var(--c-bg);
	border-radius: 30px;
	padding: 1.5rem;
	margin-top: -10rem !important;
	box-shadow: 0 15px 30px rgba(0, 0, 0, .2);
}

.loginbox2 {
	margin-top: 3rem !important;
	text-align: center;
	/* background: #FFF; */
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.loginbox h1 {
	text-align: center;
}

.loginbox2 h2 {
	font-size: 1.2rem;
	margin: 0;
}

.loginbox2 .btn {
	/* border-radius: .25rem 10px 10px .25rem; */
	border-radius: 10px;
}

.loginbox .form-label {
	font-size: .9rem;
	font-weight: 700;
	line-height: 100%;
	margin-bottom: .2rem;
}

.loginbox .form-control {
	padding: .6rem .8rem;
}

.loginbox .btn-primary:not(.btn-sm) {
	background: var(--c-azzurro);
	border-color: var(--c-azzurro);
	display: block;
	width: 100%;
	font-weight: 700;
	padding: .8rem 2rem;
	font-size: 1.2rem;
	border-radius: .25rem .25rem 10px 10px;
}

.forgot-password {
	font-size: .85rem;
	display: block;
	text-align: right;
	padding-top: .2rem;
}

.back-to-login {
	display: block;
	padding: 1rem;
	text-align: center;
}

.reviews {
	display: flex;
	padding: 5rem 0 0;
	justify-content: center;
	flex-wrap: wrap;
}

.reviews a {
	display: flex;
	padding: 2rem;
	justify-content: center;
	align-items: center;
	background: var(--c-bg);
	border-radius: 30px;
	margin: 1rem;
	min-width: 260px;
	min-height: 160px;
}

/* Terms */

.terms p,
.terms ul {
	font-size: .9rem;
}

.terms h4 {
	font-weight: 700;
}

.btn-myprofile {
	background: var(--c-azzurro);
	border-color: var(--c-azzurro);
	font-weight: 600;
}

.myprofile h1 {
	text-align: left;
}

.myprofile p {
	text-align: left;
}

/* Alerts */

.alert.alert-danger {
	background: var(--color-rosso);
	border-color: var(--color-rosso);
	color: #FFF;
	font-weight: 600;
}

.alert.alert-success {
	background: var(--color-verde);
	border-color: var(--color-verde);
	color: #FFF;
	font-weight: 600;
}

/* Esiti */

.boxesito {
	background: #FFF;
	display: flex;
	flex-direction: column;
}

.boxesito h1 {
	color: var(--color-verde);
	font-size: clamp(1.4rem, 2vw, 3rem);
}

.boxesito h1 svg {
	margin-bottom: .6rem;
}

.boxesito .btn {
	margin: auto;
}

.boxesito .btn svg {
	margin-left: .6rem;
}

.boxesito .btn-success {
	background: var(--color-verde);
	border-color: var(--color-verde);
	font-size: clamp(1rem, 1.2vw, 1.6rem);
	font-weight: 700;
	padding: .6rem 2rem;
}

/* Conferma pagamento */

.btn-voucher {
	background: var(--color-verde);
	border-color: var(--color-verde);
	font-size: clamp(1.2rem, 1.4vw, 1.6rem);
	font-weight: 700;
	padding: .6rem 2rem;
}

/* Esito negativo */

.esito-negativo {
	background: var(--c-bg);
	border-radius: 30px;
	padding: 2rem;
	border: none;
	margin-bottom: 3rem;
}

.esito-negativo h1 {
	color: var(--color-rosso);
}

.esito-negativo a {
	color: #FFF;
	font-size: clamp(1.2rem, 1.4vw, 1.6rem);
	font-weight: 700;
	padding: .6rem 2rem;
	margin-top: 1rem;
	background: var(--c-azzurro);
	border-color: var(--c-azzurro);
}

.esito-negativo b {
	color: var(--color-rosso);
}

.offerta-speciale {
	font-weight: 800;
	color: var(--color-verde);
}