/* Main */
.main {
	max-width: 1612px;
	margin: 0 auto;
	padding-left: 25px;
	padding-right: 25px;
}

.main .heading {
	padding: 33px 0px 50px 0px;
}

.main .heading h1 {
	color: var(--1);
	font-family: var(--ff2);
	font-size: 90px;
	font-style: normal;
	font-weight: 300;
	line-height: 1;
	margin: 0 0 47px;
}

.main .heading p {
	color: var(--1);
	font-family: var(--ff1);
	font-size: 25px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin: 0 0 33px;
}

.main .heading .info {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.main .heading .info {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	column-gap: 63px;
}

.main .heading .info .icon-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.main .heading .info .icon-wrap span {
	margin-left: 10px;
	color: var(--1);
	font-family: var(--ff1);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.25;
}

.main .heading .info a {
	color: #FFF;
	font-family: var(--ff1);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 40px;
	text-transform: uppercase;
	text-align: center;
	padding: 0 16px;
	border-radius: 6px;
	background: #EBBC4E;
	max-width: 203px;
	width: 100%;
	min-height: 40px;
	display: table;
}

.main .heading .info .night {
	max-width: 218px;
}

.main .heading .info a:hover {
	background-color: #EBBC4EB3;
	transition: 0.2s;
}

/* Image */
.image img {
	width: 100%;
	max-height: 725px;
	object-fit: cover;
	display: flex;
}

/* Cosa è incluso */
.is-included-container {
	padding: 70px 95px;
	background-color: rgba(235, 188, 78, 0.20);
	border-radius: 16px;
	margin-top: 84px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

/* Cosa è incluso box sx */
.is-included-container .is-included-info {
	width: 50%;
	padding-right: 61px;
}

.is-included-container .is-included-info h3.is-included-title {
	color: var(--1);
	font-family: var(--ff2);
	font-size: 36px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.4;
	margin: 0 0 31px;
}

.is-included-container .is-included-info .is-included-text {
	margin: 0 0 31px;
}

.is-included-container .is-included-info .is-included-text,
.is-included-container .is-included-info .is-included-text p {
	color: #000;
	font-family: "Futura PT";
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
}

.is-included-container .is-included-info .is-included-text ul {
	padding-left: 30px;
}

.is-included-container .is-included-info a.is-included-btn {
	color: #FFF;
	font-family: var(--ff1);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 40px;
	text-transform: uppercase;
	height: 40px;
	display: table;
	border-radius: 6px;
	border: 1px solid #EBBC4E;
	background: #EBBC4E;
	max-width: 203px;
	width: 100%;
	text-align: center;
	padding: 0 16px;
}

/* Cosa è incluso box dx */
.is-included-container .is-included-image {
	width: 50%;
	display: flex;
	padding-left: 3px;
}

.is-included-container .is-included-image img {
	display: flex;
	width: 100%;
	border-radius: 16px;
	object-fit: cover;
	height: 100%;
}

/* Acqua termale */
.ads-container {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	max-width: 1292px;
	margin: 0 auto;
	padding: 84px 0 0 0;
}

.ads-container .ads-image {
	width: 50%;
}

.ads-container .ads-image img {
	display: flex;
	border-radius: 16px;
	height: 566px;
	object-fit: cover;
}

.ads-container .ads-info {
	max-width: 473px;
	width: 100%;
	margin: 0 0 0 auto;
}

.ads-container .ads-info .ads-title {
	color: var(--1);
	font-family: var(--ff2);
	font-size: 36px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.4;
	margin: 0;
}

.ads-container .ads-info .ads-text p {
	color: var(--1);
	font-family: var(--ff1);
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.2;
	margin: 19px 0;
}

.ads-container .ads-info .ads-text p a {
	font-weight: 500;
	text-decoration-line: underline;
}

.ads-container .ads-info .ads-btn {
	color: var(--1);
	font-family: var(--ff1);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.8;
	text-decoration-line: underline;
	text-transform: uppercase;
}

/* Spaziatura container full width */
.container-full-width {
	margin-top: 84px;
}

/* Pacchetti correlati */
.op-container {
	padding: 94px 0 86px;
	background: rgba(235, 188, 78, 0.20);
}

.op-container .op-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 62px;
}

.op-container .op-heading h2 {
	color: var(--1);
	font-family: var(--ff2);
	font-size: 48px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.4;
	margin: 0;
}

.op-container .op-heading a {
	border-radius: 6px;
	border: 1px solid var(--1);
	text-align: center;
	color: var(--1);
	font-family: var(--ff1);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 38px;
	text-transform: uppercase;
	height: 38px;
	display: table;
	padding: 0 16px;
	max-width: 205px;
	width: 100%;
}

/**/
.single-pacchetto-esperienza .op-container .main .content {
	padding: 0 !important;
}

/* Banner full width */
.banner-container {
	min-height: 718px;
	padding: 35px 116px 56px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}

/**/
.banner-container:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%);
	z-index: 1;
}

