/*
    Theme name: marmonthotel25-2025
    Theme URI: marmonthotel25-2025
    Description: Marmonthotel25-2025
    Author:       Mirai Dev Team
    Author URI:   http://mirai.com
    Template:     mirai-ma
    Version:      1.0.0
    License:      GNU General Public License v2 or later
    License URI:  http://www.gnu.org/licenses/gpl-2.0.html
    Text Domain:  mirai-maai
*/

/*************************************/
/********** GENERAL STYLES **********/
/***********************************/

:root {
    /***** SPACES *****/
	--mft-space-5xs: 4px;
	--mft-space-4xs: 8px;
	--mft-space-3xs: 12px;
	--mft-space-2xs: 16px;
	--mft-space-xs: clamp(16px, calc(16px + (24 - 16) * ((100vw - 767px) / (1920 - 767))), 24px); /*dk-24 --- mb-16*/
    --mft-space-s: clamp(24px, calc(24px + (32 - 24) * ((100vw - 767px) / (1920 - 767))), 32px); /*32 --- 24*/
    --mft-space-m: clamp(32px, calc(32px + (40 - 32) * ((100vw - 767px) / (1920 - 767))), 40px); /*40 --- 32*/
    --mft-space-l: clamp(32px, calc(32px + (48 - 32) * ((100vw - 767px) / (1920 - 767))), 48px); /*48 --- 32*/
    --mft-space-xl: clamp(32px, calc(32px + (56 - 32) * ((100vw - 767px) / (1920 - 767))), 56px); /*56 --- 32*/
    --mft-space-2xl: clamp(48px, calc(48px + (64 - 48) * ((100vw - 767px) / (1920 - 767))), 64px); /*64 --- 48*/
    --mft-space-3xl: clamp(48px, calc(48px + (80 - 48) * ((100vw - 767px) / (1920 - 767))), 80px); /*80 --- 48*/
    --mft-space-4xl: clamp(48px, calc(48px + (96 - 48) * ((100vw - 767px) / (1920 - 767))), 96px); /*96 --- 48*/
    --mft-space-5xl: clamp(48px, calc(48px + (160 - 48) * ((100vw - 767px) / (1920 - 767))), 160px); /*160 --- 48*/

    /***** CONTAINERS *****/
    --width-s: 700px;
    --width-m: 1140px;
    --width-l: 1920px;

    /***** MIN-HEIGHT FOR IMG *****/
	--min-height-s: 300px;
	--min-height-m: 500px;
	--min-height-l: 600px;
}

body, a, a:hover {
    font-size: inherit;
	font-family: inherit;
    color: inherit;
	text-transform: inherit;
	text-decoration: none;
}

a, a::hover, p, h1, h2, h3, h4, h5 {
	text-transform: inherit!important;
}

p, a {
	font-family: var(--e-global-typography-primary-font-family), Sans-serif !important;
	line-height: inherit;
    font-weight: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
}

/***** SPACE BETWEEN SECTIONS *****/
.mft-space-section-t { padding-top: var(--mft-space-4xl); }
.mft-space-section-b { padding-bottom: var(--mft-space-4xl); }

/* CONTAINERS */
.mft-container-s.elementor-element {
    max-width: var(--width-s);
    margin: 0 auto;
    box-sizing: border-box;
}

.mft-container-m.elementor-element {
    max-width: var(--width-m);
    margin: 0 auto;
    box-sizing: border-box;
}

.mft-container-l.elementor-element {
    max-width: var(--width-l);
    margin: 0 auto;
    box-sizing: border-box;
}

/***** WIDGET IMG RESPONSIVE - makes the image cover and adapt to the container *****/
.mft-bg-img .elementor-element,
.mft-bg-img .elementor-element .elementor-widget-image,
.mft-bg-img .elementor-element .e-n-carousel.swiper,
.mft-bg-img .elementor-element .elementor-widget-container {
	height: 100%;
}

.mft-bg-img .elementor-element .elementor-widget-image img,
.mft-bg-img .elementor-element .elementor-widget-container img {
	position: absolute;
	object-fit: cover;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.mft-minh-s {
	min-height: var(--min-height-s); /*300px*/
}

.mft-minh-m {
	min-height: var(--min-height-m); /*500px*/
}

.mft-minh-l {
	min-height: var(--min-height-l); /*600px*/
}

@media(max-width:1024px) {
	.mft-minh-l {
		min-height: var(--min-height-m);
	}

	.mft-minh-m {
		min-height: var(--min-height-s);
	}

}

/***** CENTER ICON RRSS - centre social media widget icon *****/
.elementor-social-icon.elementor-icon {
    display: flex;
}

/* 404 PAGE */
.not-found-page{
    display: table;
    background: url(https://static-resources-elementor.mirai.com/common/bg-404.png) no-repeat center center transparent;
    margin-bottom: 0;
    width: 100%;
    min-height: 570px;
    text-align: center;
}

.not-found-page span {
    font-size: 18px;
    display: table-cell;
    vertical-align: middle;
}

/* HIDING RECAPTCHA BADGE */
.grecaptcha-badge { visibility: hidden; }


/* so that loading does not appear in bookingstep1 */
body.elementor-editor-active .mi-rs.loading {
	display: none;
}

/* to make the language selector visible in modal */
.wpml-ls-legacy-dropdown-click:hover .wpml-ls-sub-menu {
	visibility: visible;
}

/***********************************************/

/*********** STYLES THROUGH CLASSES ***********/

/*********************************************/

/***** FROM ABSOLUTE TO RELATIVE - change an absolute element to a relative element from 1024px and above *****/
@media (max-width: 1024px) {
    .mft-relative-tb {
        position: relative;
    }
}

/***** HIDE TEXT CLOSE POP UP CLOSE BUTTON ****/
.btn-close-popup .elementor-icon-box-title {
    display: none;
}

/***** BACKGROUND CONTANER - background for a container through a before to be able to customise it, so that it does not occupy 100% of the container, or that it has a geometric shape, etc. *****/
.mft-bg-section:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 77%;
    background: var(--e-global-color-15b9b07);
}

/***** UNDERLINE - add a low line to a button *****/
.mft-underline.elementor-element::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: var(--e-global-color-text);
	transition: all .3s ease-out;
}

