.elementor-kit-1397{--e-global-color-primary:#003F88;--e-global-color-secondary:#54595F;--e-global-color-text:#000000;--e-global-color-accent:#F3EFEC;--e-global-color-21f8c9b7:#000;--e-global-color-47eea86e:#FFF;--e-global-color-6cb047a:#FFFFFF00;--e-global-typography-primary-font-size:5rem;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:lowercase;--e-global-typography-secondary-font-size:17px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-size:2rem;--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-weight:400;}.elementor-kit-1397 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-1397{--e-global-typography-primary-font-size:4rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-1397{--e-global-typography-primary-font-size:2.5rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* variables */
:root {
    --gap-large:120px;
    --gap-m-large:72px;
    --gap-medium:44px;
}

@media (max-width:480px) {
    :root {
    --gap-large:100px;
    --gap-m-large:60px;
    --gap-medium:38px;
}
}



/* ---------------------- */ 

/*CUSTOM WIDTH CONTAINERS */
/* Set a larger container to a section -> container-xl */
.container-xl,
.container-xl.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1920px;
    margin: 0 auto;
    box-sizing: border-box;

}

/* exclude smaller ipad landscape size*/
 @media(min-width:1181px) {
.container-xl.elementor-section.elementor-section-boxed > .elementor-container{
    padding-left: var(--gap-large);
    padding-right: var(--gap-large); 
    }
}



/* Set a larger container to a section -> container-l */
.container-l.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Set a larger container to a section -> container-l-int */
.container-l-int {
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box; 
}

.container-l-int.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1167px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Set a boxed section or container with no padding (Like a full width) -> boxed-no-pdd */
.boxed-no-pdd.elementor-section.elementor-section-boxed > .elementor-container {
    padding-left: 0;
    padding-right: 0;
}
 @media(max-width:480px) {
.boxed-no-pdd-xs.elementor-section.elementor-section-boxed > .elementor-container {
    padding-left: 0;
    padding-right: 0;
    }
}

@media(max-width:820px) {
    .s-column-reverse > .elementor-widget-wrap {
        flex-direction:column-reverse;
    }     
}
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 2) {
    .s-column-reverse > .elementor-widget-wrap {
        flex-direction:column-reverse;
    }  
}





html {
  font-size:16px;
}

a.tracking-link {
    color:#fff;
}
a, .elementor-location-footer a.tracking-link, .mi-vcard-phone a, .mi-vcard-email a, #developed-wrapper a, a.back-link, .go-to-offers a, .go-to-offers-page a, body.cat-contact label a, body.cat-contact .google-policy a, .wpml-ls-legacy-dropdown-click a {
    color:var(--e-global-color-text) ;
}


a:hover, a.tracking-link:hover, .mi-vcard-phone a:hover, .mi-vcard-email a:hover,  #developed-wrapper a:hover, a.back-link:hover, .go-to-offers a:hover, .go-to-offers-page a:hover, body.cat-contact label a:hover, body.cat-contact .google-policy a:hover {
    color: var(--e-global-color-primary);
}

a.elementor-button:hover, ul.elementor-nav-menu a.elementor-item:hover{
    text-decoration:none !important;    
}

body.cat-contact label a, body.cat-contact .google-policy a {
    font-weight:500;
}


/**** bsmodal open fixes ****/

body.mi-bsmodal-open .modal-engine {
    z-index:1049;
}
.mi-bsmodal.show {
    backdrop-filter: blur(1px);
}
 @media(max-width:480px) {
.mi-be.mi-be-mobile {
    display:flex;
}
body.mim-modal-open .modal-engine-wrapper .elementor-widget-Mirai.Booking {
    z-index:1;
}
}

/**** affix hidden ****/
 @media(min-width:1025px) {
.elementor-sticky.elementor-sticky--active.elementor-sticky--effects .affix-hidden {
    display:none;
}
}

/* modal popup */
.modal-engine [data-elementor-type=popup] {
    height:100%;
}


/**** home page section class*/
@media (min-width:1025px) {
.full-height-section {
    min-height: calc(100vh - 90px);
}
}

/**** description scroll ****/
.text-scroll {
    max-height:300px;
    overflow-x:hidden;
    overflow-y: auto;
    padding-right:10px;
    padding-bottom:10px;
}

.text-scroll::-webkit-scrollbar
{
	width: 4px;
	background-color: #F5F5F5;
}
.text-scroll::-webkit-scrollbar-thumb
{
	background-color: var(--e-global-color-primary);
}

/**** legal page text style ****/

.cat-legal ul li {
list-style-type: disc;
list-style-position: inside;
}
 
