/* — Foodies Intro — */
.foodies-intro .flexbox {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 4rem;
  text-align: left;
}
.foodies-intro .flexbox .flex-item {
  flex: 1;
}

.foodies-intro label {
  display: block;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #333;
  font-family: 'Rework Display', sans-serif;
  font-size: 18px;
}

.foodies-intro h2 {
  margin: 0;
  padding: 0.5rem 1rem;
  display: inline-block;
}

.foodies-intro p.lead {
  margin: 0;
  line-height: 1.6;
  text-align: left;
}

.foodies-intro .block__description{
    width: 65%;
    margin: 0 auto 30px;
    font-size:18px;
}

/* - Filters - */
.foodies-intro h5{
    margin-bottom:0;
}
.foodies-intro .accommodation-sliderfilter__tabs{
    margin-top: 30px;
}
/* — Foodies Blocks — */
.foodies-blocks .row {
  display: flex;
  align-items: flex-start !important;
  margin-bottom:0;
}
.foodies-blocks .row:nth-child(even){
    flex-direction: row-reverse;
}
.foodies-blocks .col-md-6 {
  flex: 0 0 50%;
  max-width: 50%;
  position: relative;
}

/* alternating layouts */
.foodies-blocks .row {
  display: flex;
  flex-direction: row;
}
.foodies-blocks .row.reverse {
  flex-direction: row;
}

.foodies-blocks .row:nth-child(5n+1) .second-image {
  position: absolute;
  width: 50%;
  bottom: -25%;
  left: -15%;
}
.foodies-blocks .row:nth-child(5n+3) .second-image {
  position: absolute;
  width: 50%;
  top: -35%;
  left: 50%;
  transform: translateX(-50%);
}

.foodies-blocks .text-container {
  padding: 0 5rem !important;
}

.foodies-block .gridfilter__item{
    display:block;
}

.foodies-block .gridfilter__iteom-description{
    height: 100px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 1200px){
  .foodies-blocks .row:nth-child(5n+3){
    margin-top: 5rem;
  }
}

/* — Mobile (≤767px) — */
@media (max-width: 767px) {
  .foodies-intro {
    flex-direction: column;e
    text-align: center;
  }
  .foodies-intro h2 {
    margin-bottom: 1.5rem;
  }
  .foodies-intro p.lead {
    margin-top: 1.5rem;
  }
  .foodies-intro .select-wrapper {
    max-width: 100%;
    margin-bottom: 1.5rem;
  }
  .foodies-intro .select-wrapper select {
    padding: 0.75rem 2rem 0.75rem 1rem;
  }

  .foodies-blocks .row {
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .foodies-blocks .col-md-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 3rem;
  }
  .foodies-blocks .col-md-6 img {
    display: block;
    width: 100%;
    height: auto;
  }
  .foodies-blocks .image-container .second-image {
    display: none;
  }
}

.restaurant-detail-page .calendar-gallery__info .block__sub-title {
  margin-top: 0;
}

.gridfilter__item-description{
    min-height:70px;
}

/* — Wedding Options — */
.no-heading {
  margin-top:0 !important;
}
.weddingOptions__wrap.no-heading {
  padding-top: 0 !important;
}
.divider.wedding {
  display: none;
}