/**/
.banner-container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/**/
.banner-container .banner-text {
	max-width: 475px;
	z-index: 2;
}

.banner-container .banner-text h2 {
	color: #FFF;
	font-family: var(--ff2);
	font-size: 36px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.25;
	margin: 0;
}

.banner-container .banner-text p {
	color: #FFF;
	font-family: var(--ff1);
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.2;
	margin: 20px 0;
}

.banner-container .banner-text a {
	border-radius: 6px;
	border: 1px solid #fff;
	color: #fff;
	font-family: var(--ff1);
	font-size: 14px;
	font-style: normal;
	font-weight: 450;
	line-height: 40px;
	text-transform: uppercase;
	height: 40px;
	display: table;
	max-width: 132px;
	width: 100%;
	text-align: center;
	padding: 0 16px;
}

.op-container .op-heading a:hover,
.banner-container .banner-text a:hover {
	background-color: #EBBC4E;
	border-color: #EBBC4E;
	color: #fff;
	transition: 0.2s;
}

.footer-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 40px 0 45px 0;
}

.footer-info .info-dot {
	display: flex;
	align-items: baseline;
}

.footer-info .info-dot img {
	margin-right: 12px;
	height: 20px;
	width: 16px;
}

.footer-info .info-dot span,
.footer-info .info-rec span,
.footer-info .info-res span {
	font-size: 14px;
}

.promo-text {
	color: var(--hotels);
	font-family: var(--ff2);
	font-weight: 600;
	font-style: italic;
	margin-left: 10px;
	color: var(--hotels) !important
}

@media screen and (min-width: 768px) {
	.op-container .op-heading.only-mobile {
		display: none;
	}
}

@media screen and (max-width: 1024px) {
	.main .heading p {
		width: 80%;
	}
	
		.ads-container .ads-image img {
		height: 308px;
	}
}

@media screen and (max-width: 767px) {
	.main .heading {
		padding: 33px 0 43px;    
	}

	.main .heading h1 {
		font-size: 36px;
		margin: 0 0 23px;
	}

	.main .heading p {
		font-size: 16px;
		width: 100%;
		margin: 0 0 21px;
	}

	.main .heading .info {
		flex-wrap: wrap;
		column-gap: 40px;
		row-gap:  27px;
	}

	.image img {
		max-height: 259px;
	}

	.is-included-container {
		margin-top: 0;
		margin-left: -25px;
		margin-right: -25px;
		border-radius: 0;
		padding: 25px;
		flex-direction: column;
	}

	.is-included-container .is-included-info {
		width: 100%;
		padding-right: 0;
	}

	.is-included-container .is-included-info h3.is-included-title {
		font-size: 28px;
		margin: 0 0 21px;
	}

	.is-included-container .is-included-info .is-included-text {
		font-size: 16px;
		margin: 0 0 21px;
	}

	.is-included-container .is-included-info .is-included-text ul {
		padding-left: 25px;
	}

	.is-included-container .is-included-image img {
		display: none;
	}

	.ads-container {
		flex-direction: column;
		row-gap: 57px;
		padding: 39px 0 0 0;
	}

	.ads-container .ads-image {
		width: unset;
	}
	
	.ads-container .ads-info {
		margin: 0;
	}

	.ads-container .ads-info .ads-title {
		font-size: 22px;
		font-weight: 400;
		line-height: 116%; /* 25.52px */
		letter-spacing: 0.22px;
	}

	.ads-container .ads-info .ads-text p {
		font-size: 16px;
		margin: 18px 0;
	}

	.ads-container .ads-info .ads-btn {
		font-weight: 600; 
	}

	.container-full-width {
		margin-top: 40px;
	}

	.op-container {
		padding: 36px 0 26px;
	}
	
	.op-container .op-heading.only-mobile {
		justify-content: center;
		margin-top: 20px;
		margin-bottom: 0;
	}
	
	.op-container .op-heading:not(.only-mobile) a {
		display: none;
	}

	.op-container .op-heading h2 {
		font-size: 28px;
	}

	.banner-container {
		min-height: 306px;
		padding: 0;
		justify-content: center;
	}

	.banner-container .banner-text {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.banner-container .banner-text h2 {
		font-size: 22px;
		text-align: center;
	}

	.banner-container .banner-text p {
		font-size: 13px;
		text-align: center;
	}

	.footer-info {
		flex-direction: column;
		padding: 22px 0 30px 0;
	}

	.footer-info .info-dot,
	.footer-info .info-res{
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.footer-info .info-dot img {
		display: none
	}

	.footer-info .info-rec {
		margin-bottom: 25px;
	}
	
	.main .heading .info .full-width-button {
		width: 100%;
	}
}