/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.5.1.1733409460
Updated: 2024-12-05 14:37:40

*/

/*-------------------------------------------------- General */
html,
body {
	overflow-x: hidden;
	font-size: 16px;
	line-height: 24px;
	background: #fff;
}

div#content {
	padding: 0px;
	display: block;
}

div#page {
	max-width: 100%;
	background: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span {
	margin: 0px;
}

.primary-button {
	text-decoration: none;
	transition: 300ms;
	text-transform: uppercase;
	min-width: 170px;
	padding: 15px 20px;
	text-align: center;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	gap: 10px;
	letter-spacing: 1px;
	width: max-content;
}

.lightblue {
	background: #C1D8FF;
	transition: 300ms;
	color: #04307B;
}

.lightblue:hover {
	background: #021f4f;
	transition: 500ms;
	color: #fff;
}

.booking-icon:after {
	content: '';
	background-image: url(/wp-content/uploads/2024/12/booking-2.svg);
	width: 16px;
	height: 16px;
	background-size: contain;
	background-repeat: no-repeat;
	transition: 300ms;
}

.booking-icon:hover:after {
	background-image: url(/wp-content/uploads/2024/12/booking-3.png);
	transition: 500ms;
}

/*-------------------------------------------------- Layout */
.row {
	display: flex;
	flex-direction: column;
	max-width: 1640px;
	width: 90%;
	gap: 60px;
	margin: 0 auto;
}

.row-fluid {
	display: flex;
	gap: 60px;
	flex-direction: column;
	margin: 0 auto;
}

.column_12 {
	flex: 0 0 100%;
}

.column_1-2 {
	flex: 0 1 100%;
	width: 100%;
}

@media (min-width: 1025px) {

	.row {
		flex-direction: row;
		width: 80%;
		gap: 20px;
	}

	.column-6-4:first-child {
		flex: 0 1 65%;
	}

	.column-6-4:nth-child(2) {
		flex: 0 1 40%;
	}

	.column_4-6:first-child {
		flex: 0 1 40%;
	}

	.column_4-6:nth-child(2) {
		flex: 0 1 60%;
	}

	.column_1-2 {
		flex: 0 1 50%;
	}

	.row-fluid {
		gap: 20px;
		flex-direction: row;
	}

	.blog-category-list.roboto-condensed {
		max-width: 475px;
		margin: 0 0px 0 auto;
	}
}


/*----------------------- footer */
.footer-main {
	background: #04307B;
	padding: 40px 0 80px;
}

.footer-action-wrapper {
	display: flex;
	gap: 30px;
	flex-direction: column;
	align-items: center;
	padding-bottom: 29px;
	border-bottom: 1px solid #fff;
	margin-bottom: 50px;
}

.footer-button-wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
}

.footer-grid-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
}

.footer-information-wrapper,
.footer-legal-link-wrapper {
	display: block;
}

.footer-grid-wrapper {
	color: #fff;
	transition: 300ms;
}

.menu-menu-footer-container ul {
	padding: 0px;
	list-style-type: none;
	margin: 0px;
}

.footer-grid-wrapper a {
	transition: 300ms;
	text-decoration: none;
	color: #fff;
}

.footer-grid-wrapper a:hover {
	transition: 500;
	color: #EAC435;
}

.footer-button-wrapper a {
	width: 100%;
}

.footer-logo-wrapper img {
	max-width: 200px;
	width: 100%;
}

.footer-logo-wrapper {
	width: 100%;
}
a.floating-whatsapp {
    position: fixed;
    right: 0;
    z-index: 999999;
    bottom: 15%;
}

a.floating-whatsapp svg {
    height: 60px;
    width: 60px;
    padding: 15px;
    background: #C1D8FF;
    border-radius: 30px 0 0 30px;
    transition: 300ms;
    box-shadow: 0 5px 10px #0000002e;
}
.floating-whatsapp:hover svg {
    transition: 300ms;
    fill: #fff;
    background: #061BB0;
}

@media(min-width: 1025px) {
    a.floating-whatsapp svg {
    height: 80px;
    width: 80px;
    padding: 20px;
}
	.footer-logo-wrapper img {
		max-width: 260px;
		width: 100%;
	}

	.footer-company-description {
		max-width: 22.656vw;
	}

	.footer-button-wrapper a {
		width: max-content;
	}

	.footer-information-wrapper,
	.footer-legal-link-wrapper {
		display: flex;
		justify-content: flex-end;
	}

	.footer-grid-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 30px;
	}

	.footer-button-wrapper {
		width: 100%;
		display: flex;
		justify-content: flex-end;
	}

	.footer-action-wrapper {
		display: flex;
		flex-direction: row;
		margin-bottom: 60px;
	}

	.footer-main {
		padding: 30px 0 70px;
	}
}


/*-------------------------------- header */

.header-grid-wrapper {
	display: flex;
	align-items: center;
	gap: 30px;
}

.header_main_wrapper {
	padding: 8px 0;
}

.header-burger-menu-wrapper.active-burger span:nth-child(3) {
	position: absolute;
	left: 0;
	top: 50%;
	transform: rotate(-45deg);
	transition: 300ms;
}

.header-burger-menu-wrapper.active-burger span:nth-child(2) {
	opacity: 0;
	transition: 100ms;
}