.wedding-options-block {
  padding: 80px 15px;
}
.wedding-options-block .row {
  display: flex;
  flex-wrap: wrap;
  align-items: top;
  margin: 0 -15px;
}
.wedding-options-block .col-md-6 {
  padding: 0 2rem;
}
@media (max-width: 767px) {
  .wedding-options-block .col-md-6:first-child {
    margin-top: 30px;
  }
  .weddingOptions__one .weddingOptions__parallax-image{
      display: none;
  }
  .weddingOptions__one .weddingOptions__image{
      width: 100%;
      margin: 50px 0 0;
  }
}
.wedding-options-block h2 {
  line-height: 1.2;
  margin-bottom: 24px;
}
.wedding-options-block .description p {
  line-height: 1.75;
}
.wedding-options-block img.img-fluid {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.wedding-options-block .badgeContainer{
    position:relative;
    z-index: 1;
}

.wedding-options-block .badgeContainer .divider__logo.weddingBadge{
    width: auto;
    background-color: transparent;
}

/* — Wedding Packages — */
.wedding-packages-section {
  padding: 80px 15px;
}
.wedding-packages-section:nth-child(even) {
  background-color: #BA8C66;
}
.wedding-packages-section .row.align-items-start {
  display: flex;
  flex-wrap: wrap;
}
.wedding-packages-section .col-md-6 {
  padding: 0 15px;
}
.weddingCelebration__slide-image {
    padding-top: 135%;
}
@media (min-width: 768px) {
  .wedding-packages-section .col-md-6:first-child,
  .wedding-packages-section .col-md-6:last-child {
    flex: 0 0 50%;
  }
}
@media (max-width: 767px) {
  .wedding-packages-section .col-md-6:first-child {
    margin-bottom: 32px;
  }
  .wedding-packages-section .col-6 {
    width: 100%;
  }
}
.wedding-packages-section ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wedding-packages-section ul li {
  margin-bottom: 12px;
  padding-left: 20px;
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 18px;
}

.wedding-packages-section .factsheet{
    display:flex;
    align-items:center;
}
.wedding-packages-section .factsheet .title{
    margin-right:50px;
}

.wedding-packages-section .factsheet .btn{
    width:275px;
}

.wedding-packages-section .factsheet-with-image{
    margin-top:50px;
}

.wedding-packages-section .factsheet-with-image .title{
    margin-bottom: 20px;
}

.wedding-packages-section .factsheet-with-image a{
    width:275px;
}

.wedding-packages-section .enquire-cta{
    margin:80px 0 50px;
}
.wedding-packages-section .enquire-cta a{
    width: 100%;
    max-width: 350px;
}

.weddingCelebration__slide-title{
    font-size: 18px;
}

/* outline button */
.btn-outline {
  display: inline-block;
  padding: 10px 30px;
  border: 1px solid;
  border-radius: 30px;
  text-transform: uppercase;
  text-decoration: none;
}

/* two-column media gallery gutters */
.wedding-packages-section .row.g-3 {
  margin: 0 -8px;
}
.wedding-packages-section .row.g-3 > div {
  padding: 8px;
}
.wedding-packages-section img.img-fluid {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.wedding-heading {
  margin-bottom:100px;
}
.wedding-packages-section .content-slider__image {
  padding-top:143% !important;
}
.wedding-packages-section img {
  width: 100%;
}
.wedding-packages-section .content-slider__wrap {
  padding: 0 !important;
}

.experiencespage .contact-form__section{
    background-color: #BA8C66;
}

/* Utility & layout helpers */
.row.align-items-stretch {
  align-items: stretch;
}
.facilities-block .accommodation__slide-button .btn {
  max-width:200px;
}
.resort-highlights__list-image img{
    width: 50px;
}

.accommodation-gallery__info, .calendar-gallery__info{
    justify-content: space-evenly;
}

/* Reworking Font sizes */
@media (min-width: 768px) {
  h1, .h1 {
    font-size: 4rem !important;
  }
  h2, .h2 {
    font-size: 3rem !important;
  }
  h3, .h3 {
    font-size: 2.25rem !important;
  }
  h4, .h4 {
    font-size: 2rem !important;
  }
  h5, .h5 {
    font-size: 1rem !important;
  }
  .offers__slide-title h5 {
    font-size: 1.5rem !important;
  }
  .rewarded__list li {
    font-size: 1.5rem !important;
  }
  .custom__list li {
    font-size: 1rem !important;
  }
  .content__description.font-20 {
    font-size: 1rem !important;
  }
}

/* Spa Wellness Block */
.spa-wellness-block .row {
  margin-bottom:100px;
}
.spa-wellness-block .accordion-header {
  margin:15px 0 25px;
  font-style:italic;
  position:relative;
  border-bottom:1px solid black;
  cursor:pointer;
}
.spa-wellness-block .accordion-header:after {
  border-left: none;
  border-right: 2px solid;
  border-top: 2px solid;
  content: '';
  color: #211E2B;
  pointer-events: none;
  position: absolute;
  right: 7px;
  top: -3px;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  height: 12px;
  width: 12px;
}
.spa-wellness-block .accordion-panel {
  height: 0;
}
.spa-wellness-block .flexbox {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 4rem;
  text-align: left;
}
.spa-wellness-block .flexbox .flex-item {
  flex: 1;
}
.spa-wellness-block .flexbox:nth-child(even) {
  flex-direction: row-reverse;
}

.resort-luxury .divider__logo.weddingBadge{
    position:absolute;
    z-index: 1;
    background:transparent;
    display: flex;
    width: 100%;
    top:1%;
    left:15%;
}

.weddingOptions__section .weddingBadge{
    z-index: 1;
    position:relative;
    background-color: transparent;
    top: -15px;
}

@media (max-width: 992px) {
    .resort-luxury .divider__logo.weddingBadge{
        top:12%;
    }
}

@media (max-width: 767px){
    .resort-luxury .divider__logo.weddingBadge{
        top:8%;
    }
}

.weddingOptions__content {
    margin-top: 0 !important;
}
.weddingOptions__wrap {
    padding: 0 !important;
    padding-bottom:100px !important;
}

/* Upcoming Events */
.upcoming-events__wrap {
  padding-top: 0 !important;
}
.upcoming-events__wrap .gridfilter__item-datee,
.calendar-event__slide-date {
  font:11px "Rework Display", sans-serif;
  text-transform:uppercase;
  color: #7E7E7E;
}
.upcoming-events__wrap .gridfilter__item-title,
.calendar-event__slide-title {
  font-size: 20px;
}
.upcoming-events__wrap .gridfilter__item-description p {
  font-size:14px;
}
.upcoming-events__wrap .gridfilter__item-button a {
  font-size:11px;
}
.calendar-gallery__info .block__sub-title {
  font-size: 14px;
  margin-top: 80px;
}

.upcoming-events__wrap .gridfilter__item-description{
    display:block;
}

/* Filter Button Group */
.filter-button-group {
  list-style: none;
  margin: 30px 0 1rem;
  padding: 0;
  display: flex;
  gap: .5rem;
  justify-content:center;
  flex-wrap: wrap;
}
.filter-button-group li button {
  border: 1px solid #000;
  background: transparent;
  padding: .5rem 1rem;
  cursor: pointer;
}
.filter-button-group li button.active {
  background: #000;
  color: #fff;
  border-color: #000;
}

/* Grid Items */
.contentpage .grid{
    margin-bottom:100px;
}
.grid-item {
  margin: 5px 0;
  width: calc(97% / 4);
}
@media (max-width:1023px){
  .grid-item {
    width: calc((94% / 3) - 8px);
  }
}
@media (max-width:640px){
  .grid-item {
    width: 100%;
  }
}
.grid-item img {
  width: 100%;
}

/* TWEAKS */
.static-search__button{
    cursor:pointer;
}
.static-search__button:hover #checkAvailability{
    background:#000;
    color:#EFEAE1;
}

.resortpage .intro__content .h2:not(:last-child){
    margin-bottom:50px;
}

/* Booking Widget */
.static-search__select-list>ul, 
.static-search__datepicker-dropdown{
    border:none;
    background-color: #EFEAE1;
    /*background-color:rgba(239, 234, 225, 0.8);*/
    /*background-color: rgba(247, 245, 240, 1) ;*/
}

.daterangepicker, 
.daterangepicker .calendar-table, 
.daterangepicker td.off, 
.daterangepicker td.off.end-date, 
.daterangepicker td.off.in-range, 
.daterangepicker td.off.start-date{
    background-color: transparent;
    border:none;
}

.static-search__select-list>ul{
    max-height:230px;
}

.static-search__guests .static-search__select{
    position:relative;
    cursor:pointer;
}

.static-search__guests .static-search__select::after{
    content:"";
    border-right: 2px solid;
    border-top: 2px solid;
    cursor: pointer;
    color: #211E2B;
    pointer-events: none;
    position: absolute;
    right: 7px;
    top: -3px;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    height: 18px;
    width: 18px;
}

.static-search__guests .static-search__select input{
    cursor:pointer;
}

.static-search__form input, .static-search__form select, .static-search__select-option{
    font-size: 14px;
}

@media (max-width: 1399.98px) {
    .static-search__datepicker-dropdown {
        left: 0;
    }
}

.static-search__form .static-search__datepicker, .static-search__form .static-search__destination{
    flex: 1 1 18%;
}

.static-search__form .static-search__guests{
    max-width:initial;
}

#hiddenGuest{
    display:none;
}