.cat-legal h2,
.cat-cookies-policy h2 {
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    text-transform: var(--e-global-typography-secondary-text-transform);
    margin-bottom: 20px;
}
.cat-legal h3 {
    font-weight:600;
    margin-bottom: 20px;
}
.cat-legal p:not(:last-child) {
    margin-bottom: 20px;
}



/**** dynamic pages' titles ****/
.mi-title2, #cookies-wrapper-content h1, #cookies-wrapper-content h2,
.rooms-listing-wrapper h2, .rooms-listing-wrapper h2, .offers-listing-wrapper h2, .blog-wrapper h2, .blog-wrapper h1, .blog-wrapper #posts_con_categoria, .mi-iata-content h2, .starter-offers .offers-mashup dl dt,
/*h3*/
.rooms-detail-wrapper h3, .offers-detail-wrapper h3, .blog-wrapper h3, .mi-iata-content h3 {
    color: var(--e-global-color-text)!important; 
    font-weight: var(--e-global-typography-primary-font-weight)!important;
    text-transform: var(--e-global-typography-primary-text-transform)!important;
}
 .rooms-detail-wrapper h2,
.rooms-listing-wrapper .room-name, .rooms-listing-wrapper h3, .offers-detail-wrapper h2, .offers-detail-wrapper h2 {
     color: var(--e-global-color-text)!important; 
    font-weight: var(--e-global-typography-primary-font-weight)!important;
    text-transform:initial!important;
}
.rooms-listing-wrapper h2 {
    display:none;
}
.mi-title2, .rooms-listing-wrapper h2, #cookies-wrapper-content h1, #cookies-wrapper-content h2, .offers-listing-wrapper h2, .blog-wrapper h2, .blog-wrapper h1, .blog-wrapper #posts_con_categoria, .mi-iata-content h2, .starter-offers .offers-mashup dl dt {
        font-size: var(--e-global-typography-primary-font-size)!important;
}
.page-template-tpl-cookies-policy .cookies-section {
    padding:0 !important;
}
.page-template-tpl-cookies-policy .elementor-widget-heading:first-child h2.mi-title3 {
display:none;
}

.rooms-listing-wrapper .room-name, .rooms-detail-wrapper h2, .offers-detail-wrapper h2 {
    font-size: var(--e-global-typography-accent-font-size) !important;
}

.rooms-detail-wrapper h3.offer-name {
    text-transform: initial !important;
    font-weight:500 !important;
    padding: 20px 0;
    
}

.rooms-detail-wrapper .offer-text {
    position:relative;
}

.cat-rooms .room-box {
    background: var(--e-global-color-primary)!important;
    padding:0;
    margin-bottom:var(--gap-m-large);
}

.cat-rooms .rooms-listing-wrapper {
    margin-top: var(--gap-m-large);
}

.room-intro {
    padding-bottom:40px;
}

.room-box, .rooms-listing-wrapper .room-name a, .rooms-listing-wrapper .elementor-button.secondary-btn {
    color:#fff !important;
   
}
.rooms-listing-wrapper > h2 {
    margin-bottom:40px;

}
.rooms-listing-wrapper .room-name {
    margin-top:40px;
}

.rooms-listing-wrapper  a.secondary-btn {   padding: 0 0 5px;
    border: 0;
    letter-spacing: 2px;
    font-weight:  var(--e-global-typography-primary-font-weight);
    border-bottom: 1px solid;
}
.rooms-listing-wrapper  a.secondary-btn:hover {  
    background:transparent;
    transform: scale(0.9);
}

.cat-room-detail .rooms-detail-wrapper, .cat-offer-detail .offers-detail-wrapper {
    padding:var(--gap-m-large) 0 0;
}
.cat-room-detail .detail-description h2[itemprop=name] span {
    display:none;
}

@media (max-width:1024px) {
    .room-box {
        padding:0 10px 20px 10px !important;
    }
}

/*** Offers page ***/

.offers-listing-wrapper.no-offers {
    text-align: center;
    padding: 40px;
    margin: 60px auto 0;
    border: solid 1px var(--e-global-color-primary);
    width: fit-content;
}

.offers-listing {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: start;
    
}
.offers-listing-wrapper.offers-listing-4 .offer-text {
    position:relative;
    padding-top:20px;
}