.header-burger-menu-wrapper.active-burger span:first-child {
	position: absolute;
	transform: rotate(45deg);
	transition: 300ms;
	top: 50%;
	left: 0;
}

.header-submenu-wrapper {
	display: none;
	transition: 300ms;
}

.header-submenu-wrapper.active-menu {
	display: block;
	transition: 300ms;
}


.header-burger-menu-wrapper.active-burger:hover span {
	width: 30px;
}

.header-menu-actions {
	display: flex;
	gap: 13px;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
}

.header-burger-menu-wrapper span {
	color: #04307B;
	display: block;
	transition: 300ms;
	width: 30px;
	height: 2px;
	background: #04307B;
}

.header-burger-menu-wrapper {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 35px;
	height: 35px;
	justify-content: center;
	align-items: flex-end;
	cursor: pointer;
	position: relative;
}

.header-burger-menu-wrapper span:nth-child(2) {
	width: 35px;
}

.header-burger-menu-wrapper:hover span:first-child,
.header-burger-menu-wrapper:hover span:nth-child(3) {
	width: 35px;
	transition: 500ms;
}

.header-burger-menu-wrapper.active-burger span {
	width: 35px;
	transition: 300ms;
}

.header-menu-booking-button .primary-button {
	padding: 10px 12px;
	min-width: auto;
	letter-spacing: 0px;
	font-size: 12px;
	line-height: 12px;
	gap: 5px;
}

.header-menu-booking-button .booking-icon:after {
	width: 12px;
	height: 12px;
}

.smallheader-main-wrapper {
	background: #04307B;
	padding: 6px 0;
	color: #fff;
	font-size: 10px;
	line-height: 14px;
}

.smallheader-content-wrapper {
	display: flex;
	gap: 6px;
	justify-content: center;
	align-items: center;
}


.header_main_wrapper {
	position: relative;
	/* Rimane relativa al top */
	width: 100%;
	background: #fff;
	transition: transform 300ms ease-in-out, background-color 300ms ease-in-out;
	z-index: 999999;
}

.header_main_wrapper.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    background: #fff;
    transform: translateY(0);
    transition: transform 300ms ease-in-out, background-color 300ms ease-in-out;
    z-index: 999999;
    box-shadow: 0 10px 40px #00000014;
}

.header-submenu-wrapper.active-menu.sticky {
	position: fixed;
	width: 100%;
	transition: 300ms;
	z-index: 999999999;
}