#guestsDropdown{
    display: none;
    position: absolute;
    background-color: #EFEAE1;
    /*background-color:rgba(239, 234, 225, 0.8);*/
    /*background-color: rgba(247, 245, 240, 1) ;*/
    padding: 1rem;
    z-index: 1000;
    width: 510px;
    margin-top: 1rem;
}

.guests-dropdown-wrapper {
    position: relative;
    display: inline-block;
}

#guestsDropdown .room-section {
    margin-bottom: 1rem;
    background-color: #E3DACB;
    /*background-color: rgba(227, 218, 203, 1);*/
    padding:1rem;
    position:relative;
}

#guestsDropdown .room-section .remove-room{
    position:absolute;
    top: 0;
    right: 2%;
    cursor:pointer;
}

#guestsDropdown .room-section:first-child .remove-room{
    display: none;
}

#guestsDropdown .room-section:last-child {
    margin-bottom: 0;
}

#guestsDropdown .room-section h6 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 15px;
}

#guestsDropdown .room-section .d-flex > p {
    flex: 1;
    margin: 0;
    font-size: 0.875rem;
    text-transform: uppercase;
}

#guestsDropdown .incrementors .btn{
    border-radius:0;
    border: 1px solid #CCC;
    background-color: #FFF;
    padding: 7px 9px;
    text-align: center;
    width: 29px;
}