.mft-underline.elementor-element:has(.elementor-button:hover)::after {
    background-color: var(--e-global-color-accent); 
}

/***** CENTER ICON BUTTON & ICON WIDGET - to centre the icons *****/
.mft-icon-btn-center .elementor-button-icon,
.mft-icon-btn-center .elementor-button-wrapper,
.elementor-widget-icon .elementor-widget-container,
.elementor-widget-icon .elementor-widget-container .elementor-icon-wrapper {
    display: flex;
    align-items: center;
}

/***** MOVE THE MOTOR ON Y-AXIS - to put the engine half on the hero image and half off the hero image ******/
.mft-booking-translateY .elementor-widget-Mirai-Finder {
    transform: translateY(-50%);
    box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.10);
}

/***** CHANGE THE COLOUR OF TEXT AND BUTTONS ON A COLOURED BACKGROUND *****/

/* on a dark background - variable white colour */
.mft-light-text,
.mft-light-text .elementor-button {
	color: var(--e-global-color-47eea86e) !important;
    fill: var(--e-global-color-47eea86e) !important;
}

/* on a light background - variable black colour */
.mft-dark-text,
.mft-dark-text .elementor-button {
	color: var(--e-global-color-21f8c9b7) !important;
    fill: var(--e-global-color-21f8c9b7) !important;
}

/******************************************************/

/*********** ARROWS & DOTS CAROUSEL STYLES ***********/

/*****************************************************/

/***** ARROWS *****/
.mft-arrows-carousel-styles .elementor-swiper-button i {
	font-family: 'mirai-icofonts';
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	color: var(--e-global-color-accent);
	border-radius: 50%;
	padding: var(--mft-space-3xs);
	background: #FFFFFF99;
	box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.16);
	transition: all .3s ease-out;
}

.mft-arrows-carousel-styles .elementor-swiper-button:hover i {
	color: var(--e-global-color-47eea86e);
    background: var(--e-global-color-accent);
}

.mft-arrows-carousel-styles .elementor-swiper-button-prev i:before {
	content: "\e962";
}

.mft-arrows-carousel-styles .elementor-swiper-button-next i:before {
	content: "\e963";
}

/***** DOTS *****/
.mft-dots-carousel-styles .swiper-pagination .swiper-pagination-bullet {
	background: var(--e-global-color-accent);
	width: 7px;
	height: 7px;
	margin: 5px;
	transition: all .3s ease-out;
}

.mft-dots-carousel-styles .swiper-pagination .swiper-pagination-bullet:hover {
	background: var(--e-global-color-accent);
}

/******************************************/

/*********** AUTOSCROLL POPUPS ***********/

/****************************************/

/***** AUTOSCROLL *****/
.mft-scrolly-auto {
	overflow: hidden !important;
	overflow-y: auto !important;
	max-height: calc(100vh - 140px);
}

/***** SCROLL BAR STYLES *****/
.mft-modal-scroll::-webkit-scrollbar {
	width: 5px;
}

.mft-modal-scroll::-webkit-scrollbar-track {
	box-shadow: inset 0 0 5px var(--e-global-color-text);
	border-radius: 2px;
}

.mft-modal-scroll::-webkit-scrollbar-thumb {
	background-color: var(--e-global-color-text);
	border-radius: 2px;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.mft-modal-scroll::-webkit-scrollbar-thumb:hover {
	background: var( --e-global-color-primary);
}

/********************************/

/*********** BUTTONS ***********/

/******************************/

/***** GENERIC BUTTON STYLES *****/
.mft-btn.elementor-button {
    fill: inherit;
}

/* when hovering */
.mft-btn .elementor-button-text:after {
	content: "\e963";
    font-family: 'mirai-icofonts';
    font-size: 12px;
	padding-left: 10px;
    opacity: 0;
	transition: all .3s ease;
}

.mft-btn:not(.mft-btn-4) .elementor-button-content-wrapper {
    align-items: center;
    transform: translateX(11px);
	transition: all .3s ease;
}

.elementor-button.mft-btn:hover .elementor-button-text:after {
    opacity: 1;
}

.elementor-button.mft-btn:hover .elementor-button-content-wrapper {
    transform: translateX(0);
}

/***** BTN - 1 *****/
.elementor-button.mft-btn-1 {
	font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
	color: var(--e-global-color-47eea86e);
	background-color: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-primary);
	padding: var(--mft-space-2xs) var(--mft-space-xs);
	transition: all .3s ease;
}

.elementor-button.mft-btn-1:hover {
	background-color: var(--e-global-color-13f4851a);
    border: 2px solid var(--e-global-color-13f4851a);
    fill: var(--e-global-color-47eea86e);
}

/***** BTN - 2 *****/
.elementor-button.mft-btn-2 {
	font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
	color: var(--e-global-color-text);
	background-color: transparent;
	padding: var(--mft-space-2xs) var(--mft-space-xs);
	border: 2px solid;
	transition: all .3s ease;
}

.elementor-button.mft-btn-2:hover {
	color: var(--e-global-color-47eea86e);
    fill: var(--e-global-color-47eea86e);
	background-color: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-primary);
}

/***** BTN - 3 *****/
.elementor-button.mft-btn-3 {
	font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
	color: var(--e-global-color-text);
	background-color: var(--e-global-color-6cb047a);
    border: 2px solid var(--e-global-color-6cb047a);
	padding: var(--mft-space-2xs) var(--mft-space-xs);
	transition: all .3s ease;
}

