/* .main-spinner-wrapper {
	position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
	right: 0;
	z-index: 998;
}
.spinner {
    height: 150px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
} */

.list-style-none{
    list-style-type: none;
}

.result--tag.slider-result-tag.result-tag-common.result-tag-as-seen-on-tv {
    top: 44px;
    left: 10px;
    right: auto;
    border-radius: 100%;
    width: 60px;
    height: 60px;
    text-transform: uppercase;
    font-size: 11px;
    background: #b4976b;
    color: #FFF;
    font-weight: 500;
  }
  .result-tag-as-seen-on-tv .result--tag-tooltip {
    display: none;
    width: 200px;
    right: unset;
    font-size: 11px;
    line-height: 1.2;
    font-weight: normal;
    color: #000;
    left: 0;
    position: absolute;
    top: 26px;
    right: 0;
    background: #fff;
    border: solid 1px #2c6596;
    padding: 4px 8px;
    text-transform: none;
    border-radius: 8px;
    text-align: left;
    white-space: preserve;
    z-index: 1;
}
@media screen and (min-width: 40em) {
    .no-js .top-bar {
      display: flex;
    }
    .no-js .title-bar {
      display: none;
    }
  }

.skeleton-box {
  display: inline-block;
  height: 1em;
  position: relative;
  overflow: hidden;
  background-color: #ffffffa6;
}
.skeleton-box::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  -webkit-animation: shimmer 5s infinite;
  animation: shimmer 5s infinite;
  content: "";
}
.skeleton-box.for-input {
  height: 56px;
  width: 100%;
  max-width: 300px;
  border-radius: 3px;
}
.skeleton-box-inline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  padding: 0 .2rem;
}
.skeleton-box-inline.skeleton-box-button {
  margin: 4px 0;
}
.skeleton-box.for-label {
  min-width: 5rem;
}
.skeleton-box.for-button {
  height: 55px;
  width: 100%;
  border-radius: 5px;
}

@-webkit-keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
@media only screen and (max-width: 63.99em) {
 body:has(.villa-details-footer.active) #cue-widget-launcher {
  bottom: 4.8rem;
 }
}

/* foreground image */
.has-foreground-image {
    position: relative;
    z-index: 3;
}
@media screen and (min-width: 40em) {
    .section-foreground {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        inset: 0;
    }

    .section-foreground img.section-header-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        background-color: #70b9d5;
    }
}

@media screen and (max-width: 639px) {
    .section-foreground {
        position: relative;
        padding-top: 56.25%;
        display: block;
    }

    .section-foreground img.section-header-img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        inset: 0;
        background-color: #70b9d5;
    }
}

/* Destination page */

/* Destination Intro Section */

.destination-ex-updated .cell.shrink.show-for-medium {
    display: none;
}

.destination-ex-updated .breadcrumbs {
    margin-bottom: 0;
}

.destination-ex-updated .breadcrumbs-wrapper,
.destination-ex-updated .breadcrumbs-wrapper+h1 {
    margin-bottom: 24px;
}

.destination-ex-updated .page-section-destinationintro h1,
.destination-ex-updated .page-section-regiongroupintro h1,
.destination-ex-updated .page-section-regionintro h1,
.destination-ex-updated .page-section-resortintro h1{
    font-family: Montserrat;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.2;
    text-align: left;
    color: #2C6596;
}

@media screen and (min-width: 640px) {
    .destination-ex-updated .page-section-destinationintro,
    .destination-ex-updated .page-section-regiongroupintro,
    .destination-ex-updated .page-section-regionintro,
    .destination-ex-updated .page-section-resortintro {
        margin-bottom: 56px;
    }

    .destination-ex-updated .page-section-destinationintro p,
    .destination-ex-updated .page-section-regiongroupintro p,
    .destination-ex-updated .page-section-regionintro p,
    .destination-ex-updated .page-section-resortintro p,
    .destination-ex-updated .breadcrumbs li {
        font-size: 17px;
        font-weight: 400;
        line-height: 32px;
    }
}

.destination-ex-updated .page-section-destinationintro>.page-section-inner,
.destination-ex-updated .page-section-regiongroupintro>.page-section-inner,
.destination-ex-updated .page-section-regionintro>.page-section-inner,
.destination-ex-updated .page-section-resortintro>.page-section-inner
 {
    padding-top: 2rem !important;
}

