
#app-container{
    padding:0 !important;
}
.container-hero img.img-responsive{
    filter:none;
}
.hero-container-top, .hero-container-center, .hero-container-bottom{
  height: 70vh;
  background-repeat:no-repeat;
  background-size:cover;
}	
.banner-offer{
  padding:40px;
  margin-top:80px;
}
/*.banner-offer .title-banner-offer{
    margin-top:40px;
}*/
.banner-offer .title-banner-offer, 
body h1:not(body .general-section-offer h1,body .section-loyalty h1), 
body h2:not( body .general-section-offer h2,body .section-loyalty h2){
  font-size: 30px;
  font-family:var(--fontTitles);
  font-weight:700;
  line-height: 1.2;
  text-transform:capitalize;
}
.banner-offer .subtitle-banner-offer{
    font-size:24px;
}
.extra-discount{
    position: absolute;
    top:0;
    left:0;
    background: var(--colorPrimary);
    color: #fff;
    padding: 10px 20px;
}
.resort-offer{
    position:relative;
}
.resort-offer:has(.extra-discount),.resort-offer:has(.extra-discount) .img-resort-offer img{
    border-radius:0;
}
.grid-overlay-bottom>div{
    margin-top:20px;
}
.grid-resorts-offer>.row>div>.htt-text-image,
.grid-resorts-offer>.row>div>.htt-text-image>.resort-offer{
    height:100%;
}
.resort-offer,.text-resort-offer{
    display: flex;
    flex-direction: column;
}
.text-resort-offer{
    flex-grow:1;
}
.text-resort-offer p:last-child{
    display: flex;
    align-items: flex-end;
    flex-grow:1;
}
.resort-offer .text-resort-offer{
    padding:5%;
}
.resort-offer .text-resort-offer h3 {
    font-size: 30px;
    font-family: var(--fontTitles);
    font-weight: 700;
    line-height: 1.2;
    text-transform:none;
}
.resort-offer .text-resort-offer p span{
    font-style:italic;
    font-weight:700;
}
.resort-offer{
    border-radius: 10px;
    border: 1px solid var(--colorCaribbean);
}
.resort-offer .img-resort-offer img{
    border-top-left-radius:10px;
    border-top-right-radius:10px;
}
.htt-text-image:has(.two-cols){
    display:flex;
    justify-content:center;
}
.accordion-item{
    border:none !important;
}
.accordion-item .accordion-button{
    border-radius:0 !important;
    padding:10px 15px;
    color:var(--color-body);
    background-color:transparent;
    border:none;
    border-bottom:1px solid var(--colorSand) !important;
    font-size:23px;
    padding-left:0;
}
.accordion-button::after{
    transform:rotate(180deg); 
}
.accordion-button.collapsed::after{
    transform:none; 
}
#offer-terms .accordion-body{
    padding-left:0;
}
.alert-offer>div:first-child {
    background: #0B2463;
    padding: 15px 24px;
}
.alert-offer .flex-center {
    border: 1px solid var(--colorSand) !important;
    border-radius: 0px !important;
    padding:5%;
    background:var(--colorSandLight);
}
.alert-offer p.white {
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 700;
}
.alert-offer .flex-center>div:last-child {
    padding:30px 20px;
}
.box {
    border: 1px solid var(--colorCaribbean);
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-top: 10px;
}
.box>div img.img-responsive{
    margin-bottom:20px;
}
.box>div:last-child {
    flex: 1;
    padding:5%;
}
.htt-text-image:has(.box){
    height:100%;
}
@media(min-width:1025px){
    body:has(.banner-offer) ul.two-cols{
        transform:translate(8%, 0%);
    }
}
@media(min-width:992px){
.grid-overlay-bottom{
    display: flex;
    justify-content: center;
    gap: 20px;
}
}
@media(min-width:768px){
    .alert-offer{
        max-width:80%;
        margin:0 auto;
    }
    .alert-offer .flex-center {
        display: flex;
        justify-content: center;
        gap: 20px;
    }
    .alert-offer .flex-center>div {
        flex: 1;
    }
    .alert-offer .flex-center>div:last-child {
        display: flex;
        flex-direction: column;
        justify-content:space-around;
    }
}
@media only screen and (max-width: 1024px){
  .hero-container-center, .hero-container-top, .hero-container-bottom {
    justify-content: center;
    align-items: flex-start;
    padding:80px 0px 0px 0px;
}
.flex-center>div>.img-responsive{
    height:100%;
}
}
@media(max-width:991px){
    .grid-resorts-offer>.row>div:has(.img-resort-offer){
        margin-top:20px;
    }
}
@media only screen and (max-width: 767px) {
    .hero-container-top, .hero-container-center, .hero-container-bottom{
        height: 80vh;
    }
    .banner-offer .d-flex{
    flex-direction:column;
    }
}
.swiper-offers .swiper-slide:has(.offer#offer-savings-on-elegance),
.swiper-offers .swiper-slide:has(.offer#christmas-july),
.swiper-offers .swiper-slide:has(.offer#offer-lowest-rates){
    display: none;
}