.menu-menu-principale-container ul {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.submenu-menu-wrapper a {
	text-decoration: none;
	transition: 300ms;
	font-size: 8vw;
	line-height: 1em;
	color: #fff;
}

.submenu-menu-wrapper a:hover {
	transition: 300ms;
	color: #EAC435;
}

.submenu-menu-wrapper .current-menu-item a {
	color: #EAC435;
}

.header-submenu-wrapper {
	background: #04307B;
	transition: 300ms;
	padding: 60px 0;
}

.submenu-additional-elements {
    padding-top: 29px;
    border-top: 1px solid #fff;
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
}

.submenu-account-icon img {
	height: 28px;
	width: 28px;
	display: flex;
}
.submenu-social-icon img {
    width: 28px;
    display: flex;
    height: 28px;
}

.submenu-social-icon {
    display: flex;
    gap: 10px;
    align-items: center;
}
.submenu-account-icon span {
	color: #fff;
	font-size: 20px;
	text-decoration: none;
}

.submenu-account-icon a {
    display: flex;
    gap: 15px;
    align-items: center;
    text-decoration: none;
    border: 1px solid #fff;
    padding: 6px 12px;
    border-radius: 50px;
    transition: 300ms;
}
.submenu-account-icon a:hover {
    background: #C1D8FF;
    transition: 300ms;
    color: #04307B;
}
.submenu-account-icon a:hover span{
    transition: 300ms;
    color: #04307B;
}

.submenu-account-icon span {
    font-size: 14px;
}
.header-logo-wrapper img {
	max-width: 200px;
	transition: 300ms;
	width: 100%;
}
.header_main_wrapper.sticky .header-logo-wrapper img {
    	max-width: 160px;
    	width: 100%;
		transition: 300ms;
		}
@media(min-width: 1025px) {
	.header-logo-wrapper img {
	max-width: 260px;
	transition: 300ms;
	width: 100%;
}
	.header_main_wrapper.sticky .header-logo-wrapper img {
    	max-width: 180px;
    	width: 100%;
		transition: 300ms;
		}
    .submenu-account-icon span {
    font-size: unset;
}
    .submenu-account-icon img {R
	height: 40px;
	width: 40px;
	display: flex;
}
.submenu-social-icon img {
    width: 40px;
    display: flex;
    height: 40px;
}
	.header-burger-menu-wrapper.active-burger span {
		width: 45px;
		transition: 300ms;
	}

	.header-burger-menu-wrapper.active-burger:hover span {
		width: 45px;
	}

	.header-submenu-wrapper {
		background: #04307B;
		transition: 300ms;
		padding: 80px 0;
	}

	.submenu-menu-wrapper a {
		transition: 300ms;
		font-size: 3.8vw;
	}

	.smallheader-content-wrapper {
		gap: 8px;
	}

	.smallheader-main-wrapper {
		font-size: 12px;
		line-height: 16px;
	}

	.header-menu-booking-button .booking-icon:after {
		width: 16px;
		height: 16px;
	}

	.header-menu-booking-button .primary-button {
		text-decoration: none;
		transition: 300ms;
		text-transform: uppercase;
		min-width: 170px;
		padding: 15px 20px;
		text-align: center;
		border-radius: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
		gap: 10px;
		letter-spacing: 1px;
		font-size: 16px;
		line-height: 24px;
	}

	.header-burger-menu-wrapper:hover span:first-child,
	.header-burger-menu-wrapper:hover span:nth-child(3) {
		width: 45px;
		transition: 500ms;
	}

	.header-burger-menu-wrapper span:nth-child(2) {
		width: 45px;
	}

	.header-burger-menu-wrapper {
		display: flex;
		flex-direction: column;
		gap: 11px;
		width: 45px;
		height: 30px;
		justify-content: flex-end;
		align-items: flex-end;
		cursor: pointer;
		position: relative;
	}

	.header-burger-menu-wrapper span {
		color: #04307B;
		display: block;
		transition: 300ms;
		width: 40px;
		height: 2px;
		background: #04307B;
	}

	.smallheader-main-wrapper {
		font-size: 14px;
	}

	.header-menu-actions {
		display: flex;
		gap: 30px;
		align-items: center;
		justify-content: flex-end;
		width: 100%;
	}
}

@media(min-width: 1921px) {
	.submenu-menu-wrapper a {
		transition: 300ms;
		font-size: 3vw;
	}
}

/* --------------------------------------- animation */
.heartbeat {
	-webkit-animation: heartbeat 5s ease-in-out infinite both;
	animation: heartbeat 5s ease-in-out infinite both;
}

/* ----------------------------------------------
 * Generated by Animista on 2024-12-5 18:9:43
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation heartbeat
 * ----------------------------------------
 */
@-webkit-keyframes heartbeat {
	from {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: center center;
		transform-origin: center center;
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}

	10% {
		-webkit-transform: scale(0.91);
		transform: scale(0.91);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}

	17% {
		-webkit-transform: scale(0.98);
		transform: scale(0.98);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}

	33% {
		-webkit-transform: scale(0.87);
		transform: scale(0.87);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}

	45% {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}
}

@keyframes heartbeat {
	from {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: center center;
		transform-origin: center center;
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}

	10% {
		-webkit-transform: scale(0.91);
		transform: scale(0.91);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}

	17% {
		-webkit-transform: scale(0.98);
		transform: scale(0.98);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}

	33% {
		-webkit-transform: scale(0.87);
		transform: scale(0.87);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}

	45% {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}
}


/*-------------------------------- to the top button */
/*---------------------------------------------- button to the top */
#to-the-top {
	display: inline-block;
	background-color: #11111173;
	width: 50px;
	height: 50px;
	text-align: center;
	border-radius: 25px 0 0 25px;
	position: fixed;
	bottom: 30px;
	right: 0;
	transition: background-color .3s, opacity .5s, visibility .5s;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
}

#to-the-top::after {
	content: url(/wp-content/uploads/2024/12/top_icon_white-1-1.svg);
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#to-the-top:hover {
	cursor: pointer;
	background-color: #333;
}

#to-the-top:active {
	background-color: #555;
}

#to-the-top.show {
	opacity: 1;
	visibility: visible;
}


/*------------------------------------- home blocks */
.home-hero-text-clear h6 {
	font-size: 8.25vw;
	text-align: center;
	line-height: 1em;
	font-weight: bold;
	text-transform: uppercase;
	color: #fff;
	letter-spacing: 20px;
	margin: 15px 0;
}

.home-hero-text-outline h6 {
	text-align: center;
	font-size: 8.25vw;
	line-height: 1em;
	text-transform: uppercase;
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #ffffff;
	color: transparent;
	font-weight: bold;
	letter-spacing: 20px;
}

.home-hero-text {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 70px 0;
	height: 50vh;
}

.home-hero-wrapper {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	background-color: #00000033;
	background-blend-mode: overlay;
}


.home-reivew-loo h3 {
    color: #fff;
    font-size: 32px;
    line-height: 41px;
    font-weight: 300;
}
.home-reivew-loo {
    color: #fff;
}
@media(min-width: 1025px) {
    

.home-reivew-loo h3 {
    color: #fff;
    font-size: 3.125vw;
    max-width: 35.104vw;
    line-height: 3.802vw;
    font-weight: 300;
}
	.home-hero-text-outline h6 {
		text-align: center;
		font-size: 6.25vw;
		line-height: 1em;
		text-transform: uppercase;
		-webkit-text-stroke-width: 3px;
		-webkit-text-stroke-color: #ffffff;
		color: transparent;
		font-weight: bold;
		letter-spacing: 60px;
	}

	.home-hero-text-clear h6 {
		font-size: 6.25vw;
		text-align: center;
		line-height: 1em;
		font-weight: bold;
		text-transform: uppercase;
		color: #fff;
		letter-spacing: 60px;
		margin: 15px 0;
	}

	.home-hero-wrapper {
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		background-color: #00000038;
		background-blend-mode: overlay;
	}

	.home-hero-text {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 100px 0;
		height: 80vh;
	}
}