.elementor-button.mft-btn-3:hover {
	color: var(--e-global-color-47eea86e);
    fill: var(--e-global-color-47eea86e);
	background-color: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-primary);
}

/***** BTN - 4 *****/
.elementor-button.mft-btn-4 {
	font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
	color: var(--e-global-color-text);
	background-color: transparent;
	padding: 0;
	transition: all .3s ease;
}

.elementor-button.mft-btn-4:hover {
	color: var(--e-global-color-primary);
}

.mft-btn.mft-btn-4 .elementor-button-text {
    position: relative;
    padding-bottom: 5px;
}

.mft-btn.mft-btn-4 .elementor-button-text:after {
    font-size: 0;
    padding-left: 0;
}

.elementor-button.mft-btn.mft-btn-4:hover .elementor-button-text:after {
    opacity: 1;
    font-size: 12px;
    padding-left: 10px;
}

.elementor-button.mft-btn-4 .elementor-button-text:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--e-global-color-text);
    left: 0;
    bottom: 0;
}

.elementor-button.mft-btn-4:hover .elementor-button-text:before {
    background: var(--e-global-color-primary);
}

/*********************************/

/************* WPML *************/

/*******************************/

.wpml-elementor-ls {
    display: flex;
    align-items: center;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    min-height: 21px;
    padding-right: 20px
}