.destination-ex-updated .page-section-destinationintro .button.secondary,
.destination-ex-updated .page-section-regiongroupintro .button.secondary,
.destination-ex-updated .page-section-regionintro .button.secondary,
.destination-ex-updated .page-section-resortintro .button.secondary
 {
    margin-top: 40px;
    padding-top: 16px;
    padding-bottom: 16px;
}

.destination-ex-updated .page-section-inner:not(.has-foreground-image .page-section-inner)
 {
    padding-block: 20px;
}

.destination-ex-updated .page-section-inner.section-faq-wrapper {
    padding-block-start: 44px !important;
}

@media screen and (max-width: 767px) {
   .destination-ex-updated .page-section-inner.section-faq-wrapper {
        padding-block-start: 28px !important;
    } 
}

.destination-ex-updated .tabs-content {
    border: 0;
}

.destination-ex-updated #Facts-tab {
    display: block;
    margin: 0 auto;
    max-width: 73.875rem;
    background: #DCEDFF;
    border-radius: 6px;
}

/* Destination slider */

.destination-ex-updated .region-location-carousel:not(:last-child){
    margin-bottom: 56px;
}


.destination-ex-updated .region-location-carousel .region-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 16px;
}

.destination-ex-updated .region-location-carousel .region-title-wrapper {
    flex: 1 1 auto;
}

.destination-ex-updated .region-location-carousel .region-title,
.destination-ex-updated .region-location-carousel .region-title a {
    font-family: "Montserrat";
    font-size: 24px;
    font-weight: 500;
    line-height: 29.26px;
    color: #2C6596;
    white-space: nowrap;
    padding-right: 10px;
}

.destination-ex-updated .region-location-carousel .region-count {
    font-family: "Montserrat";
    font-size: 16px;
    font-weight: 300;
    line-height: 19.5px;
    white-space: nowrap;
    color: #2C6596;
}

.destination-ex-updated .region-location-carousel .region-slide-buttons {
    flex: 0 0 112px;
    position: relative;
    top: -8px;
}

