.elementor-kit-1397{--e-global-color-primary:#063C54;--e-global-color-secondary:#15242A;--e-global-color-text:#063C54;--e-global-color-accent:#FFF8E5;--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-secondary-font-size:17px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-size:2rem;--e-global-typography-accent-font-weight:500;--e-global-typography-013566d-font-size:1.5rem;--e-global-typography-013566d-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:1024px) {
    :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;
    }     
}



html {
    font-size: 16px;
}

a.tracking-link {
    color: #fff;
}

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,
#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-secondary);
}

/* footer texto */
div[data-id='mirai-vcard-address'],div[data-id='mirai-vcard-city'],  div[data-id='mirai-vcard-cp'], div[data-id='mirai-vcard-country'],
.mi-vcard-phone a,
.mi-vcard-email a {
    color:#fff;
    transition:.4s;
}
div[data-id='mirai-vcard-address']:hover,div[data-id='mirai-vcard-city']:hover,  div[data-id='mirai-vcard-cp']:hover, div[data-id='mirai-vcard-country']:hover,
.mi-vcard-phone a:hover,
.mi-vcard-email a:hover {
    color: var(--e-global-color-accent); 
    font-weight:600;
}

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) {
        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-detail-wrapper.rooms-detail-5 {
    padding:40px 0;
}

.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 .elementor-widget-heading:first-child h2.mi-title3 {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-size: var(--e-global-typography-primary-font-size);
    font-weight: var(--e-global-typography-primary-font-weight);
    text-transform: var(--e-global-typography-primary-text-transform);
    text-align: center;
    margin-bottom: var(--gap-m-large);
}

.page-template-tpl-cookies-policy .cookies-section {
    padding-top: 0 !important;
}

.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 page */

.rooms-detail-wrapper .offer-text {
    position: relative;
}

.room-box {
    background: var(--e-global-color-primary) !important;
    padding: 0 !important;
    margin-bottom: var(--gap-m-large) !important;
}

.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: 10px 20px;
    letter-spacing: 2px;
    border: 1px solid;
    border-radius: 4px;
    font-weight: 600;
}

.rooms-listing-wrapper a.secondary-btn:hover {
    background: #fff;
    color:var(--e-global-color-primary) !important;
    transition: .4s;
    border-color:#fff;
}

.room-box .room-intro {
    margin-bottom:40px;
}

.cat-room-detail #offer-list {
    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 {
    margin-bottom:var(--gap-m-large);
    margin-top:0;
}
.offers-listing-wrapper.offers-listing-4 .offer-text h3 {
    margin-bottom:10px;
    font-weight: 500;
    text-transform: none;
}

/* mashup ofertas */
.offers-mashup-slide {
    display:flex;
    gap:20px;
    justify-content: center;
}
@media(min-width:481px) {
    .offers-mashup .offers-mashup-slide>dl {
        max-width:50%
    }
}
.offers-mashup dl dt {
    font-size:17px;
    font-weight:500;
}
.offers-mashup dl dd {
    font-size:19.5px;
}
.offers-mashup dl dd a{
    font-size:initial;
    display: inline-block;
}

.offers-mashup .more-info-link {
    border:none !important;
    color: var(--e-global-color-text) !important;
    font-weight:500;
    padding:0 !important;
    letter-spacing: 2px;
    margin-top: 20px;
}
.offers-mashup dl dt {
    margin-top:20px;
}
.offers-mashup dl img {
    margin-bottom:20px;
}

@media (max-width:480px) {
.offers-mashup .offers-mashup-slide {
    flex-direction:column;
}
}

/**** 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-front-buttons-hover--color);
}
.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;
}

/*bookingstep1*/
.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;
}

/*** light box close button ****/
.elementor-lightbox .dialog-lightbox-close-button {
    text-decoration: none;
    border: 2px solid;
    border-radius:50%;
}

/*** home hotel styles ***/
@media (max-width: 1108px) {
.inner-menu ul {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    justify-content: start !important;
    }
}
   
/* link to map */
.eael-lightbox-popup-window.lightbox_type_content .eael-lightbox-container, .eael-lightbox-popup-window.lightbox_type_custom_html .eael-lightbox-container {
    padding:1px !important;
}
.eael-lightbox-popup-window .mfp-close {
    top:-10px;
    right:-10px;
    background: #fff !important;
    border-radius: 50%;
    height: 60px;
    width: 60px !important;
}
.eael-lightbox-popup-window .mfp-close:active {
    top: -10px !important;
}

/* anchor link */
.anchor-offset::before {
    content: "";
    display: block;
    margin-top: -160px; 
}
@media(max-width:1024px) {
    .anchor-offset::before {
    margin-top: -140px; 
}
}

/* Advantages in flickity*/

.flickity-prev-next-button {
    z-index:9;
    border:solid 1.5px !important;
}

/* 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 */