#guestsDropdown #addRoomBtn {
    display: inline-block;
    font-size: 15px;
    text-decoration: underline;
    padding: 0;
    margin-bottom: 1rem;
    background: none;
    border: none;
    color: #000;
    text-transform: uppercase;
}

#guestsDropdown .total-values{
    justify-content: end;
}

#guestsDropdown #summaryText {
    font-size: 0.875rem;
    text-transform: uppercase;
    margin-right: 10px;
}

#updateRoomsBtn {
    border-radius: 20px;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    background-color: transparent;
    border: 1px solid #333;
    color: #000;
    /*position:absolute;*/
    /*left:-99999999px;*/
}

.static-search__form {
    flex-wrap: nowrap;
    column-gap: 30px;
  }
  
/* Static Search Form (≤1399.98px) */
@media (max-width: 1399.98px) {
  .static-search__form {
    flex-wrap: nowrap;
    column-gap: 30px;
  }
  .static-search__form > * {
    flex: 0 0 calc(92% / 4);
  }
  .static-search__guests {
    flex: 0 0 calc(90% / 4);
  }
  .static-search__button button {
    font-size:12px;
  }
  .static-search__select-option::after, .static-search__datepicker-input::after {
    height: 18px;
    width: 18px;
  }
}
@media (max-width: 1201px){
    .static-search__section .container{
        max-width: 96%;
    }
    .static-search__form input, .static-search__form select, .static-search__select-option {
        font-size: 13px;
    }
}
@media (max-width: 1023px){
    .static-search__form{
        flex-wrap:wrap;
    }
    .static-search__form > * {
        flex: 0 0 calc(35%);
    }
}
@media (max-width: 767px){
    .static-search__form{
        flex-wrap:wrap;
    }
    .static-search__form > * {
        flex: 0 0 calc(100%) !important;
    }
    #guestsDropdown{
        width: calc(100% - 24px);
    }
}
.static-search__form label {
  font-size:12px;
}