.destination-ex-updated .region-location-carousel .slide-btn {
    cursor: pointer;
    background-color: #DCEDFF;
    border-radius: 999px;
    width: 44px;
    height: 44px;
    font-size: 0;
    color: transparent;
    background-repeat: no-repeat;
    background-position: 18px center;
    background-image: url(https://solmarvillas-ccl.netlify.app/img/experiments/soma028/ico-chevron-blue-right.svg);
}

.destination-ex-updated .region-location-carousel .slide-btn-previous {
    background-image: url(https://solmarvillas-ccl.netlify.app/img/experiments/soma028/ico-chevron-blue-left.svg);
    background-position: 15px center;
}

.destination-ex-updated .region-location-carousel .slide-btn[disabled] {
    background-color: unset;
    opacity: .1;
}

.destination-ex-updated .region-location-carousel .region-description {
    font-size: 17px;
    font-weight: 400;
    line-height: 30.6px;
}

.destination-ex-updated .region-location-carousel .region-slide-wrapper {
    list-style: none;
    margin-top: 18px;
    margin-left: 0;
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.destination-ex-updated .region-location-carousel .region-slide {
    flex: 0 0 calc((100% - 12px) - 100px);
    max-width: 310px;
    height: auto;
    scroll-snap-align: start;
    aspect-ratio: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 6px;
}

@media screen and (min-width: 560px) {
    .destination-ex-updated .region-location-carousel .region-slide {
        flex: 0 0 calc((50% - 12px) - 75px);
    }
}

@media screen and (min-width: 850px) {
    .destination-ex-updated .region-location-carousel .region-slide {
        flex: 0 0 calc((33% - 12px) - 50px);
    }
}

.destination-ex-updated .region-slide-link {
    color: #ffffff;
    height: 100%;
    display: flex;
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}

.destination-ex-updated .region-slide-link .region-inner-content {
    width: 100%;
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url(https://solmarvillas-ccl.netlify.app/img/experiments/soma028/ico-chevron-white-right.svg);
}

.destination-ex-updated .region-slide-link .region-inner-content .region-title {
    color: #ffffff;
    font-family: Montserrat;
    font-size: 24px;
    font-weight: 500;
    line-height: 29.26px;
}

.destination-ex-updated .region-slide-link .region-inner-content .region-villa-count {
    color: #ffffff;
    font-family: Montserrat;
    font-size: 18px;
    font-weight: 400;
    line-height: 21.94px;
    margin-bottom: 0;
}


/* FAQ Accordian */


.destination-ex-updated .section-title.line-on-sides h2 span::before,
.destination-ex-updated .section-title.line-on-sides h2 span::after {
    background: inherit;
}

@media screen and (min-width: 1024px) {
    .destination-ex-updated .line-on-sides h2 span {
        font-size: 32px;
        line-height: 40px;
    }
}

.destination-ex-updated .page-section .tabs-content {
    border: none;
}

.destination-ex-updated .page-section .tabs {
    display: none;
}

.destination-ex-updated .destination-details {
    border-bottom: 1px solid #E0E0E0;
    padding: 0 16px;
}

.destination-ex-updated .destination-details[open] {
    background: var(--solmar-blue-5, #F5FAFD);
    border-bottom: 1px solid #9DCEEF;
}

.destination-ex-updated .destination-details>summary {
    list-style: none;
    background-image: url(https://solmarvillas-ccl.netlify.app/img/experiments/soma028/ico-chevron-blue-down.svg);
    background-repeat: no-repeat;
    background-position: right center;
    cursor: pointer;
    padding: 20px 60px 20px 0;
}

.destination-ex-updated .destination-details[open]>summary {
    background-image: url(https://solmarvillas-ccl.netlify.app/img/experiments/soma028/ico-chevron-blue-up.svg);
}

.destination-ex-updated .destination-details>summary h2 {
    margin: 0;
    font-size: 21px;
    font-weight: 600;
    line-height: 29px;
    text-align: left;
    color: #2C6596;
}

@media screen and (min-width: 1024px) {
    .destination-ex-updated .destination-details>summary h2 {
        font-size: 28px;
        line-height: 39.2px;
    }
}

.destination-ex-updated .destination-details .details-content {
    margin-right: 64px;
    margin-bottom: 32px;
}

.destination-ex-updated .page-section-regiontabs .page-section-inner,
.destination-ex-updated .page-section-destinationtabs .page-section-inner,
.destination-ex-updated .page-section-regiongrouptabs .page-section-inner {
    max-width: 900px;
}

button#intro-readmore {
    display: block;
    font-family: Montserrat;
    font-size: 17px;
    font-weight: 600;
    line-height: 30.6px;
    text-align: left;
    color: #333333;
    text-decoration: underline;
}

.truncate .truncated {
    display: none;
}

/* Updated hero banner */
 
@media screen and (min-width: 64em) {
    .destination-ex-updated #hero.hero-small {
        min-height: unset;
        padding-bottom: 100px;
    }
}
 
.destination-ex-updated #hero.hero-small .hero-inner {
    padding: 1rem 0;
    background: none;
    transition: padding-top 0.25s ease-out;
}
 
.destination-ex-updated.trans-main-menu.non-layout-edit-page:not(.solid-main-menu).not-path-frontpage .top-bar-wrapper {
    background: transparent;
}
 
.has-foreground-image .page-section-inner{
    position: relative;
    z-index: 1;
}
 
.destination-ex-updated article > .has-foreground-image::after
{
    content: "";
    display: inline-block;
    -webkit-mask-image: linear-gradient(to bottom,rgba(1, 57, 106,0.9),rgba(1, 57, 106,0));
    mask-image: linear-gradient(to bottom,rgba(1, 57, 106,0.9),rgba(1, 57, 106,0));
    background-color: rgba(1, 57, 106,1);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100px;
}
 
@media screen and (min-width: 40em) {
    .destination-ex-updated article > .has-foreground-image::after
     {
        height: 170px;
    }
}

@media print, screen and (max-width: 39.9988em) {
    .has-foreground-image .page-section-inner {
        position: absolute;
        z-index: 1;
        top: 0;
    }
}

@media print, screen and (min-width: 40em) {
    .destination-ex-updated.trans-main-menu.non-layout-edit-page:not(.solid-main-menu) #main-page-content {
        margin-top: -110px;
    }
}
 
@media only screen and (min-width: 1024px) and (max-width: 1168px) {
    .destination-ex-updated.trans-main-menu.non-layout-edit-page:not(.solid-main-menu) #main-page-content {
        margin-top: -182px;
    }
}
 

/* USP bar css */

.main-loader-wrapper p {
    font-size: 25px;
    line-height: 39px;
    color: #2c6596;
    font-weight: 500;
    margin-top: 40px;
    margin-bottom: 0;
}
 
.usp-message-wrapper {
    display: flex;
    background: rgba(59,156,223,.12);
    padding: 40px;
}
 
.usp-message-wrapper .usp-message {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
 
.usp-message-wrapper .usp-message:not(:last-child) {
    border-right: 2px solid rgb(44 101 150 / 40%);
    padding-right: 40px;
    margin-right: 40px;
}
 
.usp-message-wrapper.double-message {
    max-width: 700px;
    margin: 0 auto;
}
 
.usp-ico {
    max-width: 56px;
    flex-shrink: 0;
}
 
.usp-message .usp-title {
    font-size: 18px;
    color: #2c6596;
    text-transform: capitalize;
    font-weight: 600;
    margin-bottom: 6px;
}
 
.usp-message .usp-body p {
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
}
 
.usp-message-wrapper.single-message {
    padding: 30px 30px;
    min-height: 138px;
    align-items: center;
}
 
.usp-message-wrapper.single-message .usp-message {
    flex-direction: row;
    gap: 24px;
}
 
/* Why choose USP (homepage) */
 
.usp-message-wrapper.why-choose-msg {
    background: #FFF;
    border: 1px solid #dfdfdf;
    max-width: 100%;
    padding: 30px;
    margin: 0;
}
 
.usp-message-wrapper.why-choose-msg  .usp-message:not(:last-child){
    border-color: #dfdfdf;
}
 
/* Awards */
 
.why-choose-usp-wrapper {
    display: flex;
    gap: 24px;
}
 
.award-usp-wrapper {
    background: #FFF;
    border: 1px solid #dfdfdf;
    max-width: 100%;
    padding: 30px;
}
 
.award-usp-content {
    text-align: center;
}
 
.award-usp-wrapper .usp-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
 
.award-usp-ico {
    max-width: 156px;
}
 
.award-title-sm {
    text-align: center;
    margin-bottom: 20px;
    color: #2c6596;
    display: none;
}
 
/* Featured section */
 
.featured-logos-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: #FFF;
    border: 1px solid #dfdfdf;
    max-width: 100%;
}
 
.featured-logos-wrapper .featured-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
}
 
.featured-logos-wrapper .featured-logo svg, .featured-logos-wrapper .featured-logo img {
    max-width: 100px;
}

.booking-customise .usp-message-wrapper {
    margin-bottom: 24px;
}
 
@media screen and (min-width: 992px){
    .award-box{
        display: flex;
        width: 100%;
        max-width: 320px;
    }    
}
  
@media screen and (max-width: 991px){
    .why-choose-usp-wrapper{
        flex-direction: column;
    } 
    .award-title-sm {
        display: block;
    }
}
 
@media screen and (max-width: 767px){
    .featured-logos-wrapper {
        grid-template-columns: repeat(4, 1fr);
    }
}
 
@media screen and (max-width: 639px){
   .usp-message-wrapper.double-message {
        flex-direction: column;
    } 
    .usp-message-wrapper {
        padding: 24px;
    }
    .usp-message-wrapper.double-message .usp-message{
        gap: 10px;
    }
    .usp-message-wrapper .usp-message:not(:last-child) {
        padding-bottom: 20px;
        margin-bottom: 20px;
        border-bottom: 2px solid rgb(44 101 150 / 40%);
        border-right: 0;
        padding-right: 0;
        margin-right: 0;
    }
    .usp-ico {
        max-width: 48px
    }
    
    .usp-message .usp-title {
        font-size: 16px;
    }
    
    .usp-message .usp-body p {
        font-size: 12px;
    }
    .usp-message-wrapper.single-message {
        padding: 24px;
    }
}
 
@media screen and (max-width: 576px){
    .featured-logos-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    .featured-logos-wrapper .featured-logo{
        padding: 10px;
    }
}