.home-carousel-text-wrapper {
	padding: 60px 0;
}

.home-carousel-service-title h1,
.home-carousel-service-title h2,
.home-carousel-service-title h3,
.home-carousel-service-title h4 {
	color: #061BB0;
	font-size: 32px;
	line-height: 41px;
	font-weight: 300;
}

.home-carousel-service-paragraph {
	color: #061BB0;
	text-align: justify;
}


.home-carousel-text-wrapper .row {
	gap: 25px;
}

@media(min-width: 1025px) {
	.home-carousel-text-wrapper {
		padding: 7.031vw 0;
	}

	.home-carousel-text-wrapper .row {
		align-items: center;
		gap: 60px;
	}

	.home-carousel-service-paragraph p {
		max-width: 28.125vw;
	}

	.home-carousel-service-paragraph {
		color: #061BB0;
		display: flex;
		justify-content: flex-end;
		text-align: justify;
	}

	.home-carousel-service-title h1,
	.home-carousel-service-title h2,
	.home-carousel-service-title h3,
	.home-carousel-service-title h4 {
		color: #061BB0;
		font-size: 3.125vw;
		max-width: 35.104vw;
		line-height: 3.802vw;
		font-weight: 300;
	}
}

@media(min-width: 1921px) {
	.home-carousel-service-paragraph p {
		max-width: 21.125vw;
	}

	.home-carousel-text-wrapper {
		padding: 5.031vw 0;
	}

	.home-carousel-service-title h1,
	.home-carousel-service-title h2,
	.home-carousel-service-title h3,
	.home-carousel-service-title h4 {
		font-size: 80px;
		max-width: 100%;
		line-height: 91px;
	}
}


.home-slide-content {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}


.home-slide-text {
	width: 100%;
	padding: 30px 20px;
	border-radius: 0 0 30px 30px;
	color: #fff;
	background: rgb(255, 255, 255);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.4738270308123249) 34%, rgba(0, 0, 0, 0.5956757703081232) 52%, rgba(0, 0, 0, 1) 100%);
	font-size: 15px;
	text-align: center;
	position: absolute;
	bottom: 0;
	text-transform: uppercase;
}

.home-carousel-service-wrapper {
	margin: 0 auto;
	overflow: hidden;
}

.home-carousel-service-wrapper .splide__slide {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 260px;
	border-radius: 30px;
	overflow: hidden;
	transition: 700ms;
}

.home-carousel-service-wrapper .splide__slide.is-active {
	height: 310px;
	transition: 1500ms;
}

.splide__list {
	align-items: center;
}

.home-slide-content {
	position: relative;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.home-slide-text strong {
	font-size: 16px;
}

.home-carousel-service-wrapper .splide__arrows.splide__arrows--ltr svg {
	display: none;
}

.home-carousel-service-wrapper .splide__arrow--prev {
	height: 60px;
	width: 60px;
	background-color: unset;
	transition: 400ms;
	background-image: url(/wp-content/uploads/2024/12/left-arrow-2.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}


.home-carousel-service-wrapper .splide__arrow--prev:hover {
	transition: 400ms;
	background-image: url(/wp-content/uploads/2024/12/left-arrow-hover.svg);
}

.home-carousel-service-wrapper .splide__arrow--next {
	height: 60px;
	width: 60px;
	background-color: unset;
	transition: 400ms;
	background-image: url(/wp-content/uploads/2024/12/right-arrow-2.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}


.home-carousel-service-wrapper .splide__arrow--next:hover {
	transition: 400ms;
	background-image: url(/wp-content/uploads/2024/12/right-arrow-hover.svg);
}

.home-carousel-service-wrapper .splide__arrows.splide__arrows--ltr {
	display: block;
	width: 170px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 50%);
}

div#home-carousel-track {
	min-height: 310px;
}

.home-carousel-service-wrapper .splide {
	position: relative;
	padding-bottom: 50px;
}

.home-carousel-service-wrapper {
	padding-bottom: 90px;
	border-radius: 0 0 50px 50px;
	position: relative;
	z-index: 5;
	background: #fff;
}

@media(min-width: 1025px) {
	.home-carousel-service-wrapper {
		padding-bottom: 130px;
		border-radius: 0 0 80px 80px;
		position: relative;
		z-index: 5;
		background: #fff;
	}

	.home-carousel-service-wrapper .splide__arrows.splide__arrows--ltr {
		width: 200px;
	}

	.home-carousel-service-wrapper .splide__arrow--prev {
		height: 80px;
		width: 80px;
	}

	.home-carousel-service-wrapper .splide__arrow--next {
		height: 80px;
		width: 80px;
	}

	.home-carousel-service-wrapper .splide {
		position: relative;
		padding-bottom: 100px;
	}

	div#home-carousel-track {
		min-height: 34vw;
	}

	.home-slide-text {
		padding: 50px 90px;
		font-size: 2.2vw;
		text-align: left;
	}

	.home-carousel-service-wrapper .splide__slide {
		height: 30vw;
		border-radius: 30px;
	}

	.home-carousel-service-wrapper .splide__slide.is-active {
		height: 38vw;
	}

	.home-slide-text strong {
		font-size: 32px;
	}
}