.resort-lifestyle .breadcrumbs__section{
    background-color: #D6F4F2;
}

.resort-prive .breadcrumbs__section{
        background-color: #D3F4E2;
}

/* INTRO */
.homepage .intro__wrap, .resortpage .intro__wrap {
    padding-top: 200px;
    padding-bottom: 200px;
}

@media (min-width: 1200px) and (max-width: 1679.98px) {
    .homepage .intro__wrap, .resortpage .intro__wrap {
        padding-top: 150px;
        padding-bottom: 150px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .homepage .intro__wrap, .resortpage .intro__wrap {
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

/*  Destination Info */
.brandSignature__section .brandSignature__wrap{
    padding-top: 150px;
    padding-bottom: 150px;
}

.spacing-block{
    margin-bottom:100px;
}

.destinationpage .weddingOptions__image{
    margin: 0 10%;
}

/* Destination useful information */
@media (min-width: 1200px) and (max-width: 1679.98px) {
    .usefulInformation__accordion-button {
        font-size: 18px;
    }
}

@media (max-width: 820px){
    .destinationpage .weddingOptions__one .weddingOptions__image{
        margin: 50px 0 0 20%;
    }
    
    .destinationpage .weddingOptions__two .weddingOptions__image{
        margin-top: 10%;
    }
    
    .resort-luxury .divider__logo.weddingBadge{
        top: 5%;
    }
}

@media (max-width: 767px){
    .destinationpage .weddingOptions__one .weddingOptions__image{
        margin: 30px 0;
    }
    
    .destinationpage .weddingOptions__two .weddingOptions__image{
        margin-left: 0;
        width: 100%;
    }
    
    .resort-luxury .divider__logo.weddingBadge{
        left: 10%;
    }
    
    .destinationpage .weddingOptions_wrap{
        overflow:hidden;
    }
}

/* Container */
@media (min-width: 1680px) {
    .container {
        max-width: calc(1440px + var(--bs-gutter-x));
    }
}

/* Offers Detail page*/
.offers-spacing{
    padding-top: 140px;
    padding-bottom: 140px;
}
.offersDetail .weddingOptions__content{
    padding-bottom: 140px;
    margin-bottom:100px;
}
.offersDetail .weddingOptions__info{
    padding-right:12%;
}
.offersDetail .weddingOptions__one .weddingOptions__description{
    margin-bottom:40px;
}
.offers-intro__detail-button a{
    width: 275px;
}
.offersDetail .calendar-gallery__info{
    padding-left: 10%;
}
.offersDetail .calendar-gallery__slide-link:before{
    display: none;
}
.offerdetailspage #mainContent{
    display:flex;
    flex-direction:column;
}
.offerdetailspage #mainContent .offers__section{
    order:4;
}
.offerdetailspage #mainContent .offers__section .block__description{
    display: none;
}
.offerdetailspage #mainContent .offers__wrap{
    padding-top:30px !important;
}
.offerdetailspage .offers-intro__detail-button{
    margin: 0 10%;
}
@media (min-width:768px) and (max-width:1023px){
    .offersDetail .weddingOptions__info{
        padding-right:0;
    }
    .offersDetail .calendar-gallery__info{
        padding-left: 0;
    }
    .offerIncludes{
        flex-direction:column-reverse;
    }
    .offerdetailspage .offers-intro__detail-button{
        margin:0 0 5%;
    }
    .offersDetail .weddingOptions__content{
        padding-bottom: 50px;
        margin-bottom: 0;
    }
}
@media (max-width:767px){
    .offersDetail .weddingOptions__content{
        margin-bottom: 50px;
        padding-bottom: 0;
    }
    .offersDetail .weddingOptions__info{
        padding-top: 30px;
        padding-right:0;
    }
    .offerIncludes{
        flex-direction:column-reverse;
    }
    .offersDetail .calendar-gallery__info{
        padding-left: 0;
        margin-top: 0;
    }
    .offerdetailspage .offers-intro__detail-button{
        margin:0;
    }
    .calendar-gallery__info .calendar-gallery__title-wrap{
        margin-top: 30px;
    }
}