.wpml-ls-legacy-dropdown-click a {
    color: var(--e-global-color-primary);
    border: none;
    padding: 1px 10px 1px 25px;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle {
    background-color: transparent;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
    content: '\e965	';
    font-family: 'mirai-icofonts';
    border: 0;
    font-size: 10px;
    color: var(--e-global-color-text);
    top: calc(50% - 5px);
    right: 0px;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M9 14.6362C9.21875 14.6362 9.84375 14.4175 10.4688 13.1362C10.75 12.5737 11 11.9175 11.1562 11.1362H6.8125C7 11.9175 7.21875 12.5737 7.5 13.1362C8.15625 14.4175 8.75 14.6362 9 14.6362ZM6.5625 9.63623H11.4062C11.4688 9.16748 11.5 8.66748 11.5 8.13623C11.5 7.63623 11.4688 7.13623 11.4062 6.63623H6.5625C6.5 7.13623 6.5 7.63623 6.5 8.13623C6.5 8.66748 6.5 9.16748 6.5625 9.63623ZM6.8125 5.13623H11.1562C11 4.38623 10.75 3.72998 10.4688 3.16748C9.84375 1.88623 9.21875 1.63623 9 1.63623C8.75 1.63623 8.15625 1.88623 7.5 3.16748C7.21875 3.72998 7 4.38623 6.8125 5.13623ZM12.9062 6.63623C12.9688 7.13623 12.9688 7.63623 12.9688 8.13623C12.9688 8.66748 12.9688 9.16748 12.9062 9.63623H15.3125C15.4375 9.16748 15.5 8.66748 15.5 8.13623C15.5 7.63623 15.4375 7.13623 15.3125 6.63623H12.9062ZM14.75 5.13623C14.0938 3.85498 13 2.82373 11.6875 2.22998C12.125 3.04248 12.4688 4.04248 12.6875 5.13623H14.75ZM5.28125 5.13623C5.5 4.04248 5.84375 3.04248 6.28125 2.22998C4.96875 2.82373 3.875 3.85498 3.21875 5.13623H5.28125ZM2.65625 6.63623C2.5625 7.13623 2.5 7.63623 2.5 8.13623C2.5 8.66748 2.53125 9.16748 2.65625 9.63623H5.0625C5 9.16748 5 8.66748 5 8.13623C5 7.63623 5 7.13623 5.0625 6.63623H2.65625ZM11.6875 14.0737C13 13.48 14.0938 12.4487 14.75 11.1362H12.6875C12.4688 12.2612 12.125 13.2612 11.6875 14.0737ZM6.28125 14.0737C5.84375 13.2612 5.5 12.2612 5.28125 11.1362H3.21875C3.875 12.4487 4.96875 13.48 6.28125 14.0737ZM9 16.1362C6.125 16.1362 3.5 14.6362 2.0625 12.1362C0.625 9.66748 0.625 6.63623 2.0625 4.13623C3.5 1.66748 6.125 0.13623 9 0.13623C11.8438 0.13623 14.4688 1.66748 15.9062 4.13623C17.3438 6.63623 17.3438 9.66748 15.9062 12.1362C14.4688 14.6362 11.8438 16.1362 9 16.1362Z" fill="%230C2140"></path></svg>');
    position: absolute;
    left:0;
    top: 1px;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-link {
    padding: 7px 10px 7px 10px;
    text-align: center;
    background-color: var(--e-global-color-47eea86e);
}

.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a {
    border-width: 0;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    border-top: none;
}

.wpml-ls-legacy-dropdown-click {
    transition: .3s ease-in-out;
}

.wpml-ls-legacy-dropdown-click a:hover,
.wpml-ls-legacy-dropdown-click a:focus {
    color: var(--e-global-color-secondary);
    background: var(--e-global-color-47eea86e);
}

.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a,
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a::after {
    color: var(--e-global-color-primary);
    background: transparent;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M9 14.6362C9.21875 14.6362 9.84375 14.4175 10.4688 13.1362C10.75 12.5737 11 11.9175 11.1562 11.1362H6.8125C7 11.9175 7.21875 12.5737 7.5 13.1362C8.15625 14.4175 8.75 14.6362 9 14.6362ZM6.5625 9.63623H11.4062C11.4688 9.16748 11.5 8.66748 11.5 8.13623C11.5 7.63623 11.4688 7.13623 11.4062 6.63623H6.5625C6.5 7.13623 6.5 7.63623 6.5 8.13623C6.5 8.66748 6.5 9.16748 6.5625 9.63623ZM6.8125 5.13623H11.1562C11 4.38623 10.75 3.72998 10.4688 3.16748C9.84375 1.88623 9.21875 1.63623 9 1.63623C8.75 1.63623 8.15625 1.88623 7.5 3.16748C7.21875 3.72998 7 4.38623 6.8125 5.13623ZM12.9062 6.63623C12.9688 7.13623 12.9688 7.63623 12.9688 8.13623C12.9688 8.66748 12.9688 9.16748 12.9062 9.63623H15.3125C15.4375 9.16748 15.5 8.66748 15.5 8.13623C15.5 7.63623 15.4375 7.13623 15.3125 6.63623H12.9062ZM14.75 5.13623C14.0938 3.85498 13 2.82373 11.6875 2.22998C12.125 3.04248 12.4688 4.04248 12.6875 5.13623H14.75ZM5.28125 5.13623C5.5 4.04248 5.84375 3.04248 6.28125 2.22998C4.96875 2.82373 3.875 3.85498 3.21875 5.13623H5.28125ZM2.65625 6.63623C2.5625 7.13623 2.5 7.63623 2.5 8.13623C2.5 8.66748 2.53125 9.16748 2.65625 9.63623H5.0625C5 9.16748 5 8.66748 5 8.13623C5 7.63623 5 7.13623 5.0625 6.63623H2.65625ZM11.6875 14.0737C13 13.48 14.0938 12.4487 14.75 11.1362H12.6875C12.4688 12.2612 12.125 13.2612 11.6875 14.0737ZM6.28125 14.0737C5.84375 13.2612 5.5 12.2612 5.28125 11.1362H3.21875C3.875 12.4487 4.96875 13.48 6.28125 14.0737ZM9 16.1362C6.125 16.1362 3.5 14.6362 2.0625 12.1362C0.625 9.66748 0.625 6.63623 2.0625 4.13623C3.5 1.66748 6.125 0.13623 9 0.13623C11.8438 0.13623 14.4688 1.66748 15.9062 4.13623C17.3438 6.63623 17.3438 9.66748 15.9062 12.1362C14.4688 14.6362 11.8438 16.1362 9 16.1362Z" fill="%238A714C"></path></svg>') !important;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-link {
    position: relative;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-link:after {
    content: "";
    position: absolute;
    height: 2px;
    width: 20px;
    background: transparent;
    bottom: 3px;
    left: 50%;
    transform: translateX(-50%);
    transition: .3s ease-in-out;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-link:hover::after {
    background: var(--e-global-color-primary);
}

@media (max-width: 1024px) {
    /* hide language and arrow in tb */
    .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
        display: none;
    }

    /* to remove the space after hiding the arrow */
    .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
        padding-right: 0;
    }

    /* the space for the language drop-down */
    .wpml-ls-legacy-dropdown-click a {
        padding: 1px 10px 1px 19px;
    }

    .wpml-ls-legacy-dropdown-click a.wpml-ls-link {
        padding: 5px 0;
        font-size: 13px;
    }
}

/**************************************/

/*********** MASHUP OFFERS ***********/

/************************************/

/***** GENERAL STYLES *****/
.mashup-1 .offers-mashup-slide,
.mashup-2 .offers-mashup-slide {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--mft-space-xs);
}

/* title */
.offers-mashup dl dt {
    font-family: var(--e-global-typography-fcce242-font-family);
    font-size: 24px;
    font-weight: var(--e-global-typography-fcce242-font-weight);
    line-height: var(--e-global-typography-fcce242-line-height);
}

/* discount */
.offers-mashup dl dd {
	font-family: var(--e-global-typography-8035a56-font-family), Sans-serif;
    font-size: var(--e-global-typography-8035a56-font-size);
    font-weight: var(--e-global-typography-8035a56-font-weight);
    line-height: var(--e-global-typography-8035a56-line-height);
}

/* button */
.offers-mashup dl .more-info-link {
	font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-8035a56-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
	color: var(--e-global-color-text);
	background-color: transparent;
	padding: var(--mft-space-2xs) var(--mft-space-xs);
	border: 2px solid;
    display: inline-block;
    text-transform: none;
	transition: all .3s ease;
}

.offers-mashup dl .more-info-link:hover {
	color: var(--e-global-color-47eea86e);
    fill: var(--e-global-color-47eea86e);
	background-color: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-primary);
}

/***** MASHUP 1 - 2 fixed offers, with photo and without carousel *****/
.mashup-1 .offers-mashup-slide dl {
	background: var(--e-global-color-47eea86e);
}

.mashup-1 .offers-mashup-slide dl img {
	width: 100%;
	height: 250px;
	object-fit: cover;
}

.mashup-1 .offers-mashup dl dt {
	padding: var(--mft-space-s) var(--mft-space-xs) var(--mft-space-3xs);
}

.mashup-1 .offers-mashup dl dd {
	padding: var(--mft-space-2xs) var(--mft-space-xs) var(--mft-space-s);
}

/***** MASHUP 2 - 2 fixed offers, without photo and without carousel *****/
.mashup-2 .offers-mashup-slide dl {
	background-color: var(--e-global-color-f79e654);
	padding: var(--mft-space-l);
}

.mashup-2 .offers-mashup dl dt {
	border-bottom: 2px solid var(--e-global-color-text);
	padding: 0 35px 24px;
	margin-bottom: 24px;
	position: relative;
}

.mashup-2 .offers-mashup dl dt:before {
	content: "\e997";
	font-family: 'mirai-icofonts';
	color: var(--e-global-color-text);
	position: absolute;
	left: 0;
}