.cat-offers .offers-listing-wrapper h2 {
display:none;
}
.offers-listing-wrapper.offers-listing-4 .offer-text h3 {
    margin-bottom:10px;
    font-weight: 500;
    text-transform: none;
}
/**** mashup de ofertas ***/
@media(min-width:481px) {
    .offers-mashup dl {
        max-width:50%
    }
}
/**** dynamic pages bg color and book botton ****/
.calendar-wrapper.calendar-type2 .offer-calendar-button, .calendar-wrapper.calendar-type2 .room-calendar-button, .calendar-wrapper.calendar-type2 .calendar-nights-label, .calendar-wrapper.calendar-type2 select.calendar-nights-field {
    font-size:1.1rem !important;
}
.calendar-wrapper.calendar-type2 .calendar-title,.calendar-wrapper.calendar-type2 .calendar-nights, .calendar-wrapper.calendar-type2 select.calendar-nights-field, .room-box-offers, .calendar-wrapper.calendar-type2 .calendar-title, .calendar-wrapper.calendar-type2 .calendar-nights {
    background-color: var(--e-global-color-accent) !important;
}
.calendar-wrapper.calendar-type2 select.calendar-nights-field option {
    background-color: #fff;
}
.calendar-wrapper.calendar-type2 .dates-book .primary-btn:disabled, .calendar-wrapper.calendar-type2 .dates-book .primary-btn:disabled:hover {
    background: #dddddd;
    color: #bbbbbb;
}
.calendar-wrapper.calendar-type2 .dates-book .primary-btn {
    background: var(--e-global-color-primary);
    color:#fff;
}
.calendar-wrapper.calendar-type2 .dates-book .primary-btn:hover {
    background-color: var(--mirai-finder-button-background-active);
}
@media (max-width:768px) {

.offer-list-wrapper .room-offer {
    flex-direction: column;
}
.offer-list-wrapper .room-offer h2{
    align-self:flex-start;
    margin-bottom:20px;
}
}
/**** dynamic calendar ****/
.dynamic-calendar .ui-datepicker-calendar ._selected-date a, .dynamic-calendar .ui-datepicker-calendar ._checkout-date._checkin-date a, .dynamic-calendar .ui-datepicker-calendar a:hover {
    background:var(--mirai-ui-calendar-range-background) !important;
}
.dynamic-calendar .ui-datepicker-calendar ._selected-date a {
    font-weight: 600;
}

.dynamic-calendar .ui-datepicker-calendar ._checkin-date a {
     background: var(--e-global-color-primary) !important;
     color:#fff !important;
     font-weight:600;
 }
.dynamic-calendar .ui-datepicker-calendar ._checkout-date a {
   background: var(--e-global-color-primary)!important;
}


/*** dynamic pages primary-btn ****/
.booking_mobile.primary-btn {
    background: var(--e-global-color-primary)!important;
    color:#fff !important;
}
.booking_mobile.primary-btn:hover {
    background: var(--e-global-color-secondary) !important;
}

/*** Image gallery ***/
@media (max-width:480px) {
.filter-slider .elementor-gallery__titles-container {
    flex-wrap: nowrap;
    justify-content: start;
    overflow-x: auto;
    padding-bottom:5px;
}
.filter-slider .elementor-gallery__titles-container a.elementor-gallery-title {
        white-space:  nowrap;
}
}

/*** light box close button ****/
.elementor-lightbox .dialog-lightbox-close-button {
    text-decoration: none;
    border: 2px solid;
    border-radius:50%;
}

/*** Advantages in Flickity*/
@media (max-width:1024px) {
    .carousel-cell {
        opacity:0;
    }
    
    .carousel-cell.is-selected {
        opacity:1;
    }
}

.flickity-prev-next-button {
    z-index:9;
    border:solid 1.5px !important;
}
/*bookingstep2*/
.mi-rs-rate-qty .mi-rs-rate-select-room-btn {
    font-size: .7rem !important;
    text-transform: uppercase;
    letter-spacing: 1.1px;

}
.mi-rs-rate-qty .mi-rs-rate-select-room-btn .mi-ico-arrow-right-dark {
    margin-top: 15px;
    font-size: 10px;
}

/* CLUB */
.cat-mirai-club h1 {
    font-size: 2rem;
}
.cat-mirai-club div[data-mirai-component='signup'] > ui-signup, .cat-mirai-club div[data-mirai-component='profile'] > ui-view {
    margin:60px auto 0;
}

/* Accesibility supports */
a:focus-visible, div[role="button"]:focus-visible, *[tabindex="0"]:focus-visible, button:focus-visible, input[type="checkbox"]:focus-visible, input[type="text"]:focus-visible, input[type="email"]:focus-visible, textarea:focus-visible, select:focus-visible  {
  outline: 3px solid #005FCC !important;
}
a svg * {
    pointer-events: none;
}/* End custom CSS */