/* Experiences */
.accommodation__slide-content p:empty {
    display: none;
}

.experiencespage .accommodation__slide-title{
    font-size: 3rem !important;
}

.experiencespage .no-carrousel_spacing{
    max-width: 100% !important;
    padding: 0;
    margin: 0;
}

.experiences__slide-image{
    position:relative;
}

.experiences_description{
    opacity: 0;
    position:absolute;
    bottom:0;
    background-color: rgba(227, 218, 203, 0.8);
    padding:15%;
    top:0;
    display: flex;
    align-items:center;
    transition: 1s ease;
}

.experiences__slide:hover .experiences_description, .experiences__slide a:focus .experiences_description{
    opacity: 1;
    color:black;
}

/* Mobile */
@media (max-width:767px){
    .umbraco-forms-field .field-validation-error{
        position:initial;
    }
    .experiences__slide-title{
        font-size: 15px;
    }
    .font-18 {
        font-size: 18px;
    }
    .rewarded__list li{
        font-size: 16px;
    }
}

/* Breadcrumbs */
.breadcrumbs__section:not(:first-child) {
    padding: 30px 0 !important;
}

/* Main page Logo */
@media (min-width: 1200px) and (max-width: 1679.98px){
    .header__logo .logo__large svg{
        width: 425px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px){
    .header__logo .logo__large svg{
        width: 285px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px){
    .header__logo .logo__large svg{
        width: 245px;
    }
}

/* Footer */
.footer__menu-column ul li a, .footer .subscribe__newsletter p, .footer .subscribe__membership p{
    font-size: 14px;
}
@media (min-width: 769px){
    .footer .subscribe__newsletter p{
        width: 50%;
    }
}

/* Video Poster Image */
.slider__video iframe {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    height: 100%;
    width: 100%;
    min-width: 1920px;
}

.slider__video iframe{
    z-index: 2;
}

.slider__video .poster-image{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    transition:none;
}

.slider__video .poster-image img{
    width: auto;
    height:100%;
}

.slider__content{
    z-index: 3;
}

.rewarded__stamp{
    width: 150px;
}

.btn-hover-brown:hover {
   color: #fff;
   background-color: #ba8c66;
   border-color: #ba8c66;
}

.btn-outline-navy-blue:hover, .btn-outline-black:hover{
    color:#ffffff;
    background-color:#000000;
    border-color:#000000;
}

.font-16.tabbed__description{
    font-size: 16px !important;
}

/* Blog and Press */
.blogpage .gridfilter__item{
    background: transparent;
}

.blogpage .gridfilter__items{
    column-gap: 35px;
}

.blogpage .gridfilter__item-content{
    padding-left: 0;
    padding-right: 0;
}

.blogpage .gridfilter__item-title{
    text-transform: lowercase;
}

.blogpage .gridfilter__item-title:first-letter{
    text-transform: uppercase;
}

.blogdetailspage .press{
    width: 80%;
    margin: auto;
}

.blogdetailspage .press .intro__description {
    margin: 50px 0;
}

.blogdetailspage .press .intro__description p{
    margin: 50px 0;
}