/***** MASHUP 3 - with photo and carousel (flickity) *****/
.mashup-3 .offers-mashup dl dt {
	padding: var(--mft-space-s) 0;
}

.mashup-3 .offers-mashup dl dd {
	padding-bottom: var(--mft-space-s);
}

.mashup-3  [data-custom-flickity-params] {
	padding-bottom: 50px;
}

.mashup-3 .offers-mashup dl {
	width: 33%;
    gap: 10px;
    margin: 0 5px;
}

.mashup-3 .flickity-button {
	color: var(--e-global-color-accent) !important;
	padding: var(--mft-space-3xs);
	background: #FFFFFF99 !important;
	box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.16);
	transition: all .3s ease-out;
}

.mashup-3 .flickity-button:hover {
    background: #fff;
    cursor: pointer;
    color: var(--e-global-color-47eea86e) !important;
    background: var(--e-global-color-accent) !important;
}

.mashup-3 .flickity-page-dots .dot {
	background: var(--e-global-color-accent);
}

.mashup-3  [data-custom-flickity-params] .offers-mashup-inner img {
	width: 100%;
	height: 250px;
	object-fit: cover;
}

@media (max-width:1024px) {
	.mashup-3 .offers-mashup dl {
		width: 50%;
	}
}

@media (max-width:767px) {
	.mashup-1 .offers-mashup-slide,
	.mashup-2 .offers-mashup-slide {
		grid-template-columns: 1fr;
	}

	[data-custom-flickity-params] .carousell-cell {
		width: 100%;
	}

	.mashup-3 .offers-mashup dl {
		width: 100%;
	}
}

/****************************************/

/***** START LEGAL PAGE TEXT WIDGET *****/

/****************************************/

/***** COOKIES POLICY ******/
.cookies-section {
	max-width: var(--width-m);
	margin: 0 auto;
	box-sizing: border-box;
	padding: 60px 0;
}

.cookies-section a {
	font-weight: bold;
	transition: .3s ease-in-out;
}

.cookies-section a:hover {
	color: var(--e-global-color-primary);
}

.page-template-tpl-cookies-policy h2:not([data-elementor-type="footer"] h2) {
    font-size: 1.8em !important;
}

.page-template-tpl-cookies-policy .elementor-text-editor {
    font-family: var(--e-global-typography-primary-font-family), Sans-Serif;
}

.page-template-tpl-cookies-policy .elementor-row { 
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}

/***** LEGAL NOTICE ******/

/* Heading H1 */
.mft-legal-text h1 {
	font-family: var(--e-global-typography-primary-font-family);
    font-size: var(--e-global-typography-primary-font-size);
    font-weight: var(--e-global-typography-primary-font-weight);
    line-height: var(--e-global-typography-primary-line-height);
	padding-bottom: 20px;
}

/* Heading H2 */
.mft-legal-text h2,
.cookies-section .elementor-widget-wrap .elementor-widget-heading:first-child .mi-title3 {
	font-family: var(--e-global-typography-secondary-font-family);
	padding-bottom: 20px;
}

/* Heading H3*/
.mft-legal-text h3 {
	font-family: var(--e-global-typography-accent-font-family);
	padding-bottom: 20px;
}

/* Heading H4*/
.mft-legal-text h4,
.cookies-section .mi-title3 {
	font-family: var(--e-global-typography-962030d-font-family), Sans-serif;
	padding-bottom: 20px;
}

.mft-legal-text h2:not(:first-of-type),
.mft-legal-text h3,
.mft-legal-text h4,
.cookies-section .mi-title3 {
	margin: 30px 0 0;
}

/* LINKS */
.mft-legal-text a {
	text-wrap: wrap;
	overflow-wrap: break-word;
	text-decoration: none;
	color: var(--e-global-color-primary);
	transition: .3s ease-in-out;
}

.mft-legal-text a:hover {
	color: var(--e-global-color-13f4851a);
}

.mft-legal-text a span {
	color: inherit !important;
}

/* SPACE AFTER ELEMENTS */
.mft-legal-text p,
.mft-legal-text ul,
.mft-legal-text ol {
	margin-bottom: 15px;
}

/* LISTS */
.mft-legal-text ol {
	padding-left: 18px;
}

.mft-legal-text ol li {
	list-style-type: disc;
	list-style-position: outside;
	overflow-wrap: break-word;
	margin-bottom: 5px;
}

.mft-legal-text ul {
	padding-left: 35px;
}

.mft-legal-text ul li {
	list-style-type: circle;
	list-style-position: outside;
	overflow-wrap: break-word;
	margin-bottom: 5px;
}

/* TABLE STYLE */
.mft-legal-text table tr:first-child {
	background-color: var(--e-global-color-primary);
	color: var(--e-global-color-47eea86e);
}

/* Table general styles */
.mft-legal-text table {
	background-color: transparent;
	width: 100%;
	font-size: 1em;
	border-spacing: 0;
	border-collapse: collapse;
	margin: 30px 0;
}

@media (max-width:1023px) {
	.mft-legal-text table {
		max-width: 100%;
		overflow-x: auto;
		display: block;
	}
}

/* Table cell padding and styles */
.mft-legal-text table td,
.mft-legal-text table th {
	padding: 15px;
	line-height: 1.5em;
	vertical-align: top;
	border: 1px solid var(--e-global-color-15b9b07);
	min-width: 200px;
}

/* Background of odd table rows */
.mft-legal-text table tbody > tr:nth-child(odd) > td,
.mft-legal-text table tbody > tr:nth-child(odd) > th {
	background-color: #09090912;
}

.mft-legal-text table a:hover {
	text-decoration: none;
}

/**************************************/

/*********** DYNAMIC PAGES ***********/

/************************************/

/***** GENERAL STYLE *****/