@media(min-width: 1921px) {
	div#home-carousel-track {
		min-height: 25vw;
	}

	.home-carousel-service-wrapper .splide__slide {
		height: 20vw;
		transition: 400ms;
	}

	.home-carousel-service-wrapper .splide__slide.is-active {
		height: 25vw;
	}
}


.z-index-different {
	position: relative;
	z-index: 2;
	margin-top: -8.385vw;
}

.outline {
	border: 1px solid #061BB0;
	color: #061BB0;
}

.rightarrow:after {
	content: '';
	width: 16px;
	height: 16px;
	display: block;
	background-image: url(/wp-content/uploads/2024/12/right-arrow.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	transition: 300ms;
}

.rightarrow:hover:after {
	background-image: url(/wp-content/uploads/2024/12/right-arrow-lightblue.svg);
	transition: 300ms;
}

a.primary-button.outline:hover {
	background: #061BB0;
	transition: 300ms;
	color: #C1D8FF;
}

.home-accordion-container-item a {
	text-decoration: none;
	padding-bottom: 19px;
	display: block;
	border-bottom: 1px solid #061BB0;
}

.home-accordion-container-item a {
	text-decoration: none;
	padding-bottom: 24px;
	display: block;
	border-bottom: 1px solid #061BB0;
	color: #061BB0;
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
	justify-content: space-between;
	cursor: pointer;
}

.home-accordion-wrapper {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.home-toggle-iconplus {
	width: 20px;
	height: 20px;
	background-image: url(/wp-content/uploads/2024/12/plu-icon.svg);
	display: block;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	transition: 300ms;
	flex-shrink: 0;

}

.home-toggle-iconless {
	transition: 300ms;
	width: 20px;
	height: 20px;
	background-image: url(/wp-content/uploads/2024/12/less-icon.svg);
	display: block;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.home-toggle-content {
	margin: 20px 0;
	color: #061BB0;
}


.home-faq-grid-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	align-items: center;
}

.home-faq-paragraph {
	color: #061BB0;
	margin: 15px 0 25px;
}

.home-faq-title h3 {
	color: #061BB0;
	font-size: 15vw;
	font-weight: 300;
	line-height: 1em;
}

.home-accordion-container-item a span {
	font-size: 18px;
	line-height: 1em;
}

.home-faq-section-wrapper {
	background: #C1D8FF;
	padding: 100px 0;
}

.home-carousel-text-wrapper {
	background: #fff;
}

@media(min-width: 1025px) {

	.home-faq-section-wrapper {
		padding: 13.802vw 0 10.198vw;
	}

	.home-accordion-container-item a span {
		font-size: 1.667vw;
		line-height: 1em;
	}

	.home-faq-title h3 {
		font-size: 10.417vw;
	}

	.home-faq-paragraph {
		max-width: 28.229vw;
	}

	.home-faq-grid-wrapper {
		display: grid;
		grid-template-columns: 1fr 1.4fr;
		gap: 60px;
		align-items: center;
	}
}

@media(min-width: 1921px) {
	.home-faq-section-wrapper {
		padding: 12.802vw 0 7.198vw;
	}
}

.home-review-item {
	background: #fff;
	padding: 60px 20px;
	border-radius: 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #061BB0;
	max-width: 90%;
	margin: 0 auto;
}

.home-review-text {
	margin-top: 30px;
	text-align: center;
}

.home-review-main {
    padding: 60px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #04307bdb;
    background-blend-mode: multiply;
}

.home-review-main .row {
	align-items: center;
}

.home-review-item {
	background: #fff;
	padding: 60px 20px;
	border-radius: 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #061BB0;
	max-width: 100%;
	margin: 0 auto;
}

.home-carousel-rooms-list-text a {
	text-transform: uppercase;
	color: #061BB0;
	font-size: 18px;
	margin-top: 15px;
	display: block;
	transition: 300ms;
	text-decoration: none;
	padding-bottom: 9px;
	border-bottom: 1px solid #061BB0;
	max-width: max-content;
}

.home-carousel-rooms-list-text a:hover {
	color: #EAC435;
	transition: 300ms;
	border-bottom: 1px solid #EAC435;
	transition: 300ms;
}
.home-review-paragraph {
    margin-top: 20px;
}
@media(min-width: 1025px) {
    .home-review-paragraph {
    margin-top: 20px;
    max-width: 400px;
}
	.home-carousel-rooms-list-text a {
		font-size: 24px;
	}

	.home-review-item {
		background: #fff;
		padding: 60px 20px;
		border-radius: 30px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		color: #061BB0;
		max-width: 90%;
		margin: 0 auto;
	}

	.home-review-main {
		padding: 9.896vw 0;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		background-color: #04307bdb;
        background-blend-mode: multiply;
	}
}

@media(min-width: 1921px) {
	.home-review-main {
		padding: 6.896vw 0;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		background-color: #00000029;
		background-blend-mode: overlay;
	}
}

/*---------------------- about ------------*/
.about-story-cover {
	min-height: 300px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.about-story-wrapper {
	padding: 60px 0;
}

.about-story-title h1 {
	color: #061BB0;
	font-size: 32px;
	line-height: 1em;
}

.about-story-text {
	display: flex;
	flex-direction: column;
	gap: 40px;
	text-align: justify;
	color: #061BB0;
	margin: 30px 0 0;
}

.about-cta-wrapper {
	background: #C1D8FF;
	padding: 60px 0;
}

.about-cta-text h3 {
	color: #061BB0;
	font-size: 32px;
	line-height: 1em;
}

.about-cta-paragraph {
	color: #061BB0;
	margin: 25px 0;
}

.about-cta-actions-wrapper {
	display: flex;
	gap: 6px;
}

.gold {
	background: #EAC435;
	color: #061BB0;
}

.gold:hover {
	background: #061BB0;
	color: #C1D8FF;
}

.about-cta-image img {
	border-radius: 30px;
	width: 100%;
}

.about-cta-wrapper .row {
	align-items: center;
	gap: 30px;
}

@media (max-width: 424px) {
	.about-cta-actions-wrapper {
		display: flex;
		gap: 10px;
		flex-direction: column;
	}

	.about-cta-actions-wrapper a {
		width: 100%;
	}
}

@media (min-width: 1025px) {
	.about-cta-wrapper .row {
		gap: 60px;
	}

	.about-cta-actions-wrapper {
		display: flex;
		gap: 20px;
	}

	.about-cta-text h3 {
		font-size: 3.125vw;
	}

	.about-cta-image {
		display: block;
		text-align: right;
	}

	.about-cta-text {
		max-width: 28.646vw;
		margin: 0 0 0 5vw;
	}

	.about-story-text {
		display: flex;
		flex-direction: row;
		gap: 40px;
		text-align: justify;
		max-width: 64.688vw;
		color: #061BB0;
		margin: 50px 0 0 auto;
	}

	.about-story-title h1 {
		font-size: 5.208vw;
		max-width: 52.083vw;
	}

	.about-story-cover {
		min-height: 350px;
	}

	.about-story-wrapper {
		padding: 120px 0;
	}

	.about-cta-wrapper {
		background: #C1D8FF;
		padding: 120px 0;
	}
}

@media (min-width: 1921px) {
	.about-story-cover {
		min-height: 400px;
	}

	.about-story-text {
		max-width: 47.688vw;
	}
}

/*---------------------- single page rigenera */
div#rigenera-gallery-carousel button.splide__arrow.splide__arrow--prev,
div#rigenera-gallery-carousel button.splide__arrow.splide__arrow--next{
	z-index: 5;
}

.rigenera-faq-main.home-faq-section-wrapper {
	padding: 60px 0 60px;
}

.rigenera-service-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 60px;
}

.rigenera-service-item {
	display: flex;
	gap: 25px;
	align-items: flex-start;
	flex-direction: column;
}

.rigenera-service-text {
	color: #061BB0;
}

.rigenera-service-text h6 {
	font-size: 32px;
	line-height: 1em;
	margin-bottom: 20px;
	font-weight: 300;
}

.rigenera-sevice-main-wrapper {
	padding: 60px 0;
	background: #fff;
}

.rigenera-hero-main-wrapper {
	background: #C1D8FF;
}

.rigenera-hero-information-wrapper {
	color: #061BB0;
}


.rigenera-action a {
	width: 100%;
	cursor: pointer;
}

div#rigenera-gallery-carousel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

div#rigenera-gallery-carousel li,
div#rigenera-gallery-carousel-track,
div#rigenera-gallery-carousel,
ul#rigenera-gallery-carousel-list {
	height: 100%;
	width: 100%;
}


