/*Home*/
.hAuto{
    height:auto !important;
}
.container-hero{
    border-bottom:5px solid var(--colorPrimary);
}
.container-fluid.menu-resort{
    padding:0;
    margin-top:40px;
}
.menu-resort .menu-select-mobile{
    display:flex;
    justify-content:center;
    background:var(--colorSandLight);
    margin-top:40px;
}
.menu-resort .menu-select-mobile a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex:1;
    background: 0;
    border: 0;
    height: 140px;
    font-size: 17px;
    transition:.5s all;
    text-align:center;
}
.menu-resort .menu-select-mobile a:hover{
    color:#fff;
    background:var(--colorPrimary);
}
.menu-resort .menu-select-mobile a.active{
     color:#fff;
    background:var(--colorSecondary);
}
.menu-resort .menu-select-mobile a.active img,.menu-resort .menu-select-mobile a:hover img{
    filter:brightness(0) invert(1);
}
.menu-resort .menu-select-mobile a img{
    width:45px;
    height:auto;
}
.tabs-faqs-resorts .tab-content {
    flex:1;
}
.tabs-faqs-resorts button.nav-link,.tabs-faqs-resorts button.nav-link.active,
.tabs-faqs-resorts button.nav-link:hover{
    text-align: left;
    background: transparent;
    border: none;
    position:relative;
    color:var(--colorPrimary);
    font-family:var(--fontTitles);
    font-weight:200;
    text-transform:uppercase;
    font-size:1.4em;
    border-bottom:1px solid rgba(221,221,221,0.25);
}
.tabs-faqs-resorts button.nav-link:before{
    content: '\f054' !important;
    position: relative !important;
    top: 0 !important;
    font-size: 14px;
    right: -11px !important;
    font-family: fontawesome;
    margin-right: 24px;
    transition: .3s transform;
    color:var(--colorSecondary);
}
.tabs-faqs-resorts button.nav-link:last-child{
    border-bottom:none;
}
.tabs-faqs-resorts button.nav-link:hover{
    margin-left:15px;
}
.tabs-faqs-resorts .nav-tabs{
    width:100%;
    border: 1px solid #efeeee;
    background: #fafafa !important;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.09);
}
.tabs-faqs-resorts .accordion-item{
    border:none !important;
    margin-bottom:5px;
}
.tabs-faqs-resorts .accordion-item .accordion-button{
    border-radius:0;
    border-bottom:1px solid rgba(0,0,0,.1);
    font-size:18px;
    padding-left:0;
    display: flex;
    align-items: flex-start;
}
.tabs-faqs-resorts .accordion-button::after,.tabs-faqs-resorts .accordion-button.collapsed::after{
    background-image:none !important;
    font-size:14px;
    transform:none !important; 
    padding-left:10px;
}
.tabs-faqs-resorts .accordion-button::after{
    content:"\f077";
    font-size:14px;
    font-family:'fontAwesome';
}
.tabs-faqs-resorts .accordion-button.collapsed::after{
    content:"\f078";
    font-family:'fontAwesome';
}
.grid-faqs .col{
    padding-left:0;
}
.tabs-faqs-resorts .accordion-button:not(.collapsed){
    background-color:transparent;
    box-shadow:none;
}
.tabs-faqs-resorts .accordion-button:focus{
    box-shadow:none; 
}
.tabs-faqs-resorts .accordion-button:hover,.tabs-faqs-resorts .accordion-button{
    z-index:1;
}
.accordion-button:not(.collapsed){
    color:var(--colorPrimary);
}
body p.title-faq{
    font-size:21px;
}
/*Rooms*/
.tabs-rooms{
    padding:0;
}
.tabs-rooms h2{
    font-size: 32px;
    font-family: var(--fontTitles);
    font-weight:200;
}
.tabs-rooms .nav-tabs{
    margin:40px 0 0 0;
    width:100%;
}
.tabs-rooms .nav-tabs button.nav-link{
    margin:0;
    border-bottom:1px solid rgba(12,43,57, .4);
}
.tabs-rooms .nav-tabs button.nav-link.active,.tabs-rooms .nav-tabs button.nav-link:hover{
    border-bottom:none;
}
.tabs-rooms .nav-tabs button.nav-link.active p{
    color: #fff;
}
.tabs-rooms .nav-tabs button.nav-link p{
    position:relative;
}
.tabs-rooms .nav-tabs button.nav-link p .fa-caret-right{
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translate(-50%, -50%);
}
.tabs-room .nav-tabs button.nav-link{
    padding:15px 30px 15px 25px;
}
.tabs-rooms .nav-tabs button.nav-link p{
    font-size:21px;
}
.tabs-rooms h3{
    text-transform: none;
    font-family: var(--fontTitles);
    font-weight:200;
}
.tabs-rooms .align-items-start .tab-content{
    flex:1;
    padding:40px 0 0 40px;
}
.tabs-rooms .services-room{
    column-count:3;
}
.tabs-rooms .services-room span{
    display:block;
    position:relative;
    padding-left:10px;
}
.tabs-rooms .services-room span:before{
    content:"\f111";
    position:absolute;
    left:0;
    font-size:5px;
    font-family:'fontAwesome';
}
.tabs-rooms .services-room .fa-caret-right:before{
    content:"•";
}
.tabs-rooms .swiper-button-next,.tabs-rooms .swiper-button-prev,
.swiper-gastronomy  .swiper-button-next,.swiper-gastronomy  .swiper-button-prev{
    width:30px;
    height:30px;
    background: rgba(12,43,57, .6);
}
.swiper-gastronomy  .swiper-button-next,.swiper-gastronomy  .swiper-button-prev{
    top:195px;
}
.tabs-rooms .swiper-button-next:after,.tabs-rooms .swiper-button-prev:after,
.swiper-gastronomy  .swiper-button-next:after,.swiper-gastronomy  .swiper-button-prev:after{
    color: #fff;
    font-size: 21px;
}
.tabs-rooms .hover-gallery .lightbox .image img{
    height:auto !important;
}
/*Services*/
.services-resort{
    background:var(--colorSandLight);
    box-shadow:0px 5px 10px rgba(0, 0, 0, 0.09);
}
.services-resort .row>div>*:not(.editMode .services-resort .row>div>*),.services-resort .row>div img.img-responsive,
.services-resort .row>div .carousel,.services-resort .row>div .carousel-inner,
.services-resort .row>div .carousel-item,.services-resort .row>div .carousel-item img{
    height:100%;
}
.services-resort .row>div .carousel-item img{
    object-fit:cover;
}
.services-resort .row>div:has(h2){
    padding:30px;
}
/*Gastronomy*/
.swiper-gastronomy h3{
    color:var(--colorSecondary);
    font-family:var(--fontTitles);
    font-weight:200;
}
.swiper-gastronomy .swiper-slide{
    display: flex;
    flex-direction: column;
    height: auto;
}
.swiper-gastronomy .swiper-slide>div:last-child{
    flex:1;
}
.swiper-gastronomy .swiper-slide>div:first-child{
    max-height:360px;
    position:relative;
}
.swiper-gastronomy .concept{
    position: absolute;
    bottom: 10px;
    right: 10px;
    display: flex;
    justify-content: flex-end;
}
.swiper-gastronomy .concept img{
    max-width:50%;
    height:auto;
}
.swiper-gastronomy .swiper-slide>div:first-child img.img-responsive{
   height:360px;
}
.swiper-gastronomy .block-gastronomy{
    padding:30px 20px;
    box-shadow:0px 5px 10px rgba(0, 0, 0, 0.09);
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}
.block-gastronomy p:has(.fa-clock){
    position:relative;
    padding-left:20px;
}
.block-gastronomy .fa-clock{
    position: absolute;
    top: 5px;
    left: 0;
}
.grid-bars .swiper-gastronomy .block-gastronomy{
    justify-content:flex-start;
}
.swiper-gastronomy.restaurants .block-gastronomy>p:has(.viewMore){
    height: 100%;
    display: flex;
    align-items: flex-end;
}
.col:has(.banner-gastronomy){
    padding:0;
}
.banner-gastronomy{
    position:relative;
}
.banner-gastronomy .text-banner-gastronomy{
    position: absolute;
    top: 20%;
    right: 10%;
    width: 620px;
    border: 1px solid #8AD8EF;
    background: rgba(255, 255, 255, .9);
    padding: 60px 25px;
}
.banner-gastronomy img.img-responsive {
    height: 80vh;
    object-fit: cover;
}
.banner-gastronomy .concept {
    position: absolute;
    bottom: 10px;
    right: 30px;
}
/*Location*/
body .location p.sub-title{
    font-size:24px;
    text-transform:none;
}
/*Weddings*/
.grid-weddings .carousel-inner{
    overflow:hidden;
}
.grid-weddings .carousel-control-prev,.grid-weddings .carousel-control-next{
    bottom:-60px;
}
.text-banner{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
body .intro-resort .box-bg h2{
    font-size:1.8rem;
    color: var(--colorSecondary);
    font-family: var(--fontTitles);
    font-weight: 300;
}
.intro-resort>.row>div .htt-text-image>div{
    display:flex;
    flex-direction:column;
}
.intro-resort>.row>div .htt-text-image,
.intro-resort>.row>div .htt-text-image>div{
    height:100%;
}
/*MMCM*/
.swiper.offers-mirage-cm .swiper-wrapper{
    justify-content:center;
}
.gallery-home .lightbox .image{
    display:none;
}
.gallery-home .lightbox .image:first-child{
    width:66% !important;
}
.gallery-home .lightbox .image:nth-child(-n+5){
    display:block;
}
body .intro-resort .box-bg{
    border-top:none;
    flex:1;
}
.grid-inclusions .box-bg{
    padding:0;
    display:flex;
    justify-content:center;
    gap:20px;
}
.grid-inclusions .box-bg img.img-responsive{
    height:100%;
}
.grid-inclusions .box-bg>div:last-child{
    padding:20px;
    flex:1 0 60%;
    align-self:center;
}
/*@media(min-width:1680px){
    .swiper-gastronomy.restaurants h3{
        min-height:100px;
    }
}
@media(min-width:1440px) and (max-width:1679px){
    .swiper-gastronomy.restaurants h3{
        min-height:150px;
    }
}
@media(min-width:1366px) and (max-width:1439px){
    .swiper-gastronomy.restaurants h3{
        min-height:70px;
    }
}
@media(min-width:768px) and (max-width:1199px){
    .swiper-gastronomy.restaurants h3{
        min-height:80px;
    }
}*/
@media(max-width:1440px){
    body .intro-resort .box-bg h2{
        font-size:1.4rem;
    }
}
@media (max-width: 1199px) {
    .banner-gastronomy .text-banner-gastronomy {
        width: 350px;
    }
}
@media (max-width: 1024px) {
    .banner-gastronomy .text-banner-gastronomy {
        width: 100%;
        right: 0;
        position: relative;
        border-top: none;
    }
    body .intro-resort .box-bg h2{
        font-size:1.2rem;
    }
}
@media(max-width:991px){
    .container-fluid.menu-resort{
        margin-top:0;
    }
    .tabs-faqs-resorts .tab-content, .tabs-faqs-resorts .dropdown.flex-column,
    .tabs-faqs-resorts .dropdown.flex-column button,.tabs-faqs-resorts .align-items-start>div,
    .tabs-faqs-resorts .dropdown-menu.show{
        width:100%;
    }
    .tabs-faqs-resorts .align-items-start, .tabs-rooms .align-items-start{
        flex-direction:column;
    }
    .tabs-faqs-resorts .align-items-start>div, .tabs-rooms .align-items-start>div{
        width:100% !important;
    }
    .tabs-faqs-resorts .align-items-start>div button p.left,
    .tabs-rooms .align-items-start>div button p.left{
        text-align:center !important;
        font-size:18px !important;
    }
    .tabs-faqs-resorts .align-items-start>div button p .fa-caret-right,
    .tabs-rooms .align-items-start>div .selected-item-text .fa-caret-right{
        display:none !important;
    }
    .tabs-faqs-resorts .dropdown button.dropdown-toggle,.tabs-rooms .dropdown button.dropdown-toggle{
        border-radius: 0;
        background: var(--colorPrimary);
        padding: 12px;
        font-size: 18px;
    }
    .tabs-rooms>.row>.col>div>.dropdown button.dropdown-toggle{
        background:var(--colorSand);
        border:none;
        color:var(--colorPrimary);
    }
    .tabs-faqs-resorts .dropdown-item.active,.tabs-faqs-resorts .dropdown-item:active,
    .tabs-rooms .dropdown-item.active,.tabs-rooms .dropdown-item:active{
        background:var(--colorPrimary);
    }
    .tabs-rooms .services-room{
        column-count:2;
    }
    body .tabs-rooms p.services-room{
        text-align:left !important;
    }
    .tabs-rooms .align-items-start .tab-content{
        padding:40px 0 0 0;
    }
    .tab-content .row .col{
        padding-left:0;
        padding-right:0;
    }
    .tabs-rooms nav,.tabs-faqs-resorts nav{
        width:100%;
    }
    .grid-weddings .carousel.slide{
        margin-bottom:60px;
    }
    .grid-inclusions .box-bg{
        flex-direction:column;
    }
    .grid-inclusions .box-bg>div{
        flex:1 0 100%;
    }
}
@media(max-width:767px){
    .tabs-rooms h3{
           text-align:center !important;
    }
    .map-resort>.row>div:first-child{
        order:2;
        margin-top:15px;
    }
    .banner-gastronomy img.img-responsive {
        height: 50vh;
        object-position: 20%;
    }
}