/* ICONS -- these icons are painted on the room detail and offer pages */
a.back-link:before, 
a.fwd-link:after,
a.down-link:after {
    content: '\e976';
    font-family: 'mirai-icofonts';
    font-size: .85em;
    line-height: .85em;
    font-weight: normal;
    margin: 0 .5em;
    vertical-align: middle;
    display: inline-block;
    text-decoration: none;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
}

a.fwd-link:after {content: '\e967';}
a.down-link:after {content: '\e965';}

a.fwd-link:hover, 
.back a:hover,
a.down-link:hover {
    text-decoration: none;
}

a.fwd-link:hover:after {
    margin-left: 1em;
    margin-right: 0;
}

.back a:hover:before {
    margin-right: 1em;
    margin-left: 0;
}

a.down-link:hover:after {
    -webkit-transform: translateY(0.3em);
    transform: translateY(0.3em);
}

/* hide finder in room detail & offer detail */
body:is(.cat-room-detail, .cat-offer-detail) .mft-wrapper-finder-header,
body:is(.cat-room-detail, .cat-offer-detail) .mft-wrapper-finder {
	display: none !important;
}

/* container */
.rooms-listing-wrapper,
.rooms-detail-wrapper,
.offers-listing-wrapper,
.offers-detail-wrapper {
	max-width: var(--width-m);
	margin: 0 auto;
	box-sizing: border-box;
}

/* titles rooms & detail room */
.rooms-listing-wrapper h2,
.rooms-listing-wrapper .room-box h3 a,
.rooms-detail-wrapper h2,
.rooms-detail-wrapper h3 {
	text-decoration: none;
	text-transform: none;
	transition: .3s ease-in-out;
}

/* hover title room */
.rooms-listing-wrapper .room-box h3 a:hover {
	color: var(--e-global-color-primary) !important;
}

.offers-listing .offer .offer-title {
    font-size: 27px;
    width: 100%;
}

/* decoration title underlined */
/*.offers-listing .offer .offer-title:after,
.offers-detail-wrapper .offer-header-content-wrapper .offer-title:after {
	content: "";
	width: 70px;
	height: 3px;
	background: var(--e-global-color-primary);
	display: block;
	margin: var(--mft-space-2xs) 0;
}*/

/***** btn - more information & offer-button *****/
.rooms-listing-wrapper .room-box a.more-info,
.rooms-listing-wrapper .room-box .room-intro a,
.offers-listing .offer .offer-button {
	font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
	color: var(--e-global-color-47eea86e);
	background-color: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-primary);
	padding: var(--mft-space-2xs) var(--mft-space-xs);
	transition: all .3s ease;
}

/* hover btn - more information & button */
.rooms-listing-wrapper .room-box a.more-info:hover,
.rooms-listing-wrapper .room-box .room-intro a:hover,
.offers-listing .offer .offer-button:hover {
	background-color: var(--e-global-color-13f4851a);
    border: 2px solid var(--e-global-color-13f4851a);
}

/* btn - more information */
.rooms-listing-wrapper .room-box a.more-info,
.rooms-listing-wrapper .room-box .room-intro a {
	margin-top: var(--mft-space-m);
	display: block !important;
	width: max-content;
	text-decoration: none !important;
}

/* btn -  offer-button */
.offers-listing .offer .offer-button {
	position: relative !important;
	bottom: 0;
	right: 0;
	display: inline-block;
	margin: 10px 35px;
}

.room-box .room-content ul.exclusive-services {
    margin: 15px 0;
    padding-left: 0;
}

/* btn - more information full width & center mobile */
@media (max-width:767px) {
	.rooms-listing-wrapper .room-box a.more-info,
	.rooms-listing-wrapper .room-box .room-intro a {
		width: auto;
		text-align: center;
	}

	.offers-listing .offer .offer-button {
		display: block;
	}

}

/***** icons and room description text *****/
.rooms-listing-1 .room-box .room-detail ul li {
	font-weight: 500;
}

.rooms-listing-wrapper .room-box .room-detail ul li span.occupancies-ico,
.rooms-listing-wrapper .room-box .room-detail ul li span.size-ico,
.rooms-listing-wrapper .room-box .room-detail ul li span.distibution-ico {
	background-image: none !important;
	width: auto;
	height: auto;
}

.rooms-listing-wrapper .room-box .room-detail ul li span.occupancies-ico:before,
.rooms-listing-wrapper .room-box .room-detail ul li span.size-ico:before,
.rooms-listing-wrapper .room-box .room-detail ul li span.distibution-ico:before {
	font-family: 'mirai-icofonts';
	font-size: 25px;
	padding-right: 5px;
	color: var(--e-global-color-primary);
}

.rooms-listing-wrapper .room-box .room-detail ul li span.occupancies-ico:before {
	content: "\ea44";
}

.rooms-listing-wrapper .room-box .room-detail ul li span.size-ico:before {
	content: "\e97e";
}

.rooms-listing-wrapper .room-box .room-detail ul li span.distibution-ico:before {
	content: "\eaa0";
}

/********** TEMPLATES ROOMS **********/

/* ROOM TEMPLATE 1 */
.rooms-listing-1 .room-box .room-detail ul {
	background: transparent !important;
	text-align: left;
	padding: var(--mft-space-m) 0;
	margin: 0;
}

.rooms-listing-1 .room-box .room-detail ul li {
	width: auto !important;
	padding-right: var(--mft-space-s);
}

.rooms-listing-1 .room-box .room-content .room-price {
	border-top: none;
}

.rooms-listing-1 .room-box .room-content .room-price .box-from .box-price,
.rooms-listing-1 .room-box .room-content .room-price .box-from .price-description {
	color: var(--e-global-color-text);
}

.rooms-listing-1 .room-box .room-content .room-price .box-from .box-price {
	font-weight: bold;
}