.rigenera-icon-item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.rigenera-hero-information-wrapper {
	padding: 60px 0;
	max-width: 90%;
	margin: 0 auto;
}

.rigenera-price-text {
	margin: 30px 0 15px;
}

.rigenera-title-wrapper h1 {
	font-size: 32px;
	font-weight: 300;
	line-height: 1;
}

.rigenera-hero-main-wrapper .row-fluid {
	gap: 0px;
}

.rigenera-icon-info {
	display: flex;
	gap: 20px;
	margin: 20px 0 40px;
	font-size: 12px;
}

.rigenera-icon-item img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}



.rigenera-service-icon {
	width: 70px;
	height: 70px;
	display: block;
	flex-shrink: 0;
}

a.rigenera-marker-link {
	color: #061BB0;
}


.room-thumbnail img:hover {
	transform: scale(1.06);
	transition: 500ms;
}


.room-thumbnail a,
.room-thumbnail img {
	width: 100%;
	height: 100%;
	display: flex;
	object-fit: cover;
	transition: 300ms;
	overflow: hidden;
}

.room-item {
	background: #C1D8FF;
	border-radius: 30px;
	overflow: hidden;
	transition: 300ms;
}

.room-details {
	padding: 20px 20px;
}

.room-details {
	padding: 20px 20px;
}

.room-details {
	display: grid;
	grid-template-columns: 4fr 1fr;
	gap: 20px;
	color: #061BB0;
}

h3.room-title {
	margin-bottom: 8px;
}
.room-item:hover{
    background: #061BB0;
    transition: 300ms;
    color: #fff;
}
.room-item:hover .room-details a,.room-item:hover .room-details{
    color: #fff;
    transition: 300ms;
}

.room-details a {
	text-decoration: none;
	transition: 300ms;
	color: #061BB0;
}

p.room-price {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

p.room-price strong {
	font-size: 22px;
	width: max-content;
}

p.room-price span {
	display: block;
	font-size: 12px;
	width: max-content;
}

.room-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

.cms-main-wraper {
	padding: 60px 0;
}

.cms-content-wrapper {
	color: #04307B;
}

.cms-title-wrapper h1 {
	margin-bottom: 50px;
	font-size: 32px;
	font-weight: 300;
}
div#rigenera-prenota {
	padding: 60px 0 0;
	display: none;
}
.rigenera-booking-actions h2 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 32px;
    color: #061BB0;
    font-weight: 300;
}
div#rigenera-gallery-carousel img {
	width: 100%;
	height: 100%;
	display: flex;
	object-fit: cover;
	min-height: 650px;
	max-height: 100vh;
}
@media(min-width: 1025px) {
    .bpa-front-tabs--panel-body .bpa-front-dc--body {
    max-height: unset!important;
}
	div#rigenera-gallery-carousel img {
	width: 100%;
	height: 100%;
	display: flex;
	object-fit: cover;
	min-height: 500px;
	max-height: 100vh;
}
    .rigenera-booking-actions h2 {
    font-size: 3vw;
    margin-bottom: 50px;
}
    div#rigenera-prenota {
	padding: 120px 0 0;
	display: none;
}
	.cms-title-wrapper h1 {
		margin-bottom: 50px;
		font-size: 4vw;
		font-weight: 300;
	}

	.cms-main-wraper {
		padding: 6vw 0;
	}

	.room-grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 40px;
	}

	.rigenera-service-icon {
		width: 100px;
		height: 100px;
		display: block;
		flex-shrink: 0;
	}

	.rigenera-icon-info {
		display: flex;
		gap: 40px;
		margin: 30px 0 50px;
		font-size: unset;
	}

	.rigenera-title-wrapper h1 {
		font-size: 5.208vw;
		font-weight: 300;
		line-height: 1;
	}

	.rigenera-hero-information-wrapper {
		padding: 60px 0;
		max-width: 50%;
		margin: 0 auto;
	}

	.rigenera-hero-information-wrapper {
		padding: 5vw 0;
		max-width: 60%;
		margin: 0 auto;
		height: 100%;
		justify-content: center;
		display: flex;
		flex-direction: column;
	}

	.rigenera-sevice-main-wrapper {
		padding: 8vw 0;
		background: #fff;
	}

	.rigenera-service-text h6 {
		font-size: 2.604vw;
	}

	.rigenera-service-item {
		flex-direction: row;
	}

	.rigenera-service-grid {
		grid-template-columns: 1fr 1fr;
	}

	.rigenera-service-descrption {
		max-width: 90%;
	}

	.rigenera-faq-main.home-faq-section-wrapper {
		padding: 8vw 0 8vw;
	}
}

h3.rigenera-spa-title {
	font-size: 26px;
	margin-bottom: 6px;
}

@media(min-width: 1921px) {
	.cms-title-wrapper h1 {
		margin-bottom: 50px;
		font-size: 3vw;
		font-weight: 300;
	}

	.cms-main-wraper {
		padding: 4vw 0;
	}

	.rigenera-title-wrapper h1 {
		font-size: 4.208vw;
		font-weight: 300;
		line-height: 1;
	}

	.rigenera-faq-main.home-faq-section-wrapper {
		padding: 6vw 0 6vw;

	}

	.rigenera-sevice-main-wrapper {
		padding: 6vw 0;
		background: #fff;
	}
}

/*----------------------------------- contact page*/
.contact-main-wrapper {
	padding: 60px 0;
}

.contact-main-wrapper {
	color: #061BB0;
}

.contact-informations {
	margin: 30px 0;
}

.contact-map-element {
	border-radius: 30px;
	overflow: hidden;
}

.contact-map-wrapper {
	padding-bottom: 60px;
}


.contact-form-wrapper textarea::placeholder {
	color: #061BB0;
	text-transform: uppercase;
}

.contact-form-wrapper input::placeholder {
	color: #061BB0;
}

.contact-page-button input {
	width: max-content !important;
	padding: 8px 20px !important;
	border-radius: 30px;
	display: block;
	min-width: 120px;
	transition: 300ms;
	background: #EAC435;
	color: #061BB0;
	border: none !important;
}

.contact-page-button input:hover {
	background: #061BB0;
	color: #C1D8FF;
}

.form-optin label {
	display: flex;
	color: #061BB0;
	align-items: center;
	font-size: 12px;
	gap: 10px;
	margin: 20px 0 15px;
}

.form-optin input {
	width: unset !important;
	margin: 0px;
}

.contact-form-wrapper input {
    padding-bottom: 29px;
    border-bottom: 1px solid #061BB0;
    width: 100%;
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 30px;
    color: #061BB0;
    background: #fff;
    border-top: none;
    border-left: none;
    border-right: none;
}

.contact-form-wrapper textarea {
	color: #061BB0;
	height: 150px;
	width: 100%;
	overflow: auto;
	padding-bottom: 29px;
	border-bottom: 1px solid #061BB0;
	font-size: 18px;
	background: #fff;
	border-top: none;
    border-left: none;
    border-right: none;
}