.rooms-listing-1 .room-box .room-content .room-price .box-from .box-price span {
	font-size: 16px;
}

@media (min-width:1025px) {
	.rooms-listing-1 .room-box .room-detail {
		padding: 0 var(--mft-space-m) !important;
	}

	.rooms-listing-1 .room-box .room-content {
		padding: 0 var(--mft-space-m) var(--mft-space-m) !important;
	}
}

/* ROOM TEMPLATE 2 */
.rooms-listing-2 .room-box {
	border: none;
}

.rooms-listing-2 .room-box .room-detail {
	padding: 0px 2%;
}

@media (min-width:979px) {
	.rooms-listing-2 .room-box .room-image,
	.rooms-listing-2 .room-box .room-detail {
		width: 50%;
	}

	.rooms-listing-2 .room-box .room-detail ul {
		width: 50%;
		left: auto;
	}
}

@media (max-width:979px) {
	.rooms-listing-2 .room-detail h3 {
		padding-top: var(--mft-space-m);
	}
}

/* ROOM TEMPLATE 3 */
.rooms-listing-3 .room-item h3 {
	font-family: var(--e-global-typography-962030d-font-family), Sans-serif;
    font-size: var(--e-global-typography-962030d-font-size);
    font-weight: var(--e-global-typography-962030d-font-weight);
    line-height: var(--e-global-typography-962030d-line-height);
	background-color: rgb(32 32 32 / 60%);
}

.rooms-listing-3 a.room-image-link img {
	transition: all .3s ease;
}

.rooms-listing-3 a.room-image-link:hover img {
	filter: brightness(0.8);
}

.rooms-listing-3 .room-item .min-price {
	background-color: var(--e-global-color-primary);
	color: var(--e-global-color-47eea86e);
}

/* ROOM TEMPLATE 4 */
.rooms-listing-4 .room-box .room-image-link {
	position: relative;
	min-height: 400px;
}

.rooms-listing-4 .room-box .room-image-link img {
	position: absolute;
	object-fit: cover;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.rooms-listing-4 .room-box .room-content {
	background-color: var(--e-global-color-708ae8f) !important;
}

/* ROOM TEMPLATE 5 */
.rooms-listing-5 li.item-service::marker {
    font-size: 0;
}

@media (min-width:768px) {
	.rooms-listing-5 .room-box {
		padding: var(--mft-space-l);
		background-color: transparent !important;
	}

	.rooms-listing-5 .room-name,
	.rooms-listing-5 .room-intro {
		padding-right: var(--mft-space-l);
		padding-left: 0;
	}

	.rooms-listing-5 .room-box:nth-child(odd) .room-name,
	.rooms-listing-5 .room-box:nth-child(odd) .room-intro {
		padding-left: var(--mft-space-l);
		padding-right: 0;
	}
}

@media (max-width:767px) {
	.rooms-listing-wrapper { padding-bottom: 56px; }
	
	.rooms-listing-4 .room-box .room-image-link {
		min-height: 200px;
	}

	.rooms-listing-4 .room-box .room-content {
		background-color: transparent !important;
	}
}

/* decomment when requesting centred content - for all templates*/
/*.rooms-listing-wrapper .room-detail,
.rooms-listing-wrapper .room-box .room-detail ul,
.rooms-listing-wrapper .room-box .room-content,
.rooms-listing-5 .room-name,
.rooms-listing-5 .room-description {
text-align: center !important;
}*/

/* centring for template 2 and 4 */
/*.rooms-listing-wrapper .room-box .room-content,
.rooms-listing-2 .room-box .room-detail .room-description,
.rooms-listing-4 .room-box .room-description,
.rooms-listing-5 .room-intro .row:last-child {
display: flex;
flex-direction: column;
align-items: center;
}*/

/* centred check-list template 5 */
/*.rooms-listing-5 .room-services-list {
padding-left: var(--mft-space-l);
}*/

/********** TEMPLATE OFFERS **********/

/* OFFER TEMPLATE 1 */
.offers-listing-1 .offers-listing {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mft-space-l);
	padding-top: var(--mft-space-l);
}

.offers-listing-1 .offer {
	margin: 0 auto;
	width: 48%;
}

.offers-listing-1 .offer .offer-photo {
	position: relative;
	height: 350px;
	width: 150px;
}