.rigenera-markers-wrapper.room-optio-wrapper {
	padding: 0px;
	border-top: 0px;
	padding-bottom: 80px;
}

@media(min-width: 1025px) {
	.contact-form-wrapper textarea {
		font-size: 24px;
	}

	.contact-form-wrapper input {
		font-size: 24px;
	}

	.contact-map-wrapper {
		padding-bottom: 8vw;
	}

	.contact-main-wrapper .rigenera-title-wrapper {
		max-width: 80%;
	}

	.contact-main-wrapper {
		padding: 8vw 0;
	}
}

@media(min-width: 1921px) {
	.contact-map-wrapper {
		padding-bottom: 6vw 0;
	}

	.contact-main-wrapper {
		padding: 6vw 0;
	}
}


/*--------------------- archive rigenera PT */
h1.archive-title {
	color: #061BB0;
	font-size: 36px;
	margin-bottom: 30px;
	font-weight: 300;
}

.rigenera-spa-archive {
	padding: 60px 0;
}

.room-category-section:last-child {
	border: 0px;
	padding: 0px;
}

.home-room-list-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

.home-room-list-wrapper {
	padding-bottom: 60px;
}

@media (min-width: 1025px) {
	.home-room-list-wrapper {
		padding-bottom: 8vw;
	}

	.home-room-list-grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 40px;
	}

	.rigenera-spa-archive {
		padding: 4vw 0;
	}

	h1.archive-title {
		color: #061BB0;
		font-size: 6.208vw;
		margin-bottom: 100px;
		font-weight: 300;
	}
}

@media (min-width: 1921px) {
	.home-room-list-wrapper {
		padding-bottom: 6vw;
	}

	.rigenera-spa-archive {
		padding: 3vw 0;
	}

	h1.archive-title {
		color: #061BB0;
		font-size: 4.208vw;
		margin-bottom: 140px;
		font-weight: 300;
	}
}

/*------ single rooms*/
a.rigenera-marker-link {
	transition: 300ms;
	background: #EAC435;
	display: block;
	border-radius: 50px;
	display: flex;
	gap: 10px;
	align-items: center;
	padding: 6px 12px;
	width: max-content;
	min-width: 120px;
	text-decoration: none;
}

a.rigenera-marker-link:hover {
	transition: 300ms;
	background: #061BB0;
	color: #EAC435;
}

.rigenera-marker-text {
	display: flex;
	flex-direction: column;
}

.rigenera-marker-icon {
	background: #061BB0;
	padding: 10px;
	border-radius: 50%;
	display: flex;
}

.rigenera-marker-text span {
	font-size: 12px;
	display: block;
	line-height: 1.4;
}

.rigenera-room-wrapper {
	padding: 60px 0;
}

.rigenera-markers-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	padding-top: 40px;
	border-top: 1px solid #061BB0;
}

.rigenera-marker-title h3 {
	font-size: 32px;
	line-height: 1em;
	color: #061BB0;
	font-weight: 300;
}

.rigenera-marker-grid {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

a.rigenera-marker-link.room-option {
	background: transparent;
	border: 1px solid #061BB0;
	pointer-events: none;
}

h2.room-category-title {
	color: #061BB0;
	font-size: 22px;
	font-weight: 300;
	margin-bottom: 20px;
}

.room-category-section {
	padding-bottom: 59px;
	border-bottom: 1px solid #061BB0;
}

.room-category-main {
	display: flex;
	flex-direction: column;
	gap: 60px;
}
.rigenera-marker-icon img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	display: flex;
}
.rigenera-marker-text{
    font-size: 14px;
}

@media(min-width: 1025px) {
    .rigenera-marker-text{
    font-size: 16px;
}
    .rigenera-marker-icon img {
	width: 20px;
	height: 20px;
}
	.room-category-section {
		padding-bottom: 89px;
		border-bottom: 1px solid blue;
	}

	h2.room-category-title {
		color: #061BB0;
		font-size: 3.125vw;
		font-weight: 300;
		margin-bottom: 20px;
	}

	.rigenera-marker-grid {
		display: flex;
		gap: 20px;
		flex-wrap: wrap;
		justify-content: flex-end;
	}

	.rigenera-marker-title h3 {
		font-size: 3.125vw;
		line-height: 1em;
		color: #061BB0;
		font-weight: 300;
	}

	.rigenera-markers-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 60px;
		padding-top: 80px;
		border-top: 1px solid #061BB0;
		align-items: flex-start;
	}

	.rigenera-room-wrapper {
		padding: 8vw 0;
	}
}

@media(min-width: 1921px) {
	.rigenera-room-wrapper {
		padding: 6vw 0;
	}
}
.rigenera-booking-actions button,
div#bpa-front-customer-panel-container button{
    border-radius: 50px!important;
    transition: 300ms;
}


/* ------------------------ cookie popup */
#ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-classic #ct-ultimate-gdpr-cookie-accept, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-classic #ct-ultimate-gdpr-cookie-change-settings, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-classic #ct-ultimate-gdpr-cookie-read-more, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-modern #ct-ultimate-gdpr-cookie-accept, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-modern #ct-ultimate-gdpr-cookie-change-settings, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-modern #ct-ultimate-gdpr-cookie-read-more {
    max-width: 190px;
    border-radius: 50px;
}