.offers-listing-1 .offer .offer-photo img {
	position: absolute;
	object-fit: cover;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.offers-listing-1 .offer .offer-box {
	float: none;
}

.offers-listing-1 .offer .offer-title {
	padding: 25px 35px 0;
}

.offers-listing-1 .offer .offer-date-range {
	padding: 0 35px;
}

.offers-listing-1 .offer-box.box-3 {
	display: none;
}

.offers-listing-1 .offer-link {
	background: var(--e-global-color-f79e654);
}

.offers-listing-1 .offer .offer-description,
.offers-listing-1 .offer .offer-includes {
	margin-right: 0;
	padding: 0 35px 20px;
}

@media (max-width:1024px) {
	.offers-listing-1 .offer {
		width: 45%;
	}
}

@media (max-width:820px) {
	.offers-listing-1 .offers-listing {
		padding-left: 0;
	}

	.offers-listing-1 .offer {
		width: 100%;
	}
}

@media (max-width:767px) {
	.offers-listing-1 .offer .offer-photo {
		height: 150px;
		width: 100%;
	}

	.offers-listing-1 .offer .offer-title {
		padding: 25px 0 0;
	}

	.offers-listing-1 .offer .offer-description,
	.offers-listing-1 .offer .offer-includes {
		padding: 0 0 20px;
	}

	.offers-listing-1 .offer .offer-button {
		margin: 20px 0;
	}

	.offers-listing .offer .offer-title {
		text-align: left;
	}
}

/* OFFER TEMPLATE 2 */
.offers-listing-2 .offer .offer-intro,
.offers-listing-2 .offer .offer-date-range {
	background-color: var(--e-global-color-52235058);
}

.offers-listing-2 .offer .offer-photo {
	width: 100%;
	height: 200px;
	position: relative;
}

.offers-listing-2 .offer .offer-photo img {
	position: absolute;
	object-fit: cover;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.offers-listing-2 .offer .offer-deco {
	background-color: var(--e-global-color-primary);
}

.offers-listing-2 .offer-deco i:before {
	content: "\ea7a";
	color: var(--e-global-color-eff34ee);
}

.offers-listing-2 .offer .offer-description {
	padding: var(--mft-space-xs);
}

.offers-listing-2 .offer .offer-box {
	background-color: var(--e-global-color-f79e654);
}

.offers-listing-2 .offer .offer-box span,
.offers-detail-wrapper .offer .offer-box span {
	font-family: var(--e-global-typography-fcce242-font-family);
    font-size: var(--e-global-typography-fcce242-font-size);
    font-weight: var(--e-global-typography-fcce242-font-weight);
    line-height: var(--e-global-typography-fcce242-line-height);
	color: var(--e-global-color-text);
}

.rooms-listing-2 .room-box .room-detail .price-box .last-booking {
    color: var(--e-global-color-text);
    background: #ffffffba;
    padding: 5px;
}

@media (min-width:1025px) {
	.offers-listing-2 .offers-listing .offer {
		width: 33%;
	}
}

/* OFFER TEMPLATE 4 */
.offers-listing-4 .offer-text {
	text-align: center;
}

.offers-listing-4 .offer .offer-box {
	min-height: 400px;
	transition: .3s ease-in-out;
}

.offers-listing-4 .offer .offer-box img {
	position: absolute;
	object-fit: cover;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.offers-listing-4 .offer .offer-box:hover {
	box-shadow: 0px 0px 9px #00000047;
}

/* OFFER TEMPLATE 5 */
.offers-listing-5 .offer .offer-link,
.offers-detail-wrapper.offer-detail-5 .offer-wrapper {
	background: var(--e-global-color-f79e654) !important;
	transition: .3s ease-in-out;
}

.offers-listing-5 .offer .offer-link *,
.offers-detail-wrapper.offer-detail-5 .offer-wrapper {
	color: var(--e-global-color-text) !important;
}

.offers-listing-5 .offer .offer-link:hover {
	box-shadow: 0px 0px 9px #00000047 !important;
}

.offers-listing-5 .offer .offer-link::before {
	opacity: 0 !important;
}

.offers-listing-5 .offer .offer-title,
.offers-detail-wrapper.offer-detail-5 .offer-wrapper .offer-title {
	border-bottom: 2px solid var(--e-global-color-text) !important;
}

.offers-listing-5 .offer .offer-content i:before,
.offers-detail-wrapper.offer-detail-5 .offer-wrapper .offer-title i:before {
	content: "\e997";
	color: var(--e-global-color-text);
}

.offers-listing-5 .offer .offer-date-range {
	left: 30px;
	font-weight: 600;
}

.offers-listing-5 .offer .offer-date-range i:before {
	content: "\e9e2";
	color: var(--e-global-color-primary);
}

.offers-listing-5 .offer .offer-title:after {
	display: none;
}

@media (min-width:1025px) {
	.offers-listing-5 .offers-listing .offer {
		width: 33%;
	}
}

/***** ROOM DETAILS *****/
.calendar-wrapper.calendar-type1 {
	border-top: 0;
}

.rooms-detail-wrapper .room-box-services h3,
.rooms-detail-wrapper h3 {
	margin-bottom: 40px;
}

.rooms-detail-wrapper h4 {
	font-family: var(--e-global-typography-962030d-font-family), Sans-serif;
    font-size: var(--e-global-typography-962030d-font-size);
    font-weight: var(--e-global-typography-962030d-font-weight);
    line-height: var(--e-global-typography-962030d-line-height);
}

.rooms-detail-wrapper h2 {
	padding-bottom: var(--mft-space-s);
}

.rooms-detail-wrapper .room-box-detail,
.rooms-detail-wrapper .room-box-price {
	background-color: var(--e-global-color-15b9b07) !important;
}

.rooms-detail-wrapper .room-box-services,
.rooms-detail-wrapper .room-box-common-services {
    padding: 15px 0px;
}

.rooms-detail-5 .offers-listing-1 {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
}

.rooms-detail-5 .offers-listing-1 .offer {
	width: 48%;
}

.rooms-detail-5 .room-box-offers .elementor-container .offer-list-wrapper {
    background: transparent;
}

/*.rooms-detail-5 .room-box-offers {
	background: var(--e-global-color-f79e654);
}*/

/***** OFFER DETAILS *****/
.offers-detail-wrapper.offer-detail-1 .offer-features-wrapper .offer-boxes-wrapper .offer-box span, 
.offers-detail-wrapper.offer-detail-1 .offer-features-wrapper .offer-boxes-wrapper .offer-box meta {
    font-family: var(--e-global-typography-fcce242-font-family);
    font-size: 20px !important;
    font-weight: var(--e-global-typography-fcce242-font-weight);
    line-height: var(--e-global-typography-fcce242-line-height);
}

.offers-detail-wrapper.offer-detail-1 .offer-photo {
    width: 230px;
}

.offers-detail-wrapper .offer-photo {
	width: auto;
}

.offers-detail-wrapper.offer-detail-2 .offer-wrapper {
	float: none;
}

.offers-detail-wrapper.offer-detail-2 .offer {
	margin: 55px auto;
}

.offer-detail-5 .offer-wrapper .offer-title i.eci {
    display: inline;
    margin: 0 15px 0 0;
    font-size: 25